반응형

분류 전체보기 129

[Android/Kotlin] ViewModel + LiveData + ViewBinding 예제

안녕하세요 골드입니다. ViewModel + LiveData + View Binding은 현시점 구글에서 권장하는 애플리케이션 개발 방법입니다. 먼저 Binding은 findViewById를 대체할 수 있다는 장점을 가지고 있습니다. 두 번째로 ViewModel은 앱의 생명주기에 대한 처리(예를 들어 화면 전환)를 따로 하지 않아도 데이터가 유지된다는 장점이 있고, LiveData를 함께 사용하여 값이 변했을 때, 이를 관찰하고 있는 UI 역시 데이터가 업데이트된다는 장점이 있습니다. 오늘은 간단하게 이 셋을 함께 사용하는 예제를 만들어 보겠습니다. 먼저 MainActivity와 Blank Fragment를 하나 만들겠습니다. 1. View Binding 뷰 결합 먼저 View Binding을 사용하도록..

[Android/Kotlin] Broadcast Receiver, 시간 변화에 따른 Time Change Event. Time Tick Action.

안녕하세요 골드입니다. 오늘은 안드로이드의 Broadcast Receiver를 사용하여 시간 변화에 따른 Listener 이벤트를 발생시키는 예제를 만들어 보도록 하겠습니다. 안드로이드는 앱 혹은 시스템에서 특정 이벤트 발생에 대한 브로드캐스트 메시지를 주고 받을 수 있습니다. 어떤 이벤트에 대한 브로드캐스트 메시지를 주고 받음으로써 이벤트를 수신할 수 있습니다. 자세한 설명은 공식 홈페이지를 참고하세요. https://developer.android.com/guide/components/broadcasts?hl=ko 브로드캐스트 개요 | Android 개발자 | Android Developers Android 앱은 Android 시스템 및 기타 Android 앱에서 게시-구독 디자인 패턴과 유사한 브로..

[Android/Kotlin] BottomNavigationView + NavController 연결

안녕하세요 골드입니다. 오늘은 안드로이드에서 사용하는 Bottom Navigation View에 Nav Controller를 연결하는 방법에 대해서 글을 쓰려고 합니다. Bottom Navigation View는 핸드폰 하단에 탭 형식으로 제공되는 형태입니다. 특정 탭에 Activity/Fragment를 연결하여 보여줄 수 있죠. 여기에 Nav Controller는 안드로이드에서 제공하는 내비게이션을 사용하는 방법입니다. 이러한 그래프 형태는 다양한 IDE에서 볼 수 있습니다. 특히 게임 엔진에서 오래 전부터 사용한 방식인데 안드로이드는 이 그래프를 통해 Activity/Fragment의 내비게이션을 좀 더 편리하게 설정할 수 있습니다. 위 사진에 제가 커스텀한 앱의 탭이 두 개이고, 밑에 그래프의 시작..

[Kotlin] 비동기 프로그래밍 기술

안녕하세요 골드입니다. 비동기 프로그래밍은 더 이상 선택이 아닌 필수임에 따라 프로세스 블록에 대한 해법은 꽤 오래 연구되어 왔습니다. 코틀린 공식 문서를 참고하여 그 다양한 기술 해법에 대해서 간략하게 이야기하고자 합니다. https://kotlinlang.org/docs/async-programming.html#threading Asynchronous programming techniques | Kotlin kotlinlang.org 스레드 콜백 미래시 리액티브 프로그래밍 코루틴 스레드 가장 잘 알려진 방법입니다. 시간이 오래 걸리는 작업은 ui에 영향을 미칠 수 있습니다. 애플리케이션에 경우 최악은 ANR이 발생하여 앱이 멈출 수 있다는 것입니다. 이러한 경우 분리된 스레드에서 작업을 할 수 있습니..

[CS] Java에서 Call By Value와 Call By Reference

안녕하세요 골드입니다. 오늘은 Call by value와 Call by reference라는 개념에 대해서 알아보도록 하겠습니다. 또한 Java에서는 이 개념들이 어떻게 동작하는지까지 알아보겠습니다. 먼저 개념부터 간단하게 알아보겠습니다. Call By Value call by value는 값에 의한 호출이라는 뜻입니다. 값에 의한 호출이란, 메서드에 인자를 넘길 때, 그 값을 복사해서 넘기는 형태를 말합니다. 메서드 내에서는 복사된 값으로 새로운 작업을 하기 때문에, 원래의 값은 변경되지 않습니다. Call By Reference call by reference는 참조에 의한 호출이라는 뜻입니다. 참조에 의한 호출이란, 메서드에 인자를 넘길 때, 값이 아닌 객체를 참조하는 주소를 넘기는 형태를 말합니다..

