Выполненное задание прикрепите ссылкой на ваши GitHub-проекты в личном кабинете студента на сайте netology.ru.
Важно: для запуска сервера используйте java 17 и выше. Инструкция.
Важно: ознакомьтесь со ссылками, представленными на главной странице репозитория с домашними заданиями.
Важно: если у вас что-то не получилось, оформите Issue. Шаблон для оформления.
- Откройте ваш проект с предыдущего ДЗ (можете брать код из лекции).
- Сделайте необходимые коммиты.
- Сделайте пуш. Удостоверьтесь, что ваш код появился на GitHub.
- Ссылку на ваш проект прикрепите в личном кабинете на сайте netology.ru.
- Задание со звёздочкой выполнять не обязательно. Оно не влияет на получение зачёта.
В проекте, который мы рассматривали на лекции, не реализованы лайки:
class PostRepositoryImpl: PostRepository {
override fun likeById(id: Long) {
// TODO: do this in homework
}
}
Backend-разработчики наконец предоставили описание API для реализации:
1. Добавление лайка:
POST /api/posts/{id}/likes
2. Удаление лайка:
DELETE /api/posts/{id}/likes
Где {id}
— это идентификатор поста.
В ответ на оба запроса сервер присылает JSON обновлённого поста, который можно использовать для отображения изменённого поста в ленте.
Реализуйте возможность ставить и снимать лайк в вашем проекте. Для этого используйте код сервера с лекции.
Обратите внимание: после выполнения запроса список постов нужно обновить, чтобы отображалось актуальное количество лайков. Подумайте, как это правильно сделать.
Опубликуйте изменения в виде Pull Request в вашем проекте на GitHub.
Результат пришлите ссылкой на PR GitHub-проект в личном кабинете студента на сайте netology.ru.
Важно: это необязательная задача. Она не влияет на получение зачёта.
В списках в Android есть функция Swipe To Refresh
:
- Пользователь тянет сверху вниз список (или любое другое
View
). - Появляется иконка обновления.
- Список обновляется.
Детали можно посмотреть на странице документации.
- Добавьте необходимую зависимость в
build.gradle
. - Заверните свой
RecyclerView
вandroidx.swiperefreshlayout.widget.SwipeRefreshLayout
. - Реализуйте
OnRefreshListener
, который заново запрашивает все посты с сервера.
Опубликуйте изменения в виде Pull Request в вашем проекте на GitHub.
Результат пришлите в виде ссылки на PR GitHub-проект в личном кабинете студента на сайте netology.ru.