Giter Club home page Giter Club logo

supermvp's Introduction

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是可以的)

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

supermvp's People

Contributors

eggmonster avatar liuyanggithub avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

supermvp's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.