煎蛋网客户端高仿版

2,068 阅读2分钟
原文链接: mp.weixin.qq.com

废话不多说,先上效果图



项目介绍

对煎蛋客户端进行优化,API用的是煎蛋官方的。

项目虽小,五脏俱全,学习这个项目,你将学到

  • Android Studio开发Android的基本配置

  • 对MD风格的Theme兼容

  • 对Volley网络请求库的封装和自定义

  • Application、Activity和Fragment基类的基本设计

  • MVC架构的使用

  • 对超长图片加载的解决方案

  • WebView与JS通信,及加载本地缓存图片的实现

  • RecyclerView自动加载、加载完成回调,以及item进入动画

  • 多楼层回复自定义控件的实现

  • 严格模式(StrictMode)的设置及用法

  • 使用GreenDao对数据进行本地缓存

  • 对网络状态的实时检测

  • 对UIL的个性化设置、封装和基本使用

  • 使用LeakCanary检测内存泄露

其他分支

  • 使用OkHttp替换Volley底层实现作为网络框架的版本

  • 使用Android-Async-Http作为网络框架的版本

  • 纯粹使用OkHttp作为网络框架的版本

优化的功能

  • 添加加载等待动画

  • 添加加载失败提示

  • 添加评论楼层过多隐藏

  • 添加网络状态检测

  • 优化无聊图列表显示,非WIFI状态下,显示GIF缩略图,点击后下载

  • 加载模式全自动智能切换,显著提高加载速度,节省大量流量

  • 修改图片详情页为完全沉浸效果

  • 添加图片列表滚动检测,滚动状态暂停加载,进一步提高加载速度,减少卡顿

  • 添加图片加载默认图片

  • 添加当前栏目标志,避免重复切换

  • 修改新鲜事列表页效果为CardView

  • 由于小视频接口有问题,当加载成功的数据少于10条时,会自动加载下一页,直到大于10条为止

  • 添加新鲜事大图模式切换功能

使用到的开源框架

  • Volley

  • Universal Image Load

  • butter knife

  • EventBus

  • material-dialogs

  • gson

  • GreenDao

  • Loading

  • LeakCanary


Github:https://github.com/ZhaoKaiQiang/JianDan