본문 바로가기

안드로이드

(41)
[안드로이드] Navigation Component build.gradle implementation "androidx.navigation:navigation-fragment-ktx:2.5.3" implementation "androidx.navigation:navigation-ui-ktx:2.5.3" res -> new -> resource file navigation.xml res -> new -> resource file bottom_nav.xml
[안드로이드] MyApplication Toast 메시지, dialog 등 context가 필요한 기능들이 있다. 이때 어디서든 context를 가져와 쓸 수 있고, 앱 실행 시 실행시켜줘야 되는 기능들이 있다면 MyApplication에 넣어 실행과 동시에 초기화 시켜줄 수도 있다. MyApplication Class는 Application 클래스를 상속받는다. class MyApplication : Application() { companion object { lateinit var prefs: PreferenceUtil private lateinit var myApplication: MyApplication fun getInstance() : MyApplication = myApplication } override fun onCreate..
[안드로이드] 백그라운드에서 위치 데이터 지속적으로 얻기 https://stackoverflow.com/questions/28535703/best-way-to-get-user-gps-location-in-background-in-android Best way to get user GPS location in background in Android In my android app i want to get user current location every few minute interval and update in to my center server using web service. Currently i am using Fused Location Provide for get user current stackoverflow.com 해당 코드는 위의 StackOver..
[안드로이드] Api Key 저장 방법 with local.properties 프로젝트를 하다 보면 Api를 사용하게 되는데 Api에는 Key가 필요하다. 그러나 이 Key를 그냥 복붙 후 Git에 올려버리면 누군가 해당 Key를 사용할 수 있고, 최악의 경우 막대한 금전적 손실을 입을 수 있다. Key 같이 중요한 데이터는 숨겨야하는데 Git에는 gitignore가 있고, 여기에는 local.properties가 자동으로 설정되어 있다. 따라서, local.properties 에 Key를 저장해 두고 프로젝트에서 갖다 쓰면 된다. 사용 방법 local.properties ## This file is automatically generated by Android Studio. # Do not modify this file -- YOUR CHANGES WILL BE ERASED! #..
[안드로이드] Jetpack 공식문서 https://developer.android.com/jetpack?hl=ko Android Jetpack 개발자 리소스 - Android 개발자 | Android Developers Android Jetpack은 코드 라이브러리 모음을 통해 최신 앱 개발자 리소스와 권장사항을 제공합니다. 지금 Jetpack을 사용하여 시작해 보세요. developer.android.com Jetpack 이란? Jetpack은 개발자가 중요한 코드에 집중할 수 있도록 권장사항 준수, 상용구 코드 감소, 여러 Android 버전과 기기에서 일관되게 작동하는 코드 작성을 돕는 라이브러리 묶음이다. 또한 다양한 안드로이드 버전과 호환되도록 제작되었기 때문에 여러 버전에서 실행할 수 있다. 그렇다면 Jetpack에는 ..
[안드로이드] ViewModel 안드로이드 공식문서 https://developer.android.com/topic/libraries/architecture/viewmodel?hl=ko ViewModel 개요 | Android 개발자 | Android Developers ViewModel을 사용하면 수명 주기를 인식하는 방식으로 UI 데이터를 관리할 수 있습니다. developer.android.com ViewModel ViewModel은 UI에 표시되는 데이터를 보유한 일반적인 클래스이다. 일반적으로 화면을 회전하거나 어떠한 활동을 할 때, 인스턴스 상태 저장 메커니즘을 사용하지 않으면 데이터가 소멸되는 문제가 생길 수 있다. 화면 회전을 하였는데 기존의 데이터와 달라져 버릴 수 있는 것이다. ViewModel은 데이터 지속성 을 위..
[안드로이드] LiveData 안드로이드 공식문서https://developer.android.com/topic/libraries/architecture/livedata?hl=ko LiveData 개요  |  Android 개발자  |  Android DevelopersLiveData를 사용하여 수명 주기를 인식하는 방식으로 데이터를 처리합니다.developer.android.com LiveDataLiveData는 관찰 가능한 데이터 홀더 클래스이다. 수명 주기를 인식하며, 활동 수명 주기 상태에 있는 앱 구성요소 관찰자만 업데이트 한다. 관찰자의 수명 주기는 Observer 클래스로 표현되며, 생명 주기가 Started 또는 Resume 상태일 때 활성 상태로 간주한다. 활성 상태일 경우에만 업데이트 정보를 알린다.  공식 문서에서..
[안드로이드] Databinding 안드로이드 공식문서 https://developer.android.com/topic/libraries/data-binding?hl=ko 데이터 결합 라이브러리 | Android 개발자 | Android Developers 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 데이터 결합 라이브러리 Android Jetpack의 구성요소. 데이터 결합 라이브러리는 프로그래매틱 방식이 아니라 선 developer.android.com Databindnig은 동적인 UI 변화를 XML에서 처리하는 Jetpack 라이브러리다. 예를 들어, 어떠한 이벤트가 발생했을 때 A라는 Text가 B로 변한다고 할 때 우리는 Activity 또는 Fragment에서 다음과 같이 처리한다. butto..
[안드로이드] Room DB 안드로이드 공식문서 https://developer.android.com/training/data-storage/room?hl=ko Room을 사용하여 로컬 데이터베이스에 데이터 저장 | Android 개발자 | Android Developers Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기 developer.android.com Room DB Room DB는 Jetpack의 라이브러리 중 하나이며, 로컬 데이터베이스이다. 일반적으로 플랫폼에서는 DB를 서버에 저장하며, 앱에서는 서버에 요청을 하여 데이터를 조회 또는 수정한다. 따라서 네트워크가 필수이며, 네트워크가 없다면 DB에 접근할 수 없다. 반면에 로컬 DB는 앱에 저장되므로 네트워크가 따로 필요하지 않기 때문에 사용자가..
[안드로이드] Content Provider Content Provider는 애플리케이션의 데이터를 액세스하고, 다른 애플리케이션과 공유하는 기능을 제공한다. Content Provider는 자체적인 보안 시스템이 적용되어 있으며, 사용자 권한을 요구하여 내부적으로 데이터를 보호한다. 만약 요청하는 애플리케이션에 필요한 권한이 없으면 Content Provider의 데이터에 접근할 수 없다. Content Provider의 대표적인 예로는 사진첩 또는 연락처 등을 접근할 때 사용된다. 안드로이드 공식문서 https://developer.android.com/guide/topics/providers/content-provider-basics?hl=ko 콘텐츠 제공자 기본 사항 | Android 개발자 | Android Developers 콘텐츠 제공..