๐ฑ| Android/โ | ์๋ฌํด๊ฒฐ9 [Android, Kotlin] Retrofit์์ LocalDateTime ๋ฐ์ดํฐ ๋ฐ์์ค๊ธฐ 1. ์ค๋ฅ ์ํฉ retrofit์์ localDateTime ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋ ์ค ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ๋ฐ์ํ์๋ค. ์์ ์ค๋ฅ๋ LocalDateTime parsing์์ ๋ฌธ์ ๊ฐ ์๊ฒจ์ ๋ฐ์ํ๋ ์ค๋ฅ์ด๋ค. ์ด ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด์ ํ์๋ ๊ฒ์์ ๊ธฐ๋ฐ์ผ๋ก gson์ ๊ธฐ์กด์ localDatetime์ parsing ํ๋ ์์ ์ ์ฝ๋๋ฅผ ์ถ๊ฐํ์๋ค. val gson = GsonBuilder() .setDateFormat("yyyy-MM-dd'T'HH:mm:ss") .create() return GsonConverterFactory.create(gson) ์์ ๋ฐฉ๋ฒ์ ๋์๊ฒ ์ฌ๋ฐ๋ฅธ ๋ฐฉ๋ฒ์ด ์๋์๋ค. ๊ทธ๋ฌ๋ ๋๋ ํ ๋ธ๋ก๊ทธ์์ ๋ฐฉ๋ฒ์ ์ฐพ์ ์ ์์๋ค. https://lemontia.tistory.com/997 [r.. 2023. 11. 6. [Android, Kotlin] open api ์ฌ์ฉ ์ค ๋ฐ์ํ java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.collections.CollectionsKt__IterablesKt.collectionSizeOrDefault, parameter <this> ํด๊ฒฐ ๊ณต๊ณต๋ฐ์ดํฐํฌํธ api๋ฅผ ํธ์ถํ๋ ๊ณต๋ถ๋ฅผ ํ๋ค๊ฐ ๋(์ค)๋ฅ๋ฅผ ๋ง๋ฌ๋ค. ์ค๋ฅ์ ๋ด์ฉ์ ๋ณด๋ฉด java.lang.NullPointerException: Parameter specified as non-null is null: method kotlin.collections.CollectionsKt__IterablesKt.collectionSizeOrDefault, parameter ๋์ถฉ ์ด๋ค ๋ฉ์๋์ ๊ฐ์ด null์ด๋ผ๋ ์ค๋ฅ ๊ฐ์๋๋ฐ httplogginginterceptor์์๋ api ๊ฒฐ๊ณผ๊ฐ ์ ๋์์๋ค... ์๋ฌดํผ ํ์๊ฐ ์ค๋ฅ๋ฅผ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ ํ์๋ api๋ฅผ ๋ฐ์์ฌ data class์๋ค๊ฐ @SerializedName์ ์จ์ api์์ ๋ฐ์์ฌ ํ๋๋ฅผ ์ ์ํด ์คฌ์๋๋ฐ data class Body( @Serial.. 2023. 3. 21. [Android, Kotlin] java.lang.RuntimeException: Parcelable encountered IOException writing serializable object ํด๊ฒฐ ์ค๋๋ง์ ํ๋ ์ค๋ฅ ํฌ์คํ ์ค๋ฅ ๋ด์ฉ ์ด ์ค๋ฅ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ data class์ ์๋ค. ์ ์ค๋ฅ๋ ํ์๊ฐ putExtra๋ฅผ ์ฌ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ค๊ณ ํ์๋, ๋ฐ์ํ ์ค๋ฅ์๋๋ฐ ์ค๋ฅ์ ์ด์ ๋ฅผ ๋ณด๋ฉด not serializable exception์ด๊ธฐ ๋๋ฌธ์ ํด๋น ํด๋์ค์ serializable์ด ์ ์ฉ์ด ์๋์ด์ ์ค๋ฅ๊ฐ ๋ ๊ฒ์ ์ ์ ์๋ค. WeatherListResponse.kt package com.example.iwarm.data.response import com.google.gson.annotations.SerializedName import java.io.Serializable data class WeatherListResponse( @SerializedName("main") val mai.. 2022. 11. 28. [Android, Kotlin] java.lang.ClassCastException: activity cannot be cast to interface ํด๊ฒฐ ์ค๋์ ์ค๋ฅ๋ ํด๋์ค ๊ฐ์ ์บ์คํ ์ด ์ ๋์ง ์์์๋ ๋ฐ์ํ๋ ์๋ฌ์ธ ClassCastException์ ํด๊ฒฐํ๋ ๊ณผ์ ์ ํฌ์คํ ํด๋ณด๊ฒ ๋ค. ์๋ฌ ๋ณธ๋ฌธ FreeBoardFragment 111๋ฒ์งธ ์ค override fun onAttach(context: Context) { super.onAttach(context) try { postImageData = activity as PostImageData } catch (e: ClassCastException) { Log.e("ERROR", e.printStackTrace().toString(), e.cause) } } interface๋ฅผ ์ด์ฉํด fragment์์ activity๋ก ๋ฐ์ดํฐ๋ฅผ ์ ๋ฌํ๋ ๊ณผ์ ์์ onAttach ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋๋ฐ, ์ด ๋ถ๋ถ์.. 2022. 6. 7. android.view.InflateException: Binary XML file line #15 in com.example.community:layout/activity_main: Binary XML file line #15 in com.example.community:layout/activity_main: Error inflating class TextView ์๋ฌ ํด๊ฒฐ ์ค๋์ ์๋ฌ๋ view๊ฐ inflate๊ฐ ์ ๋ฐ๋ก ๋์ง ์์์๋ ์๊ธธ ์ ์๋ ์๋ฌ์ด๋ค. ๋๋ ๋ฌธ์ ๊ฐ ์๊ธด textView์ theme๋ฅผ ๋ง๋ค์ด ์ ์ฉ์์ผ ์ฌ์ฉํ๊ณ ์์๋๋ฐ, ๋ฌธ์ ์ ํ ๋ง ์ฝ๋ textVIew์ธ๋ฐ theme์ parent๋ฅผ toolbar์ title๋ก ์ง์ ํด์ ์ค๋ฅ๊ฐ ๋๋ ๊ฑฐ์๋ค. ํด๊ฒฐํ ํ ๋ง ์ฝ๋ parent๋ฅผ textView๋ก ๋ฐ๊ฟ์ฃผ๋ฉด์ ๊ฐ๋จํ ํด๊ฒฐํ๋ค. ์ธ๋ฐ์์ด 1์๊ฐ์ ๋ญ๋นํ๋ ์ค๋ฅ์๋ค. 2022. 4. 21. java.lang.ClassNotFoundException: Didn't find class "com.example.community.MainActivity" ์ค๋์ ์๋ฌ๋ ๋ฐ๋ก ํด๋์ค๋ฅผ ์ฐพ์ ์ ์์ ๋ ๋จ๋ ๋ฒ๊ทธ๋ฅผ ํด๊ฒฐํ๋ ๋ฐฉ๋ฒ์ ์์๋ณด๊ฒ ๋ค. ์๋ฌ ๋ฌธ๊ตฌ java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.community/com.example.community.MainActivity}: java.lang.ClassNotFoundException: Didn't find class "com.example.community.MainActivity" on path: DexPathList[[zip file "/data/app/~~Tv8GPXV34ciClaHYGt-_Gg==/com.example.community-9AL2Z2ybv12CTGrbGEP6mQ==/base.a.. 2022. 4. 19. Plugin [id: 'dagger.hilt.android.plugin'] was not found in any of the following sources ์ด๋ฒ ์ค๋ฅ๋ dagger hilt๋ฅผ ์ฐ๋ ์ฌ๋๋ค์๊ฒ ๋ํ๋ ์ ์๋ ์ค๋ฅ์ด๋ค ์ค๋ฅ ๋ฌธ๊ตฌ * Exception is: org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'dagger.hilt.android.plugin'] was not found in any of the following sources: - Gradle Core Plugins (plugin is not in 'org.gradle' namespace) - Plugin Repositories (plugin dependency must include a version number for this source) at org.gradle.plugin.use.internal.DefaultPlugi.. 2022. 4. 18. [Android] Room์์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ํ์ธํ ์ ์์ต๋๋ค. ํ์๋ room์ ์ด์ฉํ ์์ ๋ฅผ ๋ง๋ค๋ค๊ฐ ํ ์ค๋ฅ๋ฅผ ๋ง๋ฌ๋ค. ์ค๋ฅ ์ฝ๋ java.lang.IllegalStateException: Room cannot verify the data integrity. Looks like you've changed schema but forgot to update the version number. You can simply fix this by increasing the version number. ๋ฒ์ญ์ ํ๋ฉด Room์์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ํ์ธํ ์ ์์ต๋๋ค. ์คํค๋ง๋ฅผ ๋ณ๊ฒฝํ์ง๋ง ๋ฒ์ ๋ฒํธ๋ฅผ ์ ๋ฐ์ดํธํ๋ ๊ฒ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค. ๋ฒ์ ๋ฒํธ๋ฅผ ๋๋ฆฌ๋ฉด ๊ฐ๋จํ ํด๊ฒฐํ ์ ์์ต๋๋ค. ๋ผ๊ณ ํด์ ๋ฒ์ ๋ฒํธ๋ฅผ ๋ฐ๊ฟ๋ณด์๋ค. ๊ธฐ์กด ์ฝ๋ @Database(entities = [UserE.. 2022. 4. 11. [Android] com.google.gson.JsonParseException ํด๊ฒฐ ์ค๋์ ๋ด๊ฐ 5์๊ฐ๋์ ํค๋ฉจ๋ ์ค๋ฅ์ ๋ํด ํฌ์คํ ์ ๋จ๊ธฐ๊ฒ ๋ค. ๋๋ ๊นํ๋ธ์ push ์ค์๋ฅผ ํด์ ์ด๋ค ํ์ผ ํ๋๋ฅผ git bash๋ก ์ญ์ ํ์๋๋ฐ... ๊ฐ์๊ธฐ ์์ค build gradle์ด ์๋๋๋ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ์๊ฒผ๋ค ์ฒ์์๋ ๊ฒ์์ ํด์ ํด๊ฒฐํ๋ ค ํ์ง๋ง ๊ฒ์ํด์ ๋์ค๋ ๋ฐฉ๋ฒ๋ค์ด ๋ชจ๋ ๋ํํ ๋ ์ ๋์ ํผ์ ๋ง ํ๋ก์ ํธ ์ค์ ์ ๊ฑด๋๋ฆฌ๋ค ์ฐ์ฐํ(?) ํด๊ฒฐํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ File -> Settings Settings์์ gradle์ ๊ฒ์ํ๋ฉด ์ด๋ฐ ํ๋ฉด์ด ๋ฌ๋ค. ๊ทธ ๋ค์ gradle user home์ ์ฃผ์๋ฅผ ๋ฐ๊ฟ๋ณด์๋ค. ๊ทธ๋ฐ๋ฐ ํด๊ฒฐ์ด ๋๋ค. ์๋ฌดํผ ํด๊ฒฐํ๊ธด ํ์ผ๋ ์ด๋ ๊ฒ ๊ฐ๋จํ ํด๊ฒฐํด์ ์ฝ๊ฐ ํํ(?)๊ฐ ์์๋ค.. 2022. 4. 3. ์ด์ 1 ๋ค์ 728x90