Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

sashatinkoff/Sample-Project

Open more actions menu

Repository files navigation

Sample-Project

Простой проект для работы с товарами

  1. Экран со списком продуктов (добавление, редактирование, удаление элемента + возможность импорта и экспорта в json файл)
  2. Экран создания / редактирования продукта

https://github.com/sashatinkoff/Sample-Project/releases/tag/release/1.0.0 Собранный проект для установки на устройстве

Нюансы

  • В проекте используются два способа открытия интента - старый способ через startActivityForResult и с помощью ActivityResultContracts (идет прямиком из androidx.activity и androidx.fragment)
  • Реализован только пикер изображений из галереи, но при этом учитывается, что на некоторых устройствах фотографии делаются только в landscape orientation (актуально для самсунгов, на некоторых пикселях на фронтальной камере)
  • Экспорт данных по умолчанию идет в data.json, но можно указать и свой вариант
  • При импорте не учитывается mime-type файлов, так что можно попробовать забрать не только text/plain файлы
  • Пример файла экспорта https://github.com/sashatinkoff/Sample-Project/blob/master/good.json

Зависимости и особенности

  • Используется паттерн проектирования MVVM
  • Немного видоизмененная Clean Architecture
  • Используется DI для создания обработчиков productUseCase и pictureUseCase, а также для создания глобального объекта Gson
  • Сборка производится в Android Studio 4.2 Canary 4, большинство зависимостей в состоянии alpha (гугловские)
  • Для обработка и показа фотографий используется библиотека Glide
  • ViewModel в Activity / Fragment создается с помощью ViewModelFactory и схемы @Binds @IntoMap @ViewModelKey
  • Данные хранятся в БД Realm
  • Все операции IO производятся с помощью корутин в диспетчере Dispatcher.IO

Что не работает

  • Не реализован доступ к файлам на Android 10+ (изменилась схема доступа к файловой системе)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Morty Proxy This is a proxified and sanitized view of the page, visit original site.