Kotlin to achieve a simple and pure reading software, mainly using MVP+RxJava+Retrofit+RxLifecycle+Glide+GreenDao and other technologies

Software Development background

Brief review is my first project to learn Android development. At first, I used the traditional MVC mode, and then iterated step by step, from MVP to Kotlin. Now the function of the project has been basically stable, I standardized the project, and then open source for everyone to exchange and learn, after all, I also watched many predecessors’ projects and learned a lot, so now it is time to return to the open source community.

Software address

Cool Ann download address

Software screenshots

Implemented functions

Zhihu daily
  • Get the latest news from Zhihu Daily
  • Pull up loading the previous day zhihu news
  • You can choose to read zhihu news on a specific day
  • You can read a random zhihu news
  • The read news is not shown
  • Bookmark/unbookmark a story
  • Share the news
Fried eggs
  • Get the latest omelette news
  • Pull up to load the previous day’s news
  • The read news is not shown
  • Bookmark/unbookmark a story
  • Share the news
Every day is
  • Check out the day’s articles
  • A random article
  • Switch between three reading styles

The rest of the

  • Follow Material Design Design
  • Multiple themes to choose from
  • Frament lazy loading
  • Web caching
  • Offline caching

Technology has touched to

  • MVP

    MVP is one of the most popular architectures in Android development. Model is responsible for data and business logic,View layer is responsible for view-related display and context layer call,Presenter layer is responsible for M layer and V layer interaction

  • RxJava

    RxJava is an asynchronous response framework based on event flow

    RxJava for Android developers: Throwline

  • Retrofit

    RESTful HTTP network request framework, the advantage lies in the combination of RxJava to achieve chain network request and easily achieve thread scheduling, at the same time it is annotated in the way of annotation request, elegant and concise

  • RxLifecycle

    RxLifecycle is a library designed by Zhihu to easily unsubscribe RxJava subscriptions without going to onDestory()

  • GreenDao

    GreenDao is an old ORM database framework, and the current version 3.2.2 can be said to be the most useful ORM framework

  • Glide

    A simple API but extremely powerful picture loading framework

  • jsoup

    Jsoup is a powerful library for parsing HTML web page source code

  • BaseRecyclerViewAdapterHelper

    A quick implementation of RecyclerviewAdapter library, and ordinary writing method can reduce 70% of the code

  • There are some other related technologies are not listed, we can view the source code.