MusicApp — это Android приложение, позволяющее искать, прослушивать и скачивать музыкальные треки через API, а также просматривать скачанные треки и управлять воспроизведением.
- Экран поиска треков из API — отображает список треков, доступных через внешний API.
- Экран скачанных треков — позволяет пользователю просматривать все загруженные на устройство треки.
- Экран воспроизведения — воспроизводит трек, отображает обложку и прогресс воспроизведения. Поддерживает управление воспроизведением (play/pause, перемотка).
- Kotlin — основной язык разработки.
- Kotlin Coroutines — для работы с многопоточностью.
- MVVM, Clean Architecture — архитектурные паттерны для разделения данных, логики и UI.
- XML - для работы с View
- Kotlinx Serialization - сериализация данных.
- Room — для работы с локальной базой данных.
- Jetpack Navigation - для навигации между фрагментами.
- Dagger2 - для инъекции зависимостей.
- Retrofit — для взаимодействия с API.
- Glide — для загрузки изображений.
- LiveData / ViewModel — для реактивного обновления UI.
- Android Studio последней версии.
- JDK 8+ для компиляции проекта.
- Минимальная версия Android — API 26 (Android 8.0).
git clone https://github.com/realism-dev/music-app.gitВ меню выберите File -> Open и выберите папку с клонированным проектом.
После того как проект откроется, Android Studio предложит вам синхронизировать Gradle. Нажмите Sync Now.
Проект использует несколько сторонних библиотек, указанных в файле build.gradle. Все они будут автоматически загружены при синхронизации Gradle.
Подключите Android-устройство или запустите эмулятор. Нажмите Run в Android Studio. Приложение откроется на вашем устройстве с экраном поиска треков из API.
В проекте использовалось Api Deezer.
Реализован прогресс-бар, кнопки: воспроизведения/паузы, следующий трек, предыдущий трек.
Есть возможность вручную изменять положение ползунка на прогресс-баре и прослушивать трек с выбранной позиции.
Реализована возможность сохранения треков в хранилище приложения.
Поскольку это незаконно и нарушает права авторов и исполнителей,в данном приложении превью треков и изображения обложек альбомов/треков не сохранялись, но достаточно наглядно отражена возможность хранения любых данных во внутреннем хранилище телефона. Данный вопрос считаю закрытым.
С данной задачей не справился, т.к. ранее не работал в таком формате. Буду рад, если кто-то научит и покажет как надо :)
Не хватило времени реализовать, буду допиливать.
Также не хватило времени. В разработке.