Skip to content

N1oH0my/CocktailBar

Repository files navigation

CocktailBar

https://www.figma.com/file/UCmGNNZj7950sB6sD9BaCG/Android-Test---Cocktail-Bar?type=design&node-id=0-1&mode=design

В проекте использовались следующие библиотеки:

  • Glide (implementation 'com.github.bumptech.glide:glide:4.12.0') - библиотека для загрузки и отображения изображений.
  • Lifecycle ViewModel (implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.6.1') - библиотека для управления данными, связанными с пользовательским интерфейсом.
  • Activity (implementation 'androidx.activity:activity-ktx:1.7.2') - библиотека для упрощения работы с активностями в AndroidX.
  • Также используется binding для упрощения работы с xml.

Описание функционала:

  • Сначала создаётся MainActivity и запускает HomePageFragment, загружается начальный экран без коктейлей.
  • При добавлении, часть фрагмента заменяется другим для отображения списка добавленных коктейлей.
  • При нажатии на кнопку добавить, открывается активити SaveCocktailView.
  • При нажатии на кнопку сохранения, список регенерируется вместе с новым элементом и переносит нас на главный экран с изменённым фрагментом.
  • При нажатии на кнопку отмены, возвращаемся обратно.
  • При нажатии на конкретный коктель, открывается активити Cocktail_View_Activity со всеми данными (изображение почему-то не отображается именно в этой активити).
  • При нажатии кнопки Edit, запускается ранее упомянутая активити SaveCocktailView, но в этот раз туда передаётся Intent "edit" для различия с добавлением, все поля заполняются и после изменения и сохранения обновляются только на главном экране.
  • При отмене, возвращаемся обратно.

Данные хранятся в "MutableLiveData MutableList(Cocktail)" с подпиской на изменения.

Для сохранения данных была попытка написать класс с SharedPreferences, но не удалось, пыталась сохранить MutableList, а ещё в виде JSON, но приложение всегда зависало при сохранении.

Также была попытка исправить RecyclerView, чтобы не было таких отступов, но не было найдено решения для этой ситуации.

Alt текст

Alt текст

Alt текст

Alt текст

Alt текст

Alt текст

Alt текст

Alt текст

Releases

No releases published

Packages

No packages published

Languages