EasyReader

screenshot of EasyReader

用知乎和gankio 网易新闻 豆瓣电影的API,模仿网易云音乐UI来完成一个基于Material Design +Rxjava + Retrofit + dagger2 + MVP构架的项目

Overview

This product is a project that aims to imitate the UI design of the Netease Cloud Music app. It uses APIs from Zhihu, gank.io, Netease News, and Douban Movies. The project is based on the Material Design + RxJava + Retrofit + Dagger2 + MVP architecture. The goal of the project is to learn and improve knowledge of Material Design and popular frameworks. The project can be downloaded from the App Store or GitHub, and it supports Android 5.0 and above. However, some animations may not work properly on Android 4.0-5.0.

Features

  • Material Design: The project follows the design principles of Material Design.
  • RxJava + Retrofit2: The project uses RxJava and Retrofit2 for network requests and provides error handling.
  • Dagger2: The project uses Dagger2 to inject dependencies between the Model, Presenter, and View, eliminating the need for manual object creation.
  • BaseActivity and BaseFragment: These classes have been extracted to provide a foundation for other activities and fragments to build upon. The BaseActivity also includes a sliding closure feature.
  • BaseRecyclerViewAdapterHelper + RecyclerView: These components are used to implement pull-to-refresh and load more functionality.
  • Glide: The project uses Glide for image processing and loading.
  • CoordinatorLayout + AppBarLayout + CollapsingToolbarLayout: These components are used for the layout and collapsing behavior of the app's toolbar.
  • Custom Views: The project includes custom views, such as a custom ViewGroup for swiping left and right on movie details, and a custom swipe closure feature.

Summary

This project is a replica of the Netease Cloud Music app's UI design. It uses various APIs to fetch data and implements the Material Design guidelines. The project incorporates popular frameworks like RxJava, Retrofit, Dagger2, and MVP architecture. It offers features such as pull-to-refresh, load more, custom views, and sliding closure. The project is still being updated, and the author welcomes bug reports and suggestions. If you find the project helpful, consider giving it a star.