Как мне лучше добавить зависимости?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как мне лучше добавить зависимости?

Сообщение Anonymous »

Я любитель заново изучать Android с нуля, но трачу на программирование менее 1 % своего времени, поскольку постоянно сталкиваюсь с проблемой нераспознавания ссылок и отсутствия предлагаемого решения.
Для контекста: во времена Gingerbread/Honeycomb я создал несколько полноценных приложений, и я помню, что нужно было просто щелкнуть правой кнопкой мыши --> импортировать --> готово. Я не думаю, что я даже знал о файлах Gradle или слове «зависимость», и я хочу снова испытать это. У меня просто розовый взгляд на прошлое???
Вот реальный пример, который это иллюстрирует.
В Cupcake на android.com Приложение CupcakeScreen.kt имеет этот код:

Код: Выделить всё

@Composable
fun CupcakeApp(
viewModel: OrderViewModel = viewModel(),
navController: NavHostController = rememberNavController()
) {

Scaffold(
...
Я хочу добавить ту же строку viewModel в свое приложение, поэтому я вставляю эту строку вместе с тем же оператором импорта, который использует приложение Cupcake:

Код: Выделить всё

import androidx.lifecycle.viewmodel.compose.viewModel

@Composable
fun GotubeApp(
viewModel: ConceptisViewModel = viewModel(),
) {
Word Compose в линии импорта выделяется красным цветом, а на колебании оно дает сообщение об ошибке: «Неразрешенная ссылка: Compose», без предложения для его исправления. быть тем самым, но не так явно совпадение:

Код: Выделить всё

dependencies {

implementation(platform("androidx.compose:compose-bom:2023.10.01"))
implementation("androidx.activity:activity-compose:1.8.0")
implementation("androidx.compose.material3:material3")
implementation("androidx.compose.runtime:runtime")
implementation("androidx.compose.runtime:runtime-livedata")
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.ui:ui-graphics")
implementation("androidx.compose.ui:ui-tooling-preview")
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.lifecycle:lifecycle-livedata-ktx:${rootProject.extra["lifecycle_version"]}")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:${rootProject.extra["lifecycle_version"]}")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:${rootProject.extra["lifecycle_version"]}")
implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:${rootProject.extra["lifecycle_version"]}")
implementation("androidx.navigation:navigation-compose:2.7.4")

debugImplementation("androidx.compose.ui:ui-test-manifest")
debugImplementation("androidx.compose.ui:ui-tooling")
}
Я не знаю, какой из них мне следует использовать, поэтому я просматриваю страницу жизненного цикла Android, где приведен список:

Код: Выделить всё

    // ViewModel
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version")
// ViewModel utilities for Compose
implementation("androidx.lifecycle:lifecycle-viewmodel-compose:$lifecycle_version")
// LiveData
implementation("androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version")
// Lifecycles only (without ViewModel or LiveData)
implementation("androidx.lifecycle:lifecycle-runtime-ktx:$lifecycle_version")
// Lifecycle utilities for Compose
implementation("androidx.lifecycle:lifecycle-runtime-compose:$lifecycle_version")

// Saved state module for ViewModel
implementation("androidx.lifecycle:lifecycle-viewmodel-savedstate:$lifecycle_version")

...
Я просматриваю их по одному сверху, пока ошибка при «составлении» не исчезнет.
Это очень много работы для одной строки кода, и почти каждая добавляемая мной строка заставляет меня проходить аналогичную процедуру. Это то, на что сейчас похожа разработка Android, или я могу добиться большего?

Подробнее здесь: https://stackoverflow.com/questions/792 ... pendencies
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»