Android 외 개발
-
Kotlin MVVM(Dagger2, Room, Retrofit)Android 외 개발 2020. 3. 5. 16:09
기존까지는 MVP 패턴이 프로젝트 구성에 적합하여 사용하였지만, 새롭게 만들 Demo Application 에는 DB 와 추후 서버 연결도 사용할수 있어서 MVVM 패턴으로 구성을 하게 되었습니다. 최근 많이 사용하고 있어 구글 검색으로 알게 되었으며, 틀린 부분이 있을 수 있으니 양해 부탁드립니다. Project 구성을 위해 build.gradle 파일에 dependencies 를 추가하였습니다. apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' apply plugin: 'kotlin-kapt' android { ...생략 compileOptions {..
-
Android Notification exampleAndroid 외 개발 2020. 1. 7. 16:07
Notification을 실행하기 위해서 먼저 Builder를 구성하였습니다. val notificationBuilder: NotificationCompat.Builder = NotificationCompat.Builder(this, NOTIFICATION_CHANNEL_ID) .apply { setSmallIcon(R.drawable.icon) setDefaults(Notification.DEFAULT_ALL) setContentTitle(title) setContentText(content) setAutoCancel(false) setWhen(System.currentTimeMillis()) priority = NotificationCompat.PRIORITY_MAX setContentIntent(p..
-
[kotlin] SharedPreferences exampleAndroid 외 개발 2020. 1. 3. 14:33
SharedPreferences 를 기존 Java 에서는 Singleton 으로 사용하고 있었습니다. kotlin 도 동일한 구조로 변경해 보았습니다. object Preferences { private const val DATA = "DATA" private lateinit var preferences: SharedPreferences fun init(context: Context) { preferences = context.getSharedPreferences(context.packageName, Activity.MODE_PRIVATE) } var data: String get() = preferences.getString(DATA, "") ?: "" set(value) = preferences.ed..
-
kotlin null check 할때 let 을 써야할까?Android 외 개발 2019. 12. 10. 14:31
java 를 kotlin 으로 변경하면서 let, run, apply , with 등의 함수를 많이 사용하게 되었습니다. 그 중에서 let 의 경우 safe clls(?.) 과 함께 사용하는 것은 언제 사용해야 되는가에 대한 의문이 들었습니다. https://medium.com/@elye.project/kotlin-dont-just-use-let-7e91f544e27f Kotlin: Don’t just use LET for null check With the introduction of null safety in Kotlin, many uses let{...} to perform the null check. But let is{…} not appropriate for some cases… medium.c..
-
kotlin use exampleAndroid 외 개발 2019. 12. 10. 13:44
변경 전 val cursor: Cursor = readableDatabase.rawQuery(sql, null) while (cursor.moveToNext()) { } cursor.close() 변경 후 readableDatabase.rawQuery(sql, null)?.use { while (it.moveToNext()){ } } https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.io/use.html use - Kotlin Programming Language kotlinlang.org
-
Kotlin errorAndroid 외 개발 2019. 12. 4. 11:20
Java 소스를 Kotlin 으로 변환 하면서 발생한 에러를 수정하면서 찾아본 내용을 정리하였습니다. Example1. Incompatible types: Int and Byte 변경 전: fun test(b:Byte): Int{ return when(b){ 0x01 -> 1 0x02 -> 2 0x03 -> 3 else -> 4 } } 변경 후: fun test(b:Byte): Int{ return when(b){ 0x01.toByte() -> 1 0x02.toByte() -> 2 0x03.toByte() -> 3 else -> 4 } } Example2. Call uses reflection API which is not found in compilation classpath. Make sure you..
-
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91Android 외 개발 2019. 6. 20. 09:57
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 불러오는 중입니다... 에러 발생시 AndroidX 변환하면 해결.
-
Error: Static interface methods are only supported starting with Android N (--min-api 24): void butterknife.Unbinder.lambda$static$0()Android 외 개발 2019. 6. 20. 09:53
아래 코드 추가 build.gradle android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } }