Android 103

JetpackCompose - SplashScreen API

과업 정의 : - 스플래시 스크린은 3초 유지하면서 로고는 애니메이션 처리 한다. 1. 라이브러리 추가 implementation("androidx.core:core-splashscreen:1.1.0-alpha02") 2. 컴파일 버전 맞추기 android { compileSdk = 34 ... } Dependency 'androidx.core:core-splashscreen:1.1.0-alpha02' requires libraries and applications that depend on it to compile against version 34 or later of the Android APIs. 3. Splash 화면을 위한 Theme 에서 스타일 적용 기본 themes.xml android 31..

Dev/Android 2023.11.16

[Flutter] AAPT: error: failed to read PNG signature: file does not start with PNG signature.

> A failure occurred while executing com.android.build.gradle.internal.res.Aapt2CompileRunnable > Android resource compilation failed ERROR:/Users/.../android/app/src/main/res/drawable/app_icon.png: AAPT: error: failed to read PNG signature: file does not start with PNG signature. ERROR:/Users/.../android/app/src/main/res/drawable/app_icon.png: AAPT: error: file failed to compile. 아이콘으로 쓸 app_ic..

Dev/Flutter 2023.06.28

Stream Chat 구현 - Android / 안드로이드

기본적으로는 공식 페이지를 참고해서 구현하면 되며, 추가적으로는 Stream 에서 일하고 계신 한국인 현직자 skydoves 님 블로그를 추가적으로 참고하면 도움이 크게 됩니다. 저는 제 기준으로 진행하면서 알았으면 좋았겠구나 싶은 부분을 기준으로 설명합니다. ⚠ Stream 에 계정이 있다는 전제하에 설명합니다. 모바일 채팅 구현에 앞서서 Stream 대시보드에 가서 채팅 앱(서버 역할)을 구성해야합니다. 1. Stream 대시보드에서 채팅에 사용할 서버 앱 구성 앱 생성 시 설정 환경이 PRODUCTION / DEVELOPMENT 2가지 형태가 있습니다. 앱 환경에 따라서 모바일에서 채팅을 구현할때 Token 필요 여부가 정해집니다. Development 환경으로 셋팅을 하면 Token 을 실제 생성..

Dev/Android 2022.09.29

Android MVVM 패턴에 대해서

안드로이드 에서 Jetpack 라이브러리들을 통해서 MVVM 패턴을 적용한다면, ViewModel 을 만들고 LiveData, Flow 등을 사용해서 View(Activity, Fragment) 에서 옵저빙을 해야지 마틴 파울러가 말하는 MVVM 형태가 된다. (라고 생각한다.) 참고 - 안드로이드 ACC 에서의 MVVM 패턴에 대해서 설명 https://leveloper.tistory.com/216#:~:text=%EA%B0%84%EB%8B%A8%ED%95%98%EA%B2%8C%20%EC%9A%94%EC%95%BD%ED%95%B4%EB%B3%B4%EC%9E%90%EB%A9%B4,%EB%A1%9C%20%EC%9A%94%EC%95%BD%ED%95%A0%20%EC%88%98%20%EC%9E%88%EC%8A%..

Dev/Android 2022.09.01

Room DB 마이그레이션

안드로이드 공식 페이지 - Room 데이터베이스 이전 기존 Room DB 구성 더보기 @Database( entities = [Alarm::class, MedicationHistory::class], version = 1 ) abstract class AppDatabase : RoomDatabase() { abstract fun alarmDao(): AlarmDao abstract fun medicationHistoryDoa(): MedicationHistoryDao companion object { @Volatile private var instance: AppDatabase? = null fun getDatabase(context: Context): AppDatabase = instance ?: sy..

Dev/Android 2022.07.14

Retrofit2 이슈 - com.google.gson.JsonIOException: JSON document was not fully consumed.

이슈 retrofit2.DefaultCallAdapterFactory$ExecutorCallbackCall@dffd7f3 com.google.gson.JsonIOException: JSON document was not fully consumed. 원인 REST API 의 Response 형태가 json 형태가 아닌 String 형태로 내려올 경우에 발생한다. 해결 ScalarsConverterFactory 추가 .addConverterFactory(ScalarsConverterFactory.create()) Retrofit.Builder() .baseUrl(IhpUrl.rest_api_url) .addConverterFactory(ScalarsConverterFactory.create()) .addCo..

Dev/Android 2022.04.25