Files
SoundWaveRadio/BUILD_INSTRUCTIONS.md
T
2026-02-05 13:47:39 +03:00

5.7 KiB
Raw Blame History

Инструкция по сборке проекта после изменений UI

Шаг 1: Синхронизация проекта

  1. Откройте проект в Android Studio
  2. Выполните синхронизацию Gradle:
    • File → Sync Project with Gradle Files
    • Или нажмите кнопку "Sync Now" если появится уведомление

Шаг 2: Очистка и пересборка

  1. Очистите проект:

    Build → Clean Project
    
  2. Пересоберите проект:

    Build → Rebuild Project
    

Шаг 3: Проверка импортов

Если после синхронизации остаются ошибки импортов:

  1. Откройте файлы с ошибками
  2. Поставьте курсор на красное подчеркивание
  3. Нажмите Alt + Enter (Windows/Linux) или Option + Enter (Mac)
  4. Выберите "Import class"

Шаг 4: Invalidate Caches (если нужно)

Если проблемы сохраняются:

  1. File → Invalidate Caches / Restart...
  2. Выберите "Invalidate and Restart"
  3. Дождитесь перезапуска Android Studio

Проверка созданных файлов

Адаптеры (должны быть в app/src/main/java/com/yaros/RadioUrl/adapters/)

  • RadioStationAdapter.kt
  • RecommendedStationAdapter.kt
  • CategoryAdapter.kt
  • CategoryGridAdapter.kt
  • NewsAdapter.kt

Модели (должны быть в app/src/main/java/com/yaros/RadioUrl/models/)

  • RadioStation.kt
  • CategoryWithCount.kt

Layout файлы (должны быть в app/src/main/res/layout/)

  • item_radio_station.xml (уже был)
  • item_recommended_station.xml
  • item_category.xml
  • item_category_grid.xml
  • item_news.xml
  • fragment_catalog.xml (обновлен)
  • fragment_category_stations.xml (обновлен)

Drawable ресурсы (должны быть в app/src/main/res/drawable/)

  • gradient_overlay.xml
  • ic_station_placeholder.xml
  • ic_chevron_left_24dp.xml

Возможные проблемы и решения

Проблема 1: "Unresolved reference 'adapters'"

Решение:

  1. Убедитесь, что папка adapters создана в правильном месте
  2. Выполните Sync Project with Gradle Files
  3. Если не помогло - Invalidate Caches

Проблема 2: "Cannot resolve symbol 'R'"

Решение:

  1. Build → Clean Project
  2. Build → Rebuild Project
  3. Проверьте, нет ли ошибок в XML файлах

Проблема 3: Ошибки в layout файлах

Решение:

  1. Откройте каждый layout файл
  2. Проверьте, что все ID корректны
  3. Убедитесь, что используются правильные виджеты

Проблема 4: "Unresolved reference" для Station

Причина: В проекте есть два класса Station:

  • com.yaros.RadioUrl.data.Station (API модель)
  • com.yaros.RadioUrl.core.Station (Core модель)

Решение: Используйте алиасы импорта:

import com.yaros.RadioUrl.data.Station as ApiStation
import com.yaros.RadioUrl.core.Station

Тестирование

После успешной сборки:

  1. Запустите приложение
  2. Перейдите в раздел "Каталог"
  3. Проверьте загрузку станций из API
  4. Попробуйте добавить станцию в коллекцию
  5. Проверьте категории

Дополнительные настройки

Добавление библиотеки для загрузки изображений

В app/build.gradle добавьте одну из библиотек:

Glide (рекомендуется):

dependencies {
    implementation 'com.github.bumptech.glide:glide:4.16.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
}

Или Coil:

dependencies {
    implementation 'io.coil-kt:coil:2.5.0'
}

Реализация imageLoader

После добавления библиотеки, обновите imageLoader в фрагментах:

С Glide:

imageLoader = { imageView, url ->
    Glide.with(imageView.context)
        .load(url)
        .placeholder(R.drawable.ic_station_placeholder)
        .error(R.drawable.ic_station_placeholder)
        .into(imageView)
}

С Coil:

imageLoader = { imageView, url ->
    imageView.load(url) {
        placeholder(R.drawable.ic_station_placeholder)
        error(R.drawable.ic_station_placeholder)
    }
}

Контрольный список

  • Синхронизация Gradle выполнена
  • Проект очищен и пересобран
  • Все импорты корректны
  • Нет ошибок компиляции
  • Приложение запускается
  • Каталог загружает станции
  • Станции добавляются в коллекцию
  • Категории отображаются корректно

Поддержка

Если возникли проблемы:

  1. Проверьте файл UI_CHANGES_SUMMARY.md для деталей изменений
  2. Убедитесь, что все файлы созданы в правильных директориях
  3. Проверьте логи Android Studio на наличие специфичных ошибок