produman66 / ToDoYanexxx

1 stars 0 forks source link

Third homework #4

Closed produman66 closed 2 weeks ago

produman66 commented 3 weeks ago

Третья домашка

Если будут какие-то вопросы, недопонимание, очень прошу писать в тг: @Gudman285

Загрузка

Ты можешь сразу скачать приложение и потыкать его .apk

Краткий экскурс

При первом открытие приложения нам предлагают авторизоваться через Я.Паспорт. В случае если мы скипнем и нажмем по экрану не выбирая профиль, данные конечно будут сохранятся локально, но будет вылезать предупредительная ошибка, и при всех последующих заходах нам будут предлагать войти.

В случае если мы войдем мы сможем пользоваться приложением как онлайн, так и оффлайн. При отсутствии интернета, когда пользователь совершает какое-либо действие, мы ему напоминаем, что действия происходят локально. Приложение автоматически при появлении интернета синхронизирует все данные с сервером. Также в фоне приложение +- каждые 15 минут делает синхронизацию данных. По-мимо этого мы можем синхронизировать данные с помощью свайпа сверху вниз по списку. В случае ошибки, мы также можем нажать на кнопку "Повторить", которая повторит запрос. Также реализовано периодическое обновление в фоне как указано в тз - раз в 8 часов.

Ну и также вы можете пользоваться приложением с нескольких устройств

P.S также если вы будете фокать репозиторий, то вы можете в методе, где я обновляю токен при инициализации репозитория захардкодить токен на какой-то другой, чтобы он был неправильным. Тогда при запросе к серваку тоже будет ошибка, которая будет информировать пользователя

Скриншоты

Домашнее задание по лекции Network в Android

Задание Готовность
Добавить авторизационный токен в запросы Готово
Получать список задач от сервера Готово
Отправлять данные о добавлении/удалении/изменении задач с сервером. Готово
Обработка ошибок от сервера Готово
ДОП: Реализована авторизация через Я.Паспорт Готово

Часть про работу с базой данных

Задание Готовность
Приложение должно работать без интернета Готово
Синхронизация данных. Готово
Реализовать периодическое обновление данных в фоне (раз в 8 часов) Готово
Внимание: Все I/O операции (походы в сеть или базу данных) должны выполняться в фоновом потоке. Готово

Домашнее задание по лекции Архитектура

Задание Готовность
Разделение на слои Готово
Использовать что-то с подписками и привязкой Готово
Оставить только необходимый минимум кода во фрагментах и Activity. Готово
Причесать код. Готово