본문 바로가기

코틀린41

[Kotlin][Android] LiveData 사용 방법 오늘은 Android JetPack 중 하나인 LiveData에 대해 알아보도록 하겠습니다. Live Data 라이브 데이터는 LifeCycle을 인식할 수 있는 관찰가능한 데이터 홀더 클래스입니다. 라이프 사이클을 인식할 수 있다는 것은 수명 주기를 고려한 다는 의미입니다. 생명주기가 Started, Resume 상태이면 LiveData는 관찰자를 활성화 상태로 인식합니다. LifeCycle이 Destroyed가 되면 관찰자를 삭제할 수 있습니다. https://developer.android.com/topic/libraries/architecture/livedata?hl=ko LiveData 개요 | Android 개발자 | Android Developers LiveData를 사용하여 수명 주기를 인.. 2021. 8. 11.
[Kotlin][Android] 핸드폰 기기 단말 정보 가져오기 안녕하세요. 핸드폰 기기정보가 필요한 경우는 실제 서비스를 고려할 때 종종 있습니다. 안드로이드 Q 버전부터는 더 이상 '사용자가 재설정할 수 없는' 디바이스 식별자를 제공하지 않습니다. 타깃 SDK 버전과 관계없이 DeviceID, IMEI, MEID, Build.Serial 등의 값을 사용할 수 없습니다. 만일 이러한 디바이스 식별자를 사용하고 있다면, 다른 방법으로 전환해야 합니다. 디바이스 식별자를 사용하고 있는 방식에 따라 마이그레이션 작업에 많은 시간이 소요될 수 있기 때문에 주의가 필요합니다. 안드로이드 플랫폼에는 고유 식별자로 사용할 수 있는 값이 여럿 있습니다. 자세한 사항은 아래 문서를 참고하시면 좋을 거 같습니다. https://developer.android.com/training/.. 2021. 8. 2.
[Kotlin][Android] 수평 측정기 앱을 만들어 보자 안녕하세요 '~' / 오늘은 스틱 코드와 안드로이드 센서를 이용해서 아래와 같은 순서로 수평 측정기를 만들어 보겠습니다. 1. 수평을 측정하는 화면 구현 2. 수평을 측정하는 기능 구현 3. 테스트 스틱코드? https://stickode.com/mainlogin.html STICKODE stickode.com 1. 수평 측정 화면 구현 ▶ 수평 측정을 시각적으로 보여주는 뷰를 만들기 위해 TiltView.kt라는 코틀린 클래스 파일을 만들어줍니다. # TiltView.kt 전체 코드 package com.example.accelerometersensor import android.content.Context import android.graphics.Canvas import android.graphic.. 2021. 7. 16.
[Kotlin][Android] ExoPlayer를 사용하여 영상 플레이어 만들기 ExoPlayer 라이브러리를 사용하여 영상 플레이어를 만들어보겠습니다. ExoPlayer 란? 오디오 및 비디오 관련 작업을 처리하는 Google에서 제공하는 라이브러리입니다. 참고) https://exoplayer.dev/hello-world.html 라이브러리 추가 먼저, build.gradle 파일 안에 ExoPlayer 라이브러리를 사용하기 위해 아래 화면처럼 추가해주시고 Sync Now 버튼을 누르시면 라이브러리가 추가됩니다. implementation 'com.google.android.exoplayer:exoplayer:2.11.8' 인터넷권한 추가 다른 사이트에서 영상파일을 가져와서 사용하기 위해 권한을 추가해줍니다. 다음 예제에 사용할 화면을 만들어보겠습니다. 다음 예제에 사용할 코드를.. 2021. 7. 13.
[Kotlin][Android] 구글맵 빠르게 적용하기 안녕하세요. 이번에는 코틀린을 통하여 구글 지도를 제 앱에 띄우는 것을 해보도록 하겠습니다. 이를 구현하기 위해서는 구글 맵 API를 사용해야 하는데요. API(Application Programing Interface)가 무엇인지 간단하게 설명드리면, 응용 프로그램(일반적인 앱을 생각하시면 됩니다.)에서 다른 프로그램(운영체제, 프로그램 언어, 서버, 데이터 베이스 등등)에서 제공하는 기능을 제어할 수 있게 만든 인터페이스(매개체) 입니다. 구글 맵 API를 사용하려면 구글 플레이 서비스 SDK를 설치해야 합니다. 상단 메뉴의 [Tools] - [SDK Manager]를 클릭해 줍시다. 클릭하게 되면 아래 사진처럼 SDK 설정 화면이 나옵니다. [SDK Tools] 탭을 클릭하면 안드로이드 개발에 필요.. 2021. 7. 12.
[Kotlin][Android] 검색어 자동완성 기능 만들기 안드로이드에서 제공하는 autoCompleteTextView를 사용해서 자동 완성기능을 만들어보겠습니다. autoCompleteTextView 란? 사용자가 입력하는 동안 완성 제안을 자동으로 표시하는 편집 가능한 텍스트뷰 입니다. 참고) developer.android.com/reference/android/widget/AutoCompleteTextView 먼저 예제에 사용할 화면을 만들어보겠습니다. 다음 예제에 사용할 코드를 작성하겠습니다. 1. 예제에 사용할 변수 생성 2. 검색어 자동 완성 기능 생성 검색어 자동 완성 기능을 만들기 위해 이벤트를 추가합니다. 스틱코드를 활용한다면, 클래스에서 'au' 까지만 작성했을 때 '검색어 자동완성 기능 생성' 이벤트가 나타납니다. '검색어 자동완성 기능 생.. 2021. 7. 2.
[Kotlin][Android] QR 코드 리더기 안녕하세요. ZXing 라이브러리를 이용하여 QR 코드 리더기 앱을 만들어 보도록 하겠습니다. 개발 순서는 다음과 같습니다. 1. 라이브러리 추가 및 권한 설정 2. 화면 만들기(XML) 3. 코드 작성하기(QrCodeActivity.kt) 1. 라이브러리 추가 및 권한 설정 1-1) ZXing 라이브러리 github.com/journeyapps/zxing-android-embedded journeyapps/zxing-android-embedded Barcode scanner library for Android, based on the ZXing decoder - journeyapps/zxing-android-embedded github.com Build, Gradle에 Zxing 라이브러리 추가하기 S.. 2021. 7. 1.
[Kotlin][Android] 이미지 확대, 축소 기능 만들기 스틱코드를 사용하여 이미지를 확대하거나, 축소하는 기능을 만들어 보겠습니다. 먼저 예제에 사용할 화면을 만들어보겠습니다. 다음 예제에 사용할 코드를 작성하겠습니다. 1. 예제에 사용할 변수 생성 아래 사진을 보시면 에러가 발생하고 있는데 이 부분은 다음 코드를 추가하면 해결 됩니다. import android.os.Bundle import android.widget.ImageView import androidx.appcompat.app.AppCompatActivity import android.view.ScaleGestureDetector class MainActivity : AppCompatActivity() { // 제스처 이벤트 감지하는 변수 private var mScaleGestureDetect.. 2021. 6. 29.
[Kotlin][Android] 앱 위젯 만들기 안녕하세요! 오늘은 스틱코드를 이용하여 앱 위젯을 만들어보도록 하겠습니다. developer.android.com/guide/topics/appwidgets?hl=ko#kotlin 앱 위젯 빌드 | Android 개발자 | Android Developers 앱 위젯은 다른 애플리케이션(예: 홈 화면)에 삽입되어 주기적인 업데이트를 받을 수 있는 소형 애플리케이션 뷰입니다. 이러한 뷰는 사용자 인터페이스에서 위젯이라고 하며 앱 위젯 공급자를 developer.android.com 1. 위젯 레이아웃 먼저 위젯에 쓰일 레이아웃을 생성하도록 합니다 widget.xml 앱을 구동 시키는 버튼과 미리 정해둔 URL로 이동 시키는 버튼 두가지를 만들어 줍니다. 이후 위젯 속성 파일을 만들기 위해 res/xml 디렉.. 2021. 6. 28.