๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
21
[Android] Room๊ณผ Retrofit์์ ์ฌ์ฉํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ ๊ตฌ์กฐ๊ฐ ๊ฐ์ ๋, ๊ฐ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ์ฌ์ฉํด๋ ๋ ๊น?
AI Chat์ฑ์ ๊ตฌํํ๋ ์ค์ด์์ต๋๋ค.https://openai.com/ ์์ ์ ๊ณตํ๋ api๋ฅผ ์ฌ์ฉํ๊ตฌ์.Retrofit์ผ๋ก ํต์ ํ๊ณ , Room์ผ๋ก ๋ํ ๋ด์ญ์ ์ ์ฅํ๊ณ ์ ํ์ต๋๋ค. ํต์ ํ๊ณ ์ ํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ฉด์,requestBody์ role๊ณผ content๋ฅผ ๋ณด๋ด๊ณ responseBody์์๋ role๊ณผ content๋ฅผ ๋ฐ์์. ์ ๊ทธ๋์ ์๊ฐํ์ฃ ..์, ํต์ ํ ๋ role๊ณผ content๋ฅผ ํ๋์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ก ๋ง๋ค์ด์ ์ฌ์ฉํ๋ฉด ๋๊ฒ ๊ตฌ๋. ๊ทธ๋ฆฌ๊ณ Room์ผ๋ก ๋๋ฐ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ ๋๋{ํญ๋ชฉ์ ๊ตฌ๋ถํ id, ํญ๋ชฉ์ title,role + content์ ๋ฆฌ์คํธ}๊ฐ ์ ์ฅ๋๋ฉด ์ข๊ฒ ๋ค๊ณ ์๊ฐํ์์ต๋๋ค. ์ฌ๊ธฐ์๋ role๊ณผ content๊ฐ ํ์ํ๋ค?ํ๋์ ๋ฐ์ดํฐ ํด๋์ค๋ก ๋ง๋ค์ด์ ๊ฐ์ด ์จ๋ ๋์ง..
2023.08.16
Android
[Android] Jetpack Compose Navigation ์ ์ฉํด์ ํ๋ฉด ์ด๋ํ๊ธฐ
์๋๋ก์ด๋์ Compose๋ก ๊ตฌํํ๋ค๋ฉดํ๋ฉด ์ด๋ํ ๋๋ Compose Navigation์ ์จ์ค์ผ ํ์ง ์๊ฒ ์ต๋๊น? ์๋์ ๊ฐ์ ์ํฉ๋ค์์ ์ ์ฉํ ์ ์๋ ์์๋ฅผ ์ ์ด๋ณด๊ณ ์ ํฉ๋๋ค.1. ํ๋ฉด ์ด๋ํ๊ธฐ2. ์ธ์ ์ ๋ฌํ๊ธฐ2-1. String ํ์
์ด๋2-2. ์ปค์คํ
๋ฐ์ดํฐ ๋ชจ๋ธ (Parcelable ํ์
) ์ด๋ ์ฐ์ build.gradle(app)์ ์๋ dependency ์ถ๊ฐ๊ฐ ํ์ํฉ๋๋ค.dependencies { def nav_version = "2.6.0" implementation "androidx.navigation:navigation-compose:$nav_version"} ์ต์ ๋ฒ์ ์ ๊ณต์๋ฌธ์์์ ํ์ธํ ์ ์์ต๋๋ค.https://developer.android.com/jetpack..
2023.07.23
Android/Jetpack Compose
Build.gradle์์ ๋ฐ์ํ๋ kotlin version ์๋ฌ
๋ฐ๋จ...Jetpack Compose Navigation์ ํ๊ณ ์ถ์์ต๋๋ค.๊ทธ๋์ app๋จ build.gradle์ ์๋์ ์ฝ๋๋ฅผ ์
๋ ฅํด์ฃผ๊ณ ๋น๋ํด์ฃผ์์ต๋๋ค. implementation "androidx.navigation:navigation-compose:2.6.0" ๊ทธ๋ฌ๋๋ ์๋์ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ต๋๋ค. Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules kotlin-stdlib-1.8.20 (org.jetbrains.kotlin:kotlin-stdlib:1.8.20) and kotlin-stdlib-jdk8-1.7.20 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.20)Dupli..
2023.07.20
Android/Error
[Android] Firestore Coroutine์ผ๋ก ๋ฐ์์ค๊ธฐ
๋ค์ด๊ฐ๋ฉฐ์๋ฒ ๊ตฌ์ถ์ด ์ด๋ ค์ด ์ด์ง ํ๋ก ํธ ๊ฐ๋ฐ์๋ผ ๋๋น๊ฐ ํ์ํ๋ฉด ํญ์ Firebase๋ฅผ ์ ์ฉํด์๋๋ฐ ์ด๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ฐ์์ค๋๋ฐ ๋ํญ์ด ๊ฒช์์ต๋๋ค..๐ญ๐ญ์๋ Firebase๊ฐ ๋น๋๊ธฐ๋ผ๊ณ ?๋น๋๊ธฐ๋ ํ๊ณผ ์์
์๊ฐ์ ๊ฒํฅ๊ธฐ๋ก ๋ค์๊ฒ ๋ค์ธ ๋๋ ๊ธํ๊ฒ ๊ณต๋ถ๋ฅผ ํ๊ฒ ๋์ต๋๋ค.์ด๋ก ์ ์ธ๊ฑฐ ๋ง๊ณ ๊ตฌํ์ ์ผ๋ก...์ฝ๋ฃจํด์ผ๋ก? RxJava๋ก?๋น๋๊ธฐ ์ฒ๋ฆฌํ๋ฉด ๋์ค๋๊ฒ ํฌ๊ฒ ๋ ๊ฐ์ง๊ฐ ์๋๋ผ๊ตฌ์.์ฝ๋ฃจํด๊ณผ Rx.์ฑ์ฉ ์ ๋ณด๋ณด๋ฉด ๋น ์ง์ง ์๊ณ ๋ค์ด๊ฐ๋ ์ฐ๋์ฌํญ์ RxJava๊ฐ ์์ด์ RxJava๋ฅผ ๊ณต๋ถํด์ผํ๋? ๊ณ ๋ฏผํ๋ค๊ฐ๋จผ์ ์ทจ๋ฝํ ์ ๋ฐฐ์,(์ ๋ฐฐ ํ์ฌ ์ ์
๊ฐ๋ฐ์๋ค) ๋ค๋ค ์ฝ๋ฃจํด ๊ธฐ๋ณธ์ผ๋ก ํ๊ณ ํ์ฌ์์ Rx๋ฐฐ์ฐ๊ณ ์๋ค.์.... ์ฝ๋ฃจํด์ด ๊ธฐ๋ณธ์ด๊ตฌ๋....(๋จ์) ํ๊ณ ์ฝ๋ฃจํด์ ์ด์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ์ต๋๋ค๐์๋๋ก์ด๋์ ์ฝ๋ฃจํดGradle ..
2023.07.17
Android
Could not identify launch activity: Default Activity not found ์๋ฌ ํด๊ฒฐ
Could not identify launch activity: Default Activity not foundError while Launching activityFailed to launch an application on all devices ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด Manifest ํ์ผ์ ํ์ธํด์ผ ํฉ๋๋ค. ์์ ๊ฐ์ด LAUNCHER๋๋ activity๊ฐ ์์ฑ๋์ด ์์ด์ผ ํ๋๋ฐ ๊ฐ ๋๋ฝ๋์๊ฑฐ๋ ๊ฐ ๋๋ฝ๋์ด ์์ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๋ง์ฝ ์ถ๊ฐ๊ฐ ๋์ด์๋๋ฐ๋ ํด๋น ์๋ฌ๊ฐ ๋ฐ์ํ๋ค๋ฉด..File > Invalidate Caches > Invalidate and Restart ๋ก ์ฌ๋น๋ ํ๋ ๊ฒ๋ ์์ฃผ ์ข์.. ..
2023.07.07
Android/Error
@hiltandroidapp to have a value. did you forget to apply the gradle plugin ์๋ฌ ํด๊ฒฐ
์๋๋ก์ด๋ ํ๋ก์ ํธ์ Hilt๋ฅผ ์ค์ ํ ๋๋ํ๋๋ง ๋น ์ ธ๋ ๋น๋๊ฐ ์๋๋ ์๋ฌ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋น ์ง ๊ฒ ์๋ ์ง ์ฃผ์ํด์ผ ํฉ๋๋ค. ์ ๋ชฉ๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ์ ๋๋ gradle์ ๋น ๋จ๋ฆฐ ๊ฒ ์๋์ง ํ์ธํด์ผ ํ๋๋ฐ ์ฐ์ app ์์ค์ build.gradle ์๋ ์๋์ ๊ฐ์ ๋ด์ฉ๋ค์ด ๋ค์ด๊ฐ ์์ด์ผ ํฉ๋๋ค.plugins { id 'kotlin-kapt' id 'dagger.hilt.android.plugin'}dependencies { implementation "com.google.dagger:hilt-android:2.44" kapt "com.google.dagger:hilt-android-compiler:2.44"} ๊ทธ๋ฆฌ๊ณ project ์์ค์ build.gradle ์..
2023.07.04
Android/Error
[Android] Waiting for target device to come online ์ค๋ฅ๋ ๋
๋ค์ด๊ฐ๊ธฐ์๋๋ก์ด๋ ์คํ๋์ค์์ Run์ ์คํํ ๋,Waiting for target device to come online .. ๋ผ๋ ๋ฌธ๊ตฌ๊ฐ ๋จ๋ฉด์ ๋ฌดํ ๋ก๋ฉ์ ๋น ์ ธ๋ฒ๋ฆฐ ์ ์ด ์์ต๋๋ค ๐ข๊ทธ๋ด ๋ ํด๊ฒฐํ ์ ์๋ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ๋ค์ ์ ์ด๋ณด๋ ค๊ณ ํฉ๋๋ค! ๋ฐฉ๋ฒ(1) AVD Manager -> Wipe Data์ด ์์
์ ํด๋น ๊ฐ์ ๋๋ฐ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์ญ์ ์ํต๋๋ค.๋๋ถ๋ถ ์ด ์์
์ผ๋ก ๋ง์ด ํด๊ฒฐ๋๋ค๊ณ ํด์. (2) AVD Manager -> Cold Boot Now์๋ฎฌ๋ ์ดํฐ๋ฅผ ์ฌ๋ถํ
์์ผ์ฃผ๋ ๋ฐฉ๋ฒ์
๋๋ค.ํธ๋ํฐ์ด ๋จนํต์ผ ๋ ๊ป๋ค๊ฐ ํค๋ ๋ฐฉ๋ฒ๊ณผ ๋น์ทํ ๋ฐฉ๋ฒ์
๋๋ค. (3) Invalidate Caches / Restart์บ์๋ฅผ ๋ฌดํจํํ๋ค. ์ฆ, ์บ์ ๋น์ฐ๋ ๋ฐฉ๋ฒ์
๋๋ค.์ด ์ค๋ฅ์ํฉ ์ธ์๋ ์๋๋ก์ด๋ ์คํ๋์ค๊ฐ ๋จนํต์ผ ๋ ..
2023.06.30
Android/Error
NoSQL ์ดํดํ๊ธฐ
NoSQL์ ๋ํ ์ฌ๋ฏธ์๋ ์ด์ผ๊ธฐ๋ฅผ ๋ค์ด์ ๊ธ์ ํ๋ฒ ์จ๋ณด๋ ค๊ณ ํฉ๋๋ค. ์ฐ์ NoSQL์ ๋น๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์
๋๋ค.์ผ๋ฐ์ ์ผ๋ก ์๊ณ ์๋ MySQL, Oracle๊ณผ ๊ฐ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฌ๋ฆฌ ํ
์ด๋ธ์ด๋ ๊ฐ๋
์ด ์๊ณ , ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์กฐ์ธ์ด๋ ๊ฐ๋
๋ ์์ต๋๋ค. ์ข
๋ฅ๋ก๋ MongoDB, HBase, Firebase์ Firestore ๋ฑ์ด ์์ฃ .๊ทธ๋ฐ๋ฐ ์ฌ์ค ์ด๋ฌํ ์ ์๋ค๋ก๋ ์๋น์ค๋ฅผ ์ค๊ณํ ๋ NoSQL์ ์จ์ผํ๋์ง, RDBMS์ ์จ์ผํ๋์ง ์ ์ดํดํ์ง ๋ชปํฉ๋๋ค. ๋ณด์ ํ์ฌ์์ ์ด๋ฐ ์ผ์ด ํ๋ฒ ์ผ์ด๋ฌ์๋ค๊ณ ํฉ๋๋ค. ๐ฃ : ๋ถํ์์ ์นจ์
ํ IP ๊ฐ์๋ฐ, ์ต๊ทผ 6๊ฐ์ ์ด IP๊ฐ ์นจ์
ํ ๋ก๊ทธ ๋ชจ์์ ๋ณด๋ด์ฃผ์ธ์. ๊ทผ๋ฐ ๊ทธ ํ์ฌ๋ RDBMS๋ก ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ง๊ณ ์์๋์. ๋ ์ง๋ณ๋ก ์ ์ ๋ฆฌ๋..๋ก๊ทธ๊ฐ ..
2023.06.28
What I Learned

