Android(66)
-
에뮬레이터에 PlayStoreApp 설치
안드로이드 에뮬레이터를 설치하면 PlayStore가 설치되어 있지 않다. 오늘은 스텝순으로 설치방법을 작성 해보고자 한다. Step 1. 기기에 맞는 PlayStore Apk를 아래 사이트에서 다운 로드 받는다. opengapps.org/ The Open GApps Project opengapps.org 나는 에뮬레이터를 Intel x86를 사용하고 Android 버전 8.1로 생성 하였기에 아래 이미지와 같이 선택 해서 다운 받았다. Step 2. 다운로드 받은 압축파일을 풀면 Core/vending-x86.tar.lz를 풀고 그안에 있는 vending-x86.tar도 풀면 Phonesky.apk를 찾을수 있다. Phonesky.apk를 에뮬레이터 /system/priv-app/Phonesky/Phon..
2021.03.16 -
How to remount Android api 29 emulator
안드로이드 버전 29 미만에서는 아래 명령어를 순차적으로 적용 하면 remount가 되었었느나 29버전 부터는 명령어가 추가 되었다. emulator -avd "Nexus_6_API_27(AVD 이름)" -writable-system adb root adb remount emulator -avd "Nexus_6_API_29(AVD 이름)" -writable-system adb root adb shell avbctl disable-verification adb reboot adb root adb remount 위 명령어가 안될시에는 아래 순서를 사용 해보자 $ adb root $ adb disable-verity
2021.03.10 -
Debug & release Mode Build Type 나누기
Build Variant Android Studio 프로젝트를 생성 하고 Build Variants(Build -> Select Build Variant) 를 보면 debug 와 release 옵션이 자동으로 생성되어 있는걸 확인 할수 있습니다. 옵션 선택으로 debug or release 모드로 빌드 할수 있고 빌드 타입에 따라 옵션을 다르게 정의를 할수 있으며 설정은 App Gradle에 아래와 같이 정의 되어 있습니다. debug 와 release 는 기본 타입으로 삭제가 불가능 하며 debug 모드는 숨겨져 있습니다. 빌드 타입은 새로 추가 할수 있습니다. release -> NewRelease 변경 변경하니 아래와 같이 debug 와 release는 그대로 있고 NewRelease만 새로 생성된..
2021.01.29 -
hilt - @HiltViewModel
Hilt로 ViewModel 객체 삽입 @ViewModelInject(Deprecated) -> @HiltViewModel 변경됨 HiltView Model로 주석이 달린 View Model은 "dagger.hilt.android.lifecycle.dagger.hilt.android.lifecycle.HiltViewModelFactory" 의해 생성 됩니다. 기본적으로 Android EntryPoint로 주석이 달린 Activity 또는 Fragment에서 검색할 수 있습니다. Inject로 주석이 달린 생성자를 포함하는 "HiltView Model"은 Dagger's Hilt에 의해 주입된 생성자 매개 변수에 종속성이 정의된다. @HiltViewModel public class DonutViewMode..
2021.01.29 -
LiveData - MutableLiveData, Transformation
MutableLiveData란 변경할 수 있는 LiveData 형입니다. 일반적인 LiveData형은 변경할 수 없고 오로지 데이터의 변경값만을 소비하는데 반해 MutableLiveData는 데이터를 UI Thread와 Background Thread에서 선택적으로 바꿀 수 있습니다. private val _post = MutableLiveDta() // _post로 선언된 MutableLiveData를 post를 통해 발행합니다. // 이렇듯 ViewModel에서만 _post를 변경할 수 있기때문에 보안에 더 좋습니다. val post :LiveData get() = _post 데이터를 Activity에서 받으려면 //조금전 ViewModel에서 post LiveData를 Observe합니다. //첫번..
2021.01.22 -
hilt - @ApplicationContext, @ActivityContext, @EntryPoin
Hilt는 몇 가지 사전 정의된 한정자를 제공합니다. 예를 들어 애플리케이션 또는 활동의 Context 클래스가 필요할 수 있으므로 Hilt는 @ApplicationContext 및 @ActivityContext 한정자를 제공합니다. class AnalyticsAdapter @Inject constructor( @ActivityContext private val context: Context, private val service: AnalyticsService ) { . @EntryPoint - 예를 들어 Hilt는 콘텐츠 제공자를 직접 지원하지 않습니다. 콘텐츠 제공자가 Hilt를 사용하여 일부 종속 항목을 가져오도록 하려면 원하는 결합 유형마다 @EntryPoint로 주석이 지정된 인터페이스를 정의하..
2021.01.21