#1 ๊ฐ์
๋ฒ์ ์นดํ๋ก๊ทธ(libs.versions.toml) ์ ํ๋กํผํฐ๋ช ์ ์์ ํ๋ค.
#2 ๊ฐ์ ํ ํฌ์ธํธ
#2-1 WhatใWhy
Now in Android | Android Developers
์ด ํ์ด์ง๋ Cloud Translation API๋ฅผ ํตํด ๋ฒ์ญ๋์์ต๋๋ค. ์ปฌ๋ ์ ์ ์ฌ์ฉํด ์ ๋ฆฌํ๊ธฐ ๋ด ํ๊ฒฝ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์ฝํ ์ธ ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฅํ์ธ์. Now in Android ์ฑ, Play ์คํ ์ด์ ์ถ์ Now in Android๋ ์์ ํ
developer.android.com
Now in Android๋ Android ์ค๊ณ ๋ฐ ๊ฐ๋ฐ ๊ถ์ฅ ์ฌํญ๋๋ก ๋ง๋ '๊ณต์์ ์ธ ์ํ' ์ฑ์ด๋ค (์์ค ์ฝ๋). ๋ด ํ๋ก์ ํธ์ ๋ฒ์ ์นดํ๋ก๊ทธ ์ ํ๋กํผํฐ๋ช ๊ณผ Now in Android์ ๋ฒ์ ์นดํ๋ก๊ทธ ์ ํ๋กํผํฐ๋ช ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ๋ฅผ ํ์ธํ๋ค. ๋๋ Now in Android์ ์คํ์ผ์ ๋ฐ๋ผ๊ฐ ๊ฒ์ด๋ฏ๋ก, ํ๋กํผํฐ๋ช ๊น์ง ๋๊ฐ์ด ๋ง์ถ๋ฉด ์ข๊ฒ ๋ค๋ ์๊ฐ์ด ๋ค์๋ค.
#2-2 How
๋ด ํ๋ก์ ํธ์ Now in Android์ ๋ฒ์ ์นดํ๋ก๊ทธ ์ ํ๋กํผํฐ๋ช ๋ง์ถ๊ธฐ
#1 ๊ฐ์#1-1 Why Now in Android | Android Developers์ด ํ์ด์ง๋ Cloud Translation API๋ฅผ ํตํด ๋ฒ์ญ๋์์ต๋๋ค. ์ปฌ๋ ์ ์ ์ฌ์ฉํด ์ ๋ฆฌํ๊ธฐ ๋ด ํ๊ฒฝ์ค์ ์ ๊ธฐ์ค์ผ๋ก ์ฝํ ์ธ ๋ฅผ ์ ์ฅํ๊ณ ๋ถ๋ฅํ์ธ์. Now in Android ์ฑ,
kenel.tistory.com
์ด๋ฅผ ์ํด ๋ง๋ ๊ฐ๋จํ ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๋ค.
#3 ์ฝ๋ ์ค๋ํซ
[My] androidx-ui-test-junit4 = { group = "androidx.compose.ui", name = "ui-test-junit4" }
[Nia] androidx-compose-ui-test = { group = "androidx.compose.ui", name = "ui-test-junit4" }
[My] androidx-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "espressoCore" }
[Nia] androidx-test-espresso-core = { group = "androidx.test.espresso", name = "espresso-core", version.ref = "androidxEspresso" }
[My] hilt-android = { module = "com.google.dagger:hilt-android", version.ref = "hiltVersion" }
[Nia] hilt-android = { group = "com.google.dagger", name = "hilt-android", version.ref = "hilt" }
[My] androidx-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
[Nia] androidx-compose-ui-tooling-preview = { group = "androidx.compose.ui", name = "ui-tooling-preview" }
[My] androidx-material-icons-extended = { module = "androidx.compose.material:material-icons-extended", version.ref = "materialIconsExtended" }
[Nia] androidx-compose-material-iconsExtended = { group = "androidx.compose.material", name = "material-icons-extended" }
[My] androidx-lifecycle-viewmodel-compose = { module = "androidx.lifecycle:lifecycle-viewmodel-compose", version.ref = "lifecycleRuntimeKtx" }
[Nia] androidx-lifecycle-viewModelCompose = { group = "androidx.lifecycle", name = "lifecycle-viewmodel-compose", version.ref = "androidxLifecycle" }
[My] androidx-ui-test-manifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
[Nia] androidx-compose-ui-testManifest = { group = "androidx.compose.ui", name = "ui-test-manifest" }
[My] androidx-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
[Nia] androidx-compose-ui-tooling = { group = "androidx.compose.ui", name = "ui-tooling" }
[My] androidx-room-runtime = { module = "androidx.room:room-runtime", version.ref = "roomRuntime" }
[Nia] room-runtime = { group = "androidx.room", name = "room-runtime", version.ref = "room" }
[My] truth = { module = "com.google.truth:truth", version.ref = "truthVersion" }
[Nia] truth = { group = "com.google.truth", name = "truth", version.ref = "truth" }
[My] androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "activityCompose" }
[Nia] androidx-activity-compose = { group = "androidx.activity", name = "activity-compose", version.ref = "androidxActivity" }
[My] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "coreKtx" }
[Nia] androidx-core-ktx = { group = "androidx.core", name = "core-ktx", version.ref = "androidxCore" }
[My] androidx-room-ktx = { module = "androidx.room:room-ktx", version.ref = "roomRuntime" }
[Nia] room-ktx = { group = "androidx.room", name = "room-ktx", version.ref = "room" }
[My] androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "appcompat" }
[Nia] androidx-appcompat = { group = "androidx.appcompat", name = "appcompat", version.ref = "androidxAppCompat" }
[My] androidx-navigation-compose = { module = "androidx.navigation:navigation-compose", version.ref = "navigationRuntimeKtx" }
[Nia] androidx-navigation-compose = { group = "androidx.navigation", name = "navigation-compose", version.ref = "androidxNavigation" }
[My] androidx-room-compiler = { module = "androidx.room:room-compiler", version.ref = "roomRuntime" }
[Nia] room-compiler = { group = "androidx.room", name = "room-compiler", version.ref = "room" }
[My] androidx-ui-util = { group = "androidx.compose.ui", name = "ui-util" }
[Nia] androidx-compose-ui-util = { group = "androidx.compose.ui", name = "ui-util" }
[My] androidx-material3 = { group = "androidx.compose.material3", name = "material3" }
[Nia] androidx-compose-material3 = { group = "androidx.compose.material3", name = "material3" }
[My] androidx-hilt-navigation-compose = { module = "androidx.hilt:hilt-navigation-compose", version.ref = "hiltNavigationCompose" }
[Nia] androidx-hilt-navigation-compose = { group = "androidx.hilt", name = "hilt-navigation-compose", version.ref = "androidxHiltNavigationCompose" }
[My] android-library = { id = "com.android.library", version.ref = "agp" }
[Nia] android-library = { id = "com.android.library", version.ref = "androidGradlePlugin" }
[My] kotlin-compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
[Nia] compose = { id = "org.jetbrains.kotlin.plugin.compose", version.ref = "kotlin" }
[My] android-application = { id = "com.android.application", version.ref = "agp" }
[Nia] android-application = { id = "com.android.application", version.ref = "androidGradlePlugin" }
[My] hilt = { id = "com.google.dagger.hilt.android", version.ref = "hiltVersion" }
[Nia] hilt = { id = "com.google.dagger.hilt.android", version.ref = "hilt" }
์๋ #2-2์ ์คํฌ๋ฆฝํธ ํ๋ก๊ทธ๋จ์ ์ถ๋ ฅ ๊ฒฐ๊ณผ๋ค. ์ถ๋ ฅ๋ ๋ด์ฉ์ ๋ฐํ์ผ๋ก ๋ด ํ๋ก์ ํธ์ ํ๋กํผํฐ๋ช ๋ค์ ์์ ํ๋ค. ์์ ํ ๋ค์ ์คํฌ๋ฆฝํธ๋ฅผ ์คํ์์ผ ๋ดค๋๋ฐ, ๋น์ฐํ๊ฒ ์ง๋ง (๋ค๋ฅธ ์ ์ด ์์ ํ ๋) ์๋ฌด๊ฒ๋ ์ถ๋ ฅ๋์ง ์์๋ค.
#4 ์์ค ์ฝ๋
#4-1 ์ด ๊ฒ์๊ธ ์์ ์ Commit
GitHub - Kanmanemone/nutri-capture-new
Contribute to Kanmanemone/nutri-capture-new development by creating an account on GitHub.
github.com
#4-2 ๋ณธ ํ๋ก์ ํธ์ ๊ฐ์ฅ ์ต์ Commit
GitHub - Kanmanemone/nutri-capture-new
Contribute to Kanmanemone/nutri-capture-new development by creating an account on GitHub.
github.com
'๊ฐ๋ฐ ์ผ์ง ๐ป > Swemo' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| Nutri Capture - Swemo ๊ฒ์๊ธ ์๋ฆฌ์ฆ๋ก ์ด๋ (0) | 2025.12.09 |
|---|---|
| Nutri Capture - ๋ฐฉํฅ ์ฌ์ค๊ณ (ํ๋ก์ ํธ ์ด๋ฆ ๋ณ๊ฒฝ) (1) | 2025.12.02 |
| Nutri Capture - ContentWithSwipeableBottomSheet() ๋์ (0) | 2025.10.31 |
| Nutri Capture - Entry point๋ฅผ Now in Android ์คํ์ผ๋ก ๋ณ๊ฒฝ (0) | 2025.10.31 |
| Nutri Capture - ํ๋ก์ ํธ ๋ชจ๋ํ ๋ฐ ์ฝ๋ ์ฌ๋ฐฐ์น (0) | 2025.10.31 |