๐ฑ| Android55 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] ํ๋ฉด ์ด๋ ๋ฐฉ๋ฒ ์ ๋ฆฌ ์ด๋ฒ ์์ ๋ ๋ด๊ฐ ์๊ณ ์๋ ํ๋ฉด ์ ํ ๋ฐฉ๋ฒ๋ค์ ๋ํด ์ ๋ฆฌํด๋ณด๊ฒ ๋ค. 1. intent๋ฅผ ์ด์ฉํ ํ๋ฉด์ด๋ intent๋ฅผ ์ด์ฉํ๋ ๋ฐฉ๋ฒ์ ์๊ฐ๋ณด๋ค ๊ตฌ๊ธ์ ๋ง์ด ๋์์์ด ์ฝ๊ฒ ์์๋ผ์ ์๋ค. // ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ intent ์ฌ์ฉ ๋ฐฉ๋ฒ val intent = Intent(this, SecondActivity::class.java) startActivity(intent) ์ด๊ฑด ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ intent ์ฌ์ฉ๋ฒ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ ์์ ์ฝ๋๋ startActivity(this, SecondActivity::class.java)๋ก ๋ฐ๊ฟ ์ธ์ ์๋ค. 1-1. putExtra putExtra๋ intent๋ฅผ ์ฌ์ฉํ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋ฉ์๋๋ก, ๋ค์๊ณผ ๊ฐ์ด ์ฌ์ฉํ ์ ์๋ค. class MainActivity: Appcompat.. 2022. 4. 12. [Android] Room ์ฌ์ฉ๋ฒ๊ณผ RecyclerView๋ฅผ ํ์ฉํ ์์ ์ด๋ฒ ์์ ๋ ์๋๋ก์ด๋์ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ธ room์ ํ์ฉํด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ , ๊ทธ๊ฒ์ recyclerview์ ๋ณด์ด๊ฒ ํ๋ ์์ ๋ฅผ ํด๋ณด๊ฒ ๋ค. room ์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ๋จผ์ gradle์ ์ถ๊ฐ๋ฅผ ํด์ค์ผ ํ๋ค. build.gradle(app) plugins { id 'kotlin-kapt' ... } android { ... } dependencies { implementation "androidx.room:room-runtime:2.4.2" kapt "androidx.room:room-compiler:2.4.2" } ์ถ๊ฐ๋ฅผ ํ๊ณ ๋์, ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ค์ด๊ฐ ๋ฐ์ดํฐ๋ค์ ๋ง๋ค์ค์ผ ํ๋ค. 1. ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ํด๋์ค ์์ฑ @Entity(tableName = "chat_table") class Chat.. 2022. 4. 12. [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 Kotlin] radio button ์์ ์ค๋์ ๋ด๊ฐ ๋ง๋ค๊ณ ์๋ ํ๋ก์ ํธ์์ ์๋ก ์๊ฒ ๋ radio button ์ด ํด๋ฆญ๋ ๊ฒ์ ํ ์คํธ๋ฅผ ๊ฐ์ ธ์์ textView์ ๋ณด์ฌ์ฃผ๋ ์์ ๋ฅผ ๋ง๋ค์ด ๋ณด๊ฒ ๋ค. ๋จผ์ ๋๋ ์ปค์คํ ๋ค์ด์ผ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ๊ณ , ๊ทธ๊ฒ์ view binding์ ํตํด ์์ ๋ฅผ ๋ง๋ค์๊ธฐ ๋๋ฌธ์ build.gradle์ ์ถ๊ฐ๋ฅผ ํด๋ณด๋๋ก ํ๊ฒ ๋ค. build.gradle(app) plugin { ... } android { ... buildFeatures { viewBinding = true } } dependencies { .... } ๋ทฐ ๋ฐ์ธ๋ฉ์ ๋ํ ๋ฐฉ๋ฒ์ ์ฌ๊ธฐ์ ์์ธํ ์๋ ค์ฃผ์ง ์์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ฏธ๋ฆฌ ๊ณต๋ถํ๊ณ ์ค์๊ธธ ๋ฐ๋๋ค. ๊ทธ ๋ค์ dialog์ ์ฐ์ผ ๋ ์ด์์์ ๋ง๋ค์ด ์ฃผ๋๋ก ํ์ custom_dualog_set_standard.x.. 2022. 4. 11. [Android] com.google.gson.JsonParseException ํด๊ฒฐ ์ค๋์ ๋ด๊ฐ 5์๊ฐ๋์ ํค๋ฉจ๋ ์ค๋ฅ์ ๋ํด ํฌ์คํ ์ ๋จ๊ธฐ๊ฒ ๋ค. ๋๋ ๊นํ๋ธ์ push ์ค์๋ฅผ ํด์ ์ด๋ค ํ์ผ ํ๋๋ฅผ git bash๋ก ์ญ์ ํ์๋๋ฐ... ๊ฐ์๊ธฐ ์์ค build gradle์ด ์๋๋๋ ๋ค์๊ณผ ๊ฐ์ ์ค๋ฅ๊ฐ ์๊ฒผ๋ค ์ฒ์์๋ ๊ฒ์์ ํด์ ํด๊ฒฐํ๋ ค ํ์ง๋ง ๊ฒ์ํด์ ๋์ค๋ ๋ฐฉ๋ฒ๋ค์ด ๋ชจ๋ ๋ํํ ๋ ์ ๋์ ํผ์ ๋ง ํ๋ก์ ํธ ์ค์ ์ ๊ฑด๋๋ฆฌ๋ค ์ฐ์ฐํ(?) ํด๊ฒฐํ๋ค. ํด๊ฒฐ ๋ฐฉ๋ฒ File -> Settings Settings์์ gradle์ ๊ฒ์ํ๋ฉด ์ด๋ฐ ํ๋ฉด์ด ๋ฌ๋ค. ๊ทธ ๋ค์ gradle user home์ ์ฃผ์๋ฅผ ๋ฐ๊ฟ๋ณด์๋ค. ๊ทธ๋ฐ๋ฐ ํด๊ฒฐ์ด ๋๋ค. ์๋ฌดํผ ํด๊ฒฐํ๊ธด ํ์ผ๋ ์ด๋ ๊ฒ ๊ฐ๋จํ ํด๊ฒฐํด์ ์ฝ๊ฐ ํํ(?)๊ฐ ์์๋ค.. 2022. 4. 3. [Android] Clean Architecture ๊ธฐ๋ก ์ค๋์ ๋ด๊ฐ Clean Architecture๋ฅผ ๊ณต๋ถํ ๋ด์ฉ์ ์ ๋ฆฌํด ๋ณด๋๋ก ํ๊ฒ ๋ค. Clean Architecture๋? Clean Architecture๋ Robert C. Martin์ด๋ผ๋ ์ฌ๋์ด 2012๋ ์ ์ ์ํ ๊ฐ๋ ์ผ๋ก, ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฅํ๋ ๊ฒ์ด ๋ชฉํ์ด๋ค. ์ด๋ ๊ฒ ๊ด์ฌ์ฌ๋ฅผ ๋ถ๋ฅํด์ ์ป๋ ์ฅ์ ์ ํ๋ก์ ํธ ์ ์ง, ๊ด๋ฆฌ๊ฐ ์ฉ์ดํ๋ค. ์๋ก์ด ๊ธฐ๋ฅ ์ ์ฉ์ด ๋นจ๋ผ์ง๋ค. ํ ์คํธ ์ฝ๋ ์์ฑ์ด ์ฉ์ดํ๋ค. ๋ฑ ์ฌ๋ฌ ์ฅ์ ๋ค์ด ์๋ค. ์๋์ ์ฌ์ง์ผ๋ก ํด๋ฆฐ ์ํคํ ์ฒ์ ๊ตฌ์กฐ๋ฅผ ์ดํด๋ณด์ ํด๋ฆฐ ์ํคํ ์ฒ๋ 4๊ฐ์ง์ ๊ณ์ธต์ผ๋ก ๋ถ๋ฅ๋๋ค. Entity User Cases Controllers UI ํด๋ฆฐ ์ํคํ ์ฒ์ ๊ตฌ์กฐ๋ฅผ ๋ณด๋ฉด ๋ฐ๊นฅ ๊ณ์ธต์ด ์์ชฝ ๊ณ์ธต์ ์์กด์ฑ์ ๊ฐ์ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค. android ๊ธฐ์ค์ผ๋ก ๋ณด๊ธฐ์๋ ์ด๋ ค์์ด ์์ด .. 2022. 4. 1. [Android Kotlin] firebase fireStore, storage๋ฅผ ์ด์ฉํด recyclerView๋ก ์ฌ์ง ์ถ๋ ฅํ๊ธฐ ์๋๋ก์ด๋ sns์ฑ ๋ง๋ค๋ค๊ฐ ์์๋ธ ๋ฐฉ๋ฒ์ ๊น๋จน์์ด๋ ๋ค์ ๋ณผ ์ ์๊ฒ ์ด ํฌ์คํ ์ ์ด๋ค. ์ค๋์ firebase fireStore, storage๋ฅผ ์ด์ฉํด recyclerView๋ก ์ฌ์ง ์ถ๋ ฅํ๋ ๊ฒ์ ํด ๋ณด๊ฒ ๋ค. ๋จผ์ storage์ ์ฌ์ง์ ์ถ๊ฐํด๋ณด์๋ค. ์ผ๋จ ๋๋ ๊ฒ์๊ธ ๋ง๋ค๊ธฐ ๊ธฐ๋ฅ์ ๋ง๋ค๋ฉด์ ๊ฒ์๊ธ์ ์ฌ๋ฆฐ ์ด๋ฏธ์ง๋ค์ ๋ชจ๋ images ํด๋์ ๋ฃ์๊ณ , ๊ทธ๋ฆฌ๊ณ ๊ทธ ํด๋ ์์ ์ฌ์ฉ์์ uid๋ฅผ ๋ด์ ํด๋๋ฅผ ๋ง๋ค์ด์ ๊ทธ ์์ ์ด๋ฏธ์ง๋ค์ ์ ์ฅํ๋ค. ๊ทธ ๋ค์, firestore์ ๋ฐ์ดํฐ๋ค์ ์ง์ด๋ฃ์ ๋, ์ฌ์ฉ์์ uid์ ์ด๋ฏธ์ง ์ฃผ์๋ฅผ ๊ฐ์ด ์ง์ด๋ฃ์๋ค. ์๋ํ๋ฉด ์ฌ์ฉ์ uid๊ฐ ๊ฐ์ผ๋ฉด ์ด๋ฏธ์ง์ฃผ์๋ฅผ ๋ฐ์์ recyclerView์ ๋ณด์ฌ์ฃผ๊ฒ ํ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. firestore์ storage์ ๋ฐ์ดํฐ๋ฅผ ๋ฃ๋ .. 2022. 3. 31. [Android] dagger hilt ๊ธฐ๋ก ์น๊ตฌ๋ค๊ณผ ํ๋ก์ ํธ๋ฅผ ํ๋ฉด์ dagger hilt์ ๋ํ ํ์์ฑ์ ๋๋ผ๊ณ ์ด ํฌ์คํ ์ ์์ฑํ๋ค dagger hilt๋? dagger hilt๋ ์๋๋ก์ด๋์์ ํด๋์ค๊ฐ ์์กด์ฑ์ ์ฃผ์ ํ ์ ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ด๋ค. dagger hilt๋ฅผ ์์๋ณด๊ธฐ ์ ์ ์ผ๋จ ์์กด์ฑ์ด ๋ฌด์์ธ์ง ๋ถํฐ ์์๋ณด์. ์์กด์ฑ์ด๋? ์์กด์ฑ์ด๋ ํด๋์ค๊ฐ ์์กด ๊ด๊ณ๋ฅผ ๊ฐ์ง๋ ํ์์ ๋ปํ๋ค. ์์ class B { val id = "dltntlro" } class A { val data = B() } Aํด๋์ค ๋ด๋ถ์ Bํด๋์ค ๊ฐ์ฒด๊ฐ ์์ฑ๋์ด ์์(์์กด์ ์)์ ๋ณผ ์ ์๋ค ์ด๋ฌํ ์ํฉ์ด ๋ฐ์ํ๋ฉด Aํด๋์ค๊ฐ ํธ์ถ๋ ๋๋ง๋ค Bํด๋์ค๋ ๊ณ์ ์์ฑ๋๊ธฐ ๋๋ฌธ์ ๋นํจ์จ์ ์ด๊ฒ ๋๋ค. ์ฃผ์ ์ด๋? ์ฃผ์ ์ด๋ ํด๋์ค ์ธ๋ถ์์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๋ ๊ฒ์ ๋งํ๋ค. ์์ 2 clas.. 2022. 3. 29. ์ด์ 1 2 3 4 ๋ค์ 728x90