Skip to content

Latest commit

 

History

History

02_threads

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Домашнее задание к занятию «1.2. Сетевые запросы: Main Thread & Background»

Выполненное задание прикрепите ссылкой на ваши GitHub-проекты в личном кабинете студента на сайте netology.ru.

Важно: для запуска сервера используйте java 17 и выше. Инструкция.

Важно: ознакомьтесь со ссылками, представленными на главной странице репозитория с домашними заданиями.

Важно: если у вас что-то не получилось, оформите Issue. Шаблон для оформления.

Как сдавать задачи

  1. Откройте ваш проект с предыдущего ДЗ (можете брать код из лекции).
  2. Сделайте необходимые коммиты.
  3. Сделайте пуш. Удостоверьтесь, что ваш код появился на GitHub.
  4. Ссылку на ваш проект прикрепите в личном кабинете на сайте netology.ru.
  5. Задание со звёздочкой выполнять не обязательно. Оно не влияет на получение зачёта.

Задача №1. Likes

Легенда

В проекте, который мы рассматривали на лекции, не реализованы лайки:

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.

Задача №2. Swipe to Refresh*

Важно: это необязательная задача. Она не влияет на получение зачёта.

Легенда

В списках в Android есть функция Swipe To Refresh:

  1. Пользователь тянет сверху вниз список (или любое другое View).
  2. Появляется иконка обновления.
  3. Список обновляется.

Детали можно посмотреть на странице документации.

Задача

  1. Добавьте необходимую зависимость в build.gradle.
  2. Заверните свой RecyclerView в androidx.swiperefreshlayout.widget.SwipeRefreshLayout.
  3. Реализуйте OnRefreshListener, который заново запрашивает все посты с сервера.

Опубликуйте изменения в виде Pull Request в вашем проекте на GitHub.

Результат пришлите в виде ссылки на PR GitHub-проект в личном кабинете студента на сайте netology.ru.