This commit is contained in:
2026-02-05 13:47:39 +03:00
commit d4d78ba52b
295 changed files with 24155 additions and 0 deletions
+173
View File
@@ -0,0 +1,173 @@
# Инструкция по сборке проекта после изменений 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 на наличие специфичных ошибок