Skip to content

lounah/TinkoffNews

Repository files navigation

Tinkoff News

A news viewer app based on Tinkoff API

  • Offline first -- all data available once you downloaded it, offline mode doesn't kill app features
  • Bookmarks tab -- save your favourite news in one place
  • Lightweight -- almost no libraries were used (Dagger 2 + RxJava 2)
  • Smooth (maybe) -- News Feed list is drawn on a custom ViewGroup widget, Text is measured on a background thread
  • Screenshots

    Screenshot Screenshot Screenshot Screenshot

    Libraries

  • RxJava 2
  • Dagger 2
  • Gson
  • Timber
  • Download


    https://yadi.sk/d/Pjt7qfD2cMgckg -- Release
    https://yadi.sk/d/28euR2dNeVliXw -- Debug

    Feedback & Questions

    Feel free to ask me anything here: t.me/lounvh

    Примечания

    Изначально планировал написать два приложения, одно было бы с Rx, Dagger'ом, Room и Retrofit, а второе -- совсем без библиотек Потом понял, что на это не хватит времени, и решил выпилиывать из проекта те библиотеки, функционал которых смогу написать руками В итоге использовал SqlLite (уродливо и неудобно, кстати), выпилил Retrofit в конце, а за Даггер взялся поздно, наверное, нужно было сразу писать без него

    Постарался сделать более менее плавным -- написал кастомную вью для элемента списка, заюзал precomputed text compat (хотя, кстати, все это особого прироста в перфомансе не дало, возможно, я что-то делаю не так)

    Есть костыли (хендлинг добавления в закладки на экране StoryDetails и сохранение скролла) Пейджинг, кстати, тоже так себе сделан, только потом уже увидел, что апи, оказывается, его поддерживает

    Тесты написал