일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- Android Studio
- arm-linux-androideabi
- 새마을금고
- Mac
- EditText
- ios
- Data Binding
- CHAT GPT
- 청약
- Andorid
- RETROFIT
- 달러예금
- JetPack
- KB
- kotlin
- ndk r24
- Android
- BindingAdapter
- 사전청약
- 예금
- 3rd framework
- java
- MG더뱅킹정기예금
- gradle
- Swift
- 용산 호반써밋 에이디션
- ChatGPT
- 고금리
- audio record
- ndkVersion
- Today
- Total
목록Android (15)
pear

standard - android API / targetSdkVersion val targetSdkVersion: Int = applicationContext.applicationInfo.targetSdkVersion android9(28 or less) WRITE_EXTERNAL_STORAGE android10(29) WRITE_EXTERNAL_STORAGE android11(30 over) READ_EXTERNAL_STORAGE MediaStore SFA(Storage Access Framework) ACTION_OPEN_DOCUMEN ACTION_CREATE_DOCUMENT OR 모든파일액세스 val resultLauncher:ActivityResultLauncher = registerForActi..
Legacy External Storage(OLD) targetSdk API Level 29 이하 WRITE_EXTERNAL_STORAGE 권한이 구분 없이 외부저장소부터 대부분의 공간에 접근하고 쓰기가 가능했습니다. val file = File(Environment.getExternalStorageDirectory(), "test.txt") Scoped Storage(NEW) targetSdk API Level 30이상 Media 유형 다른앱과 공유되는 영역의 미디어 파일은 모두 MediaStore를 이용하여 생성해야 합니다. // Scoped Storage val resolver = applicationContext.contentResolver val audio = MediaStore.Audio.Me..
오래된 외부 라이브러리를 사용 할때 androidx.core 와 Duplicate 문제가 발생 할 때가 있다. gradle.properties 파일에 옵션을 추가해주면 해결 될 때가 있다. android.enableJetifier=true android.enableJetifier: 이 플래그가 true로 설정되면 Android 플러그인에서 자동으로 기존 타사 라이브러리를 이전하여 바이너리를 다시 작성해 AndroidX 종속 항목을 사용합니다. 지정하지 않으면 플래그는 기본적으로 false입니다. 원인은 구버전과 충돌이 발생하는데 enableJetifier 플래그를 사용하면 빌드시 최신 버전만 남기는 마이그래션을 지원하여 해결되는 것으로 보인다. Duplicate class android.support.v..
Application components Intent interface를 통해 상호 작용이 가능 액티비티(Activity) - 사용자와 상호작용을 위한 진입점(화면) 서비스(Service) - 앱의 백그라운드 처리를 위한 진입점(interface) 방송 수신자(Broadcast Receiver) - 앱 외부인 시스템에서 전달되는 이벤트를 수신하기 위한 interface 콘텐츠 제공자(Content Provider) - 앱데이터 외부 제공을 위한 interface 액티비티 액티비티는 사용자와 상호작용하기 위한 진입점입니다. 이것은 사용자 인터페이스를 포함한 화면 하나를 나타냅니다. 예를 들어 이메일 앱이라면 새 이메일 목록을 표시하는 액티비티가 하나 있고, 이메일을 작성하는 액티비티가 또 하나, 그리고 이..
private var _value = MutableLiveData() val value: LiveData get() = _value @={viewmodel.value} solution var value = MutableLiveData() @={viewmodel.value} or private var _value = MutableLiveData() val value: LiveData get() = _value private var value = MutableLiveData() @={viewmodel.value.member} Sample/app/build/generated/ap_generated_sources/debug/out/com/test/testapp/DataBinderMapperImpl.java:9:..
수정후 implementation 'androidx.core:core-ktx:1.8.0' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.5.1' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.5.1' 수정 implementation 'androidx.core:core-ktx:1.8.0' implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.6.1' implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1' Duplicate class kotlin.collections.jd..
viewmodel binding 할 때 필요한 implementation implementation 'androidx.activity:activity-ktx:1.2.0' import androidx.activity.viewModels private val viewmodel : MainViewModel by viewModels() ps activity-ktx 와 의존성이 있는 다른 *-ktx로 대체가 가능하다. implementation 'androidx.activity:*-ktx:1.2.0'