Перед вами небольшое приложение для просмотра ленты постов Vk. Основано на vk api.
Реализованный функционал:
Авторизация
Отображение списка всех и только избранных постов
Лайк поста (в т.ч. свайпом слева-направо)
Скрытие поста по свайпу справа-налево
Pull-to-refresh для обновления ленты
Сохранение картинки в галлерею по нажатию на кнопку "репост"
Возможность поделиться картинкой через другие приложения по нажатию на кнопку "репост"
Кэширование постов + оффлайн мод
Использованные технологии:
Для авторизации используется VkSDK, все остальные запросы выполняются асинхронно с помощью RxJava2, а также библиотек Retrofit2 + Okhttp3.
Посты кэшируются с помощью библиотеки Room.
Архитектура приложения построена по MVI, для чего была задействована библиотека RxRedux. В качестве презентера используется архитектурный компонент ViewModel. В имплементации приложения придерживался подхода Clean.
Реализован Dependency Injection с помощью библиотеки Dagger2.
Асинхронная загрузка картинок происходит с помощью Glide.
Для отображения постов написана custom ViewGroup.
Сохранение картинок реализовано с помощью MediaStore.
Кроме этого используются Фрагменты, DiffUtil в ресайклере, Shared Preferences.