Android Studio/base_Project 8

Android 녹음기 만들기 [2/3] (기능 구현)

1. 녹음 기능 구현 private var recorder: MediaRecorder? = null private fun onRecord(start: Boolean) = if (start) { startRecording() } else { stopRecording() } 1-1) start와 stop으로 나눠주었다. private fun startRecording() { state = State.RECORDING recorder = MediaRecorder(this).apply { setAudioSource(MediaRecorder.AudioSource.MIC) //마이크 setOutputFormat(MediaRecorder.OutputFormat.THREE_GPP) //저장 방식 (3GPP:기본 원시 ..

Android 녹음기 만들기 [1/3] (UI / 권한설정)

사용 기능 MediaPlayer Permissions 1. xml 1) 시간을 나타내는 TextView 2) 녹음 파형을 나타내는 View 3) 재생 / 녹음 / 멈춤 버튼으로 사용할 ImageView 3개 더보기 2. 권한 설정*** android permission을 검색하면 제일 먼저 공식 문서가 나타난다. 런타임 권한 요청 | Android Developers 이 페이지는 Cloud Translation API를 통해 번역되었습니다. 런타임 권한 요청 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 모든 Android 앱은 액세스가 제한된 샌 developer.android.com 여기서 권한 요청 코드 직접 관리를 보면 된다. 시스템이 권한 요청 코드를 관리하도록 ..

[기본] 갤럭시 스톱워치 클론코딩 (2/3 기능구현)

먼저 뷰바인딩은 해주고 시작 더보기 viewBinding{ enable = true } 기능 구현 시작! 1. Button 먼저 버튼 보여지는 방식을 단순하게 만들었다. binding.startButton.setOnClickListener{ // 구간기록, 중지 start() binding.startButton.isVisible = false binding.continueButton.isVisible = false binding.pauseButton.isVisible = true binding.clearButton.isVisible = false binding.lapButton.isVisible = true } 시작 버튼을 누르면 구간기록과 중지 버튼이 보이도록 isVisible을 사용하였다. 나머지도 ..

[기본] 갤럭시 스톱워치 클론코딩 (1/3 분석단계 및 UI )

1. 기본 스톱워치 분석 구성 1개의 Activity로 구현 TextView1(분 : 초 . 00), Button 2개(floatingActionButton으로 진행), TextView2(구간기록) 기존화면 시작-> 시작->중지-> 시작->구간기록-> 시작->중지->초기화-> 버튼 분석 총 5개 버튼 초기화면 구간기록 / 시작 시작-> 구간기록 / 중지 시간 시작 중지-> 초기화 / 계속 시간 정지 상태 구간기록-> 구간기록 / 중지 버튼누른 순간의 시간 기록 초기화-> 1) 반복 clear 2. UI 따라그리기

[기본] 안드로이드 계산기 클론 코딩 (2/2) 완료X

예외 처리 1) 큰 숫자 연산에서 NumberFormatException이 났다. 해결- 입력받는 숫자를 bigDecimal()로 변경 참고 2) 0을 먼저 입력 후 숫자를 누르면 01 이런식으로 코드가 작성됨 해결 (text를 업데이트 해주는 부분에 조건문 걸기 val firstFormattedNumber = if(firstNumberText.isNotEmpty()) decimalFormat.format(firstNumberText.toString().toBigDecimal()) else "" val secondFormattedNumber = if(secondNumberText.isNotEmpty()) decimalFormat.format(secondNumberText.toString().toBigDe..

[기본] 개인 정보 등록 앱 구현하기 (2/2)

1. 데이터 저장 1-1) 단순하게 데이터를 저장하려고 알아보다가 SharedPreferences로 저장하기로 한다. SharedPreferences로 단순 데이터 저장하기 | Android 개발자 | Android Developers DataStore는 로컬 데이터를 저장하는 최신 방법을 제공합니다. SharedPreferences 대신 DataStore를 사용해야 합니다. 자세한 내용은 DataStore 가이드를 참고하세요. SharedPreferences로 단순 데이터 저장하기 컬 developer.android.com 공식문서를 보면 - 키-값이 비교적 적을 경우 SharedPreferences API를 사용할 수 있다고 한다. 나머지는 공식문서를 통해 보고 앞에 editer가 계속 쓰이기때문에 ..

[기본] 개인 정보 등록 앱 구현하기 (1/2)

메인화면 정보 작성 화면 밑에 FloatingActionButton을 누르면 정보 작성 화면으로 넘어간 뒤 정보를 작성하고 +버튼을 누르면 입력된 정보를 저장 / 화면에 표시 1. layout 너무 길어져서 코드 생략 TextView, EditText, ImageView, GuideLine, RadioGruop, RadioButton, Spinner 사용 (github 링크 걸어둘 예정) 2. viewbinding 기본 설정 // MainActivity.kt ... class MainActivity : AppCompatActivity() { private lateinit var binding: ActivityMainBinding override fun onCreate(savedInstanceState: ..