본문 바로가기

Stick Code15

[Kotlin][Android] Data Bindng을 이용한 계산기 어플 만들기 안녕하세요. 예전에 자바를 이용해서 계산기를 만들어 봤는데요. 이번에는 코틀린으로 구현해보도록 하겠습니다. 이번 예제에서는 특히 화면에 View들이 많이 들어가는데요. 일일이 findVidwID를 통해서 각 View를 접근하기에는 너무 힘들고 귀찮은 작업입니다. 그래서 이번에는 Data Binding을 사용해서 현재 Activity와 연결되어 있는 .xml 파일의 View에 접근해보도록 하겠습니다. Data Binding은 Jetpack의 구성요소 중 하나입니다. 제트팩은 2018년 구글 IO 행사에서 발표된 안드로이드 앱 개발 패키지 묶음입니다. 데이터 바인딩은 이름 그대로 액티비티나 프래그먼트의 데이터를 화면에 출력하는 부분을 도와주는 AAC 기법입니다. Data Binding이 무엇인지 안드로이드 .. 2021. 6. 20.
[Kotlin][Android] 스톱워치 만들기 안녕하세요. 이번에는 코틀린을 통해 스톱워치를 구현 해보도록 하겠습니다. 우선 만들고자 하는 화면을 그려보도록 하겠습니다. 화면구성은 다음과 같습니다. 스톱워치를 컨트롤 할 수 있는 시작과 초기화 버튼과 각 기록을 화면에 표시하는 기록하기 버튼 그리고 각 시간을 보여주는 TextView를 준비해둡니다. 이제 이를 어떻게 구현하는지 알아보도록 하겠습니다. 우선 타이머, 스톱워치 등을 구현하기 위해서는 'Thread'라는 녀석을 알아야 합니다. Thread란 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미합니다. 즉 시간초를 세어주는 작업을 메인스레드(UI스레드)가 아닌 다른 스레드(워크 스레드, 백그라운드 스레드)로 동작시켜야 합니다. 또한 여기서 생각을 하셔야 하는게 백그라운드 스레드.. 2021. 6. 7.
[Kotlin][Android] 안드로이드 다국어 지원 여러 국가를 대상으로 하는 앱을 만들떄, 해당 국가의 언어에 맞게 여러 언어를 제공해줘야 할 필요가 있습니다. 이번 예제에서는 어떻게 다국어를 지원해줄 수 있는지 알아보도록 하겠습니다. 여러 나라에세 서비스를 출시 할려면, 해당 나라가 쓰는 언어들을 지원해 줘야 합니다. 이번 시간에는 kotlin으로 앱 내에서 언어 설정을 변경하는 방법을 알아보도록 하겠습니다. 저번 자바에서 사용했던 화면을 그대로 사용하겠습니다. (자바로 언어 설정을 바꾸는 방법은 이 포스팅을 참고해주세요.) activity_translation.xml 화면 구성은 라디오 버튼과 바뀐 언어를 표시할 TextView로 이루어져 있습니다. 한글 버튼을 클릭시 '샘플 문장'이 보일 것이며 영어 버튼을 클릭하면 'Sample Sentence'.. 2021. 5. 27.
[Kotlin][Android] Alert Dialog 다이얼로그 띄우기 안녕하세요. 이번 시간에는 Dialog를 띄워보도록 하겠습니다. 우선 Dialog가 무엇인지 알아봅시다. 안드로이드 개발자라면 당연히 안드로이드 개발자 사이트에서 봐야겠지요? developer.android.com/guide/topics/ui/dialogs 대화상자 | Android 개발자 | Android Developers 대화상자는 사용자에게 결정을 내리거나 추가 정보를 입력하라는 메시지를 표시하는 작은 창입니다. 대화상자는 화면을 가득 채우지 않으며 보통은 사용자가 다음으로 계속 진행하기 전에 조 developer.android.com 안드로이드 개발자 문서에서 설명하는 Dialog는 다음과 같습니다. A dialog is a small window that prompts the user to m.. 2021. 5. 12.
[Java][Android] Chip EditText 만들기 안녕하세요. 이번에는 Chip을 추가하는 프로젝트를 만들고자 합니다. Chip이란 소형 요소로 속성, 텍스트 등을 나타내는데 사용합니다. 사용자가 정보를 입력, 항목을 선택, 필터링 할 때 사용됩니다. Chip 종류에는 Input 타입, Choice 타입, Filter 타입, Action .타입이 있으며 활용되는 용도로는 아래와 같이 사용하실 수 있습니다. Material Design 공식 사이트에서는 Chip을 크게 4개의 부분으로 나누어 설명하고 있습니다. Container : Chip 모든 요소를 포함하고 있으며, 크기는 요소에 의해 결정 Thumbnail(Optional) : 로고나 아이콘을 보여줌으로써 텍스트의 의미를 보충해주는 역할을 합니다. 필수로 넣어야 하는 것이 아닌 선택입니다. Text.. 2021. 4. 27.
[Java][Android] 마이크 녹음(record) 기능 구현하기 오늘은 휴대폰 마이크를 이용하여 목소리를 녹음하고 녹음한 것을 재생해보는 예제를 만들어보겠습니다. 개발 순서 1. 화면 구성하기 1) 이미지 파일 준비하기 2) 메인화면 (MainActivity.xml) 3) ItemView (itemview.xml) 2.java class 구현 1) 리사이클러뷰 어댑터 (AudioAdapter.java) 2) 오디오 권한 추가(Manifest.xml) 3) 녹음 & 오디오 재생 화면(MainActivity.java) 1. 화면 구성하기 1-1. 이미지 파일 준비하기 녹음과 관련된 아이콘은 안드로이드 스튜디오에 있는 아이콘으로 사용하겠습니다. 1-2) 메인화면 (MainActivity.xml) 녹음 화면을 만들어보겠습니다. 녹음 화면 구성 1. 녹음 영역 2. 녹음된 내.. 2021. 4. 4.