[Android/Kotlin] WebView에서 Location 사용하기

안녕하세요 골드입니다. 오늘은 안드로이드 위치 기반 서비스를 WebView 안에서 사용하는 방법에 대해서 글을 쓰도록 하겠습니다. 1. 권한 설정 먼저 AndroidManifest.xml에 위치 권한과 인터넷 권한을 추가합니다. 2. WebView 생성 다음으로 New -> Fgrament(Blank)를 통해 WebViewFragment(이름은 마음대로 짓습니다.)를 생성하여 WebView를 생성하겠습니다. 먼저 xml파일을 열고 WebView를 추가합니다. 단순히 FrameLayout 안에 WebView를 하나 선언하였습니다. FrameLayout은 간단한 단일 페이지를 생성할 때 좋습니다. Fragment.kt 파일에서 WebView에 접근이 가능하도록 id 속성을 추가하고 이름을 짓습니다. 새로 만..

[Android/Kotlin] Kakao 로컬(주소 검색) API 사용하기

안녕하세요 골드입니다. 오늘은 카카오 로컬 API를 사용하는 방법에 대해서 글을 쓰려고 합니다. 카카오 로컬 api는 지도와 관련된 기능을 가지고 있으며, 다양한 기능을 가지고 있습니다. 예를 들어, 특정 주소를 검색하여 좌표를 가져오거나 좌표를 검색하여 주소와 도로명 주소를 가져오거나, 키워드 검색, 카테고리 검색으로 관련된 장소나 상세 정보 등을 가져올 수도 있습니다. 그럼 사용해보도록 하겠습니다. 1. Kakao Developers 가입 먼저 Kakao Developers에 가입하여 애플리케이션을 추가합니다. developers.kakao.com/ Kakao Developers 카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API..

[Android/Kotlin] Google GeoCoder 주소 ↔ 좌표 변환

안녕하세요 골드입니다. 오늘은 geocoder에 대해서 알아보도록 하겠습니다. 맵을 사용할 때, 사용자는 주소를 입력해서 위치에 대한 정보를 사용합니다. 그러나 앱은 주소를 좌표로 변환하여 사용합니다. 그렇기 때문에 주소를 좌표로 변환해주거나 좌표를 주소로 변환해서 사용자가 편리하게 사용할 수 있도록 geocoder를 사용해야 합니다. 먼저 geocoder를 잘 사용하기 위해 google map api key를 생성합니다. 생성 방법은 여기를 참고해주세요. kumgo1d.tistory.com/54 [Android/Kotlin] Google Map API(구글 지도) 사용하기 안녕하세요 골드입니다. Google Map API를 사용하는 방법에 대해서 글을 작성하도록 하겠습니다. 구글 지도는 많은 업데이트를..

[Android/Kotlin] JITPACK + BitBucket, Git Repository 라이브러리 배포 방법

안녕하세요 골드입니다. 오늘은 여러분의 라이브러리를 저장소에 커밋한 후 배포하는 방법에 대해서 알아보도록 하겠습니다. 라이브러리를 만들어서 로컬에 저장되어 있는 aar 파일을 불러오고 build.gradle에 project를 추가하는 등등의 작업을 해서 라이브러리를 import할 수도 있지만, 지금까지 사용했던 다른 라이브러리들 처럼 dependency에 한 줄 추가해서 사용하는 편이 좀 더 편리할 것입니다. 라이브러리를 만드는 방법은 다음 url을 참고해주세요. kumgo1d.tistory.com/66 [Android/Kotlin] Library Module 만들어서 사용하는 방법 안녕하세요 골드입니다. 오늘은 Library Module을 만드는 방법과 그 사용법에 대해서 글을 작성하도록 하겠습니다. ..

[Android/Kotlin] Library Module 만들어서 사용하는 방법

안녕하세요 골드입니다. 오늘은 Library Module을 만드는 방법과 그 사용법에 대해서 글을 작성하도록 하겠습니다. 먼저 라이브러리는 프로그래밍에서 굉장히 많이 사용하는 도구입니다. 안드로이드에서 dependency에 여러 라이브러리를 추가하면 필요한 기능을 추가하여 바로 사용하거나 상속이 가능하다면 기능을 추가하여 재정의할 수도 있습니다. 오늘은 그런 라이브러리를 직접 만들어 보겠습니다. 1. 앱 모듈을 라이브러리 모듈로 변환 만들어 놓은 프로젝트가 있고 이 프로젝트를 라이브러리로 변환하고 싶을 경우 사용하는 방법입니다. app module의 build.gradle 파일로 이동합니다. 상단에 plugins {} 블럭 안에 'com.android.application'을 'com.android.li..