Awesome Open Source
Awesome Open Source

SuperMvp

MVP + RxJava3 + Retrofit + Glide + Material Design

简介

一款遵循Material Design风格的新闻,美图,天气查询应用

  • 引入最新android X,Rxjava3等最新三方库
  • Android一些次新的技术的一个合集示例
  • API来自网络免费API(感谢提供api的服务商)
  • MVP模式(使用ViewDelegate解耦,非常感谢kymjs提供的mvp思想,在他的基础上我有一些改动,希望能在这个应用上做个最佳实践)
  • leakcanary引入检测内存泄漏
  • Retrofit2(+RxJava3)网络请求,使用retrofit-url-manager处理baseURL的切换问题
  • Glide加载缓存图片(瀑布流卡片显示)
  • 使用RecyclerView展示新闻列表

其他项目

SuperMvp的kotlin语言版本

Kotlin+MVVM+LiveData+Coroutine协程

版本

V0.9.1

  • 升级android X
  • 升级 rxjava3(rxandroid3) rxlifecycle4 glide4 butterknife10等
  • 处理baseURL的切换问题
  • 更换美图和新闻接口(免费的额度有限,提示资源不足代表当天调用次数达上限)

V0.9

  • 美图接口更换啦,可以继续看了,找免费接口真是煞费苦心啊( ̄▽ ̄)~*
  • 后期会对这个项目做一些优化,包括框架的修改和网络请求的二次封装,并且加入一些新的模块

V0.8.1

  • 因为项目确实时间有点长了,美图的接口现在已经没有维护了,所以请求可能会没有数据,但是完全不影响整个项目的结构。
  • 这里没有更新代码,主要是一句话说一说本项目的MVP跟其他普遍使用的MVP有何不同?
  • 大部分MVP:Activity作为View
  • SuperMvp:Activity作为presenter,使用ViewDelegate来管理View层

V0.8

  • 更新所有主要第三方库的版本(2018.2.12)
  • sdk版本升级为27 gradle3.1.0-beta1

V0.7

  • 修改百度API为易源官方API(仅修改了新闻)
  • 修复“最新新闻”模块没有数据的问题

V0.6

  • 解决美图api请求失败问题
  • ╮(╯▽╰)╭续费“美图大全”,收费支持更多并发,嘿嘿,急需star来弥补金钱上的损失

V0.5

  • 美图支持类型切换,“清纯”,“气质”,“萌女”,“校花”...(接口还有更多类型未用,喜欢的自己尝试一下)

V0.4

  • 修改第二个tab为美图大全,瀑布流显示,“美图”看个够。。。
  • 支持图片点击放大,双指缩放,旋转
  • 抽取出一个公共的recyclerview代理类(grid,list合二为一),并支持下拉刷新

V0.3

  • 天气预报查询,弹窗提醒
  • 修改新闻列表为cardview展示
  • 支持新闻查看详情,CollapsingToolbarLayout + NestedScrollView
  • 支持右滑返回
  • 增加离线缓存机制(使用Retrofit和Okhttp实现网络缓存)
  • 崩溃捕捉并写入本地文件(有存储卡写到存储卡,没有保存到内存),目录:/data/data/com.ly.supermvp/cache//Log/log.txt,基于此功能可以后期做一个友好的应用crash提示

V0.2

  • 整体框架搭建完毕,新闻列表功能已经实现,各功能正常
  • 下拉刷新与加载更多的解耦

截图

美图

新闻

天气预报

深受以下文章影响,感谢大神们的无私讲解

开源项目

RengwuxianRxjava

扔物线《给Android开发者的RxJava详解》文章中的例子
Github地址:https://github.com/androidmalin/RengwuxianRxjava

SimpleNews

基于Material Design和MVP的新闻客户端
Github地址:https://github.com/liuling07/SimpleNews

About me

引入的第三方库

squarup出品,必属精品, 不用过多介绍

Rx系列

其他热门

  • Glide(Google官方推荐图片加载库)
  • Butter Knife(专注于控件的注解,Dagger太全面)
  • Logger(打印log现在可以好看多了,使用so easy)
  • Material(一系列meterial的控件,不过用起来有点差强人意,wiki写得不是很全面)
  • SwipeBackLayout(从未想过右滑返回可以做得这么简单,非常强大!)
  • PhotoView(支持旋转的photoview,不过没发现有设置单击图片的回调,直接设置OnclickListener不行,chrisbanes/PhotoView提供onPhotoTapListener是可以的)

聊技术 聊电影 聊人生 什么都聊的公众号

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
java (31,357
android (6,295
material (383
rxjava (332
recyclerview (252
mvp (218
retrofit2 (191
mvp-architecture (60
mvp-android (53