[Android/Kotlin] ์ธ์ฑ ์
๋ฐ์ดํธ In-App Update (AppUpdateManager)
1
์ธ์ฑ ์
๋ฐ์ดํธ๋ ์ดํ ๋ด์์ ์ฌ์ฉ์์๊ฒ ์ฑ์ ์
๋ฐ์ดํธํ๋ผ๊ณ ๋ฉ์์ง๋ฅผ ํ์ํ๋ Google Play Core ๋ผ์ด๋ธ๋ฌ๋ฆฌ ๊ธฐ๋ฅ์
๋๋ค. ์ด๋ Developers์ ๋ฌธ์ฅ์ด๊ณ , ์กฐ๊ธ ๋ ์ฝ๊ฒ ๋งํ์๋ฉด ์ดํ ๋ด์์ ์
๋ฐ์ดํธ ๊ฐ๋ฅ ์ฌ๋ถ๋ฅผ ์ฒดํฌํ๊ณ , ๋ฐ๋ก ์
๋ฐ์ดํธ๋ฅผ ์งํํ ์ ์๋ ๊ธฐ๋ฅ์ด๋ผ๊ณ ํ ์ ์์ต๋๋ค. ์ธ์ฑ ์
๋ฐ์ดํธ์๋ ๋ ๊ฐ์ง ํ๋ฆ์ผ๋ก ์งํ๋ฉ๋๋ค. ์ ์ฐํ ์
๋ฐ์ดํธ (Flexible Update) ์ฆ์ ์
๋ฐ์ดํธ (Immediate Update) Flexible Update๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ๋ค์ด๋ก๋๋ก ์งํ๋์ด ์
๋ฐ์ดํธ๊ฐ ์ค์น๋๋ ๋์ ์ฌ์ฉ์๊ฐ ์ฑ์ ์ฌ์ฉํ ์ ์๋ ์
๋ฐ์ดํธ ๋ฐฉ์์
๋๋ค. Immediate Update๋ ํฌ๊ทธ๋ผ์ด๋์์ ๋ค์ด๋ก๋๊ฐ ์งํ๋๊ธฐ ๋๋ฌธ์, ์
๋ฐ์ดํธ๋ฅผ ์คํํ๋ฉด ์ฌ์ฉ์๋ ์
๋ฐ์ดํธ์ ์ค์น์ ์ฌ์คํ๋๊ธฐ๊น..
2022.09.19
Android