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

174 lines
5.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Инструкция по сборке проекта после изменений 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 модель)
**Решение:** Используйте алиасы импорта:
```kotlin
import com.yaros.RadioUrl.data.Station as ApiStation
import com.yaros.RadioUrl.core.Station
```
## Тестирование
После успешной сборки:
1. Запустите приложение
2. Перейдите в раздел "Каталог"
3. Проверьте загрузку станций из API
4. Попробуйте добавить станцию в коллекцию
5. Проверьте категории
## Дополнительные настройки
### Добавление библиотеки для загрузки изображений
В `app/build.gradle` добавьте одну из библиотек:
**Glide (рекомендуется):**
```gradle
dependencies {
implementation 'com.github.bumptech.glide:glide:4.16.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.16.0'
}
```
**Или Coil:**
```gradle
dependencies {
implementation 'io.coil-kt:coil:2.5.0'
}
```
### Реализация imageLoader
После добавления библиотеки, обновите imageLoader в фрагментах:
**С Glide:**
```kotlin
imageLoader = { imageView, url ->
Glide.with(imageView.context)
.load(url)
.placeholder(R.drawable.ic_station_placeholder)
.error(R.drawable.ic_station_placeholder)
.into(imageView)
}
```
**С Coil:**
```kotlin
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 на наличие специфичных ошибок