RimonZhiHuStory
简报(知乎日报第三方客户端)
APK 下载地址:点击下载
项目源码地址:https://github.com/RimonHwang/RimonZhiHuStory
简介
参考知乎日报打造的简约版知乎日报第三方客户端,体积小,功能齐全。 目前实现功能:
- 查看每日日报、主题日报及其相应的评论;
- 支持新浪微博一键登录、分享;
- 登陆后支持收藏日报到云端,跨设备查看;
- 支持切换夜间模式;
- 支持每日精彩日报推送和软件版本更新检查。
客户端仍在更新中,欢迎下载使用。API 数据接口由izzyleung提供,紧供学习使用。
开发平台
- Android Studio 2.2
开发周期
一个月
实现效果:
主要第三方库和服务支持
- 依赖注入框架 ButterKnife
- 网络请求 Retrofit
- 数据库 greenDao
- 响应式编程 RxJava(RxAndroid)
- 图片加载 Glide
- Bmob 后端云 SDK
- 小米推送和更新 SDK
- 新浪微博登陆分享 SDK
主要思路:
-
欢迎界面采用计时器展示从网络加载的欢迎图片,定时 3 秒。加载的图片会保存为本地文件,每次进入程序时判断是否需要更新图片,从而加快图片显示速度和降低流量消耗;
-
由于使用 Scrollview 嵌套 Recyclerview 时会出现滑动卡顿现象,故使用包含多种 ViewType 的 RecyclerView 来展示首页相关内容,分为四种 ViewType:
TYPE_HEADER:ViewPager 实现每日热闻图片轮播界面
TYPE_HEADER_SECOND:用于展示今日热闻标签和新热报提醒小红点
TYPE_DATE:用于展示日期分类标签项
TYPE_ITEM:用于展示日报项日报列表数据会保存到本地数据库,定时从网络拉取新数据,从而避免每次进入页面都重新加载数据,提高流畅度。此外,当有新日报发表时,会出现小红点提醒用户手动更新日报列表;
-
使用 DrawerLayout 实现侧滑菜单显示主题日报列表;
-
使用 WebView 显示日报详细内容,其中涉及 Html + 本地 css 的重新组装加载;
-
使用新浪微博登陆 SDK 和 Bmob 后端云来实现用户登陆和收藏功能;
-
使用小米推送 SDK 和自动更新 SDK 实现消息推送和软件版本更新功能。
-
离线功能开发中……(思路:列表数据和日报内容存储通过 Sqlite 数据库实现、图片存储通过 Glide 的缓存文件实现, WebView 通过开启自身的缓存功能实现)