Android项目框架,使用MVP解耦,使用Rxjava链式调用访问网络,其他业务处理也可以用Rx,使用Retrofit网络请求以及数据缓存
使用方法以及详解,接下来更新,其实代码里面注释写得很清楚,不过,我后面再完善吧 架构还需要封装更多的东西,但是这需要针对具体项目进行封装
美图,天气查询应用
- Android一些次新的技术的一个合集示例
- API来自网络免费API
- MVP模式(使用ViewDelegate解耦,非常感谢kymjs提供的mvp思想,在他的基础上我有一些改动,希望能在这个应用上做个最佳实践)@kymjs(https://github.com/kymjs/TheMVP)
- leakcanary的使用
- Retrofit(+RxJava)网络请求
- Glide加载缓存图片(瀑布流卡片显示)
- 修改百度API为易源官方API(仅修改了新闻)
- 修复“最新新闻”模块没有数据的问题
- 抽取出一个公共的recyclerview代理类(grid,list合二为一),并支持下拉刷新
- 天气预报查询,弹窗提醒
- 修改新闻列表为cardview展示
- 支持新闻查看详情,CollapsingToolbarLayout + NestedScrollView + ToorBarLayout
- 支持右滑返回 d- 增加离线缓存机制(使用Retrofit和Okhttp实现网络缓存)
- 崩溃捕捉并写入本地文件(有存储卡写到存储卡,没有保存到内存),基于此功能可以后期做一个友好的应用crash提示
- 整体框架搭建完毕,新闻列表功能已经实现,各功能正常
- 下拉刷新与加载更多的解耦
扔物线《给Android开发者的RxJava详解》文章中的例子
Github地址:https://github.com/androidmalin/RengwuxianRxjava
基于Material Design和MVP的新闻客户端
Github地址:https://github.com/liuling07/SimpleNews
- Glide(Google官方推荐图片加载库)
- Butter Knife(专注于控件的注解,Dagger太全面)
- Logger(打印log现在可以好看多了,使用so easy)
- Material(一系列meterial的控件,不过用起来有点差强人意,wiki写得不是很全面)
- SwipeBackLayout(从未想过右滑返回可以做得这么简单,非常强大!)
- PhotoView(支持旋转的photoview,不过没发现有设置单击图片的回调,直接设置OnclickListener不行,chrisbanes/PhotoView提供onPhotoTapListener是可以的o)
打算研究Material设计的Android实现了,之后会发布相应版本,shangchuangithub