Skip to content

AndrewkaW/PlaylistMaker

Repository files navigation

PlaylistMaker

Проект представляет собой небольшое приложение для поиска треков, использующее API сервиса iTunes. Приложение предоставляет следующую функциональность:

  • Поиск треков;
  • Добавление и удаление треков в избранное и в плейлисты;
  • Просмотр полной информации о треке;
  • Прослушивание трека;
  • Создание плейлистов;
  • Отображение истории прослушенных треков.

Общие требования

Приложение должно поддерживать устройства, начиная с Android 6.0 (minSdkVersion = 23)

Экран "Поиск"

Описание экрана "Поиск"

При вводе текста в поле поиска происходит поиск треков с помощью сервиса iTunes. Поиск произодится автоматически через 2 секунды после ввода или по нажатию ✅ на клавиатуре. В случае успеха отображает список треков, иначе показывает сообщение об ошибке. Также экран отображает историю последних десяти просмотренных треков с возможностью ее очистить.

Экран "Плеер"

Описание экрана "Плеер"

На экране можно воспроизвести отрывок трека, добавить его в избранное или в конкретный плейлист. Также на нем отображается вся информация о треке.

Экран "Медиатека"

Описание экрана "Медиатека"

Экран поделен на два фрагмента. В первом отображается список избранных треков с возможностью перехода в плеер. Во втором отображается список всех созданных плейлистов с возможностью перехода на экран "Детали плейлиста" и создания нового плейлиста.

Экран "Детали плейлиста"

Описание экрана "Детали плейлиста"

На экране присутствует следующий функционал:

  • Отображение информации о плейлисте (обложку, название и описание плейлиста, количество треков и общее время);
  • Отображение списка треков с возможностью растянуть его на весь экран;
  • Поделиться плейлистом текстовым сообщением (название и список треков) в другом приложении;
  • Редактировать информацию плейлиста (название, обложка, описание);
  • Удалить плейлист;
  • При долгом нажатии на трек его можно удалить.

Экран "Редактирование плейлиста"

Описание экрана "Редактирование плейлиста"

Этот же экран используется создания нового плейлиста. С помощью него можно редактировать название и описание плейлиста и выбирать обложку из изображений, представленных на устройстве.

Экран "Настройки"

Описание экрана "Настройки"

На экране можно:

  • Переключить тему (изначально приложение запускается с темой, выбранной в системе);
  • Поделиться приложением (делиться ссылкой);
  • Написать в поддержку (заполняет форму обращения в почтовом приложении для связи с разработчиком);
  • Посмотреть пользовательское соглашение (открывает браузер с ссылкой на соглашение).

Стек

kotlin, sharedpreferences, recyclerview, mvvm, intent, fragment, glide, retrofit2, bottomnavigationview, bottomsheet, mediaplayer, constraint-layout, androidsdk, livedata, koin, room-database, viewpager2, singleactivity, jetpack-navigation-component, corutine-flow.