Skip to content

RimonHwang/RimonZhiHuStory

Repository files navigation

我的博客

http://rimonhwang.com/

简报简报(知乎日报第三方客户端)

APK下载地址:点击下载
项目源码地址:https://github.com/RimonHwang/RimonZhiHuStory

简介

参考知乎日报打造的简约版知乎日报第三方客户端,体积小,功能齐全。 目前实现功能:

  1. 查看每日日报、主题日报及其相应的评论;
  2. 支持新浪微博一键登录、分享;
  3. 登陆后支持收藏日报到云端,跨设备查看;
  4. 支持切换夜间模式;
  5. 支持每日精彩日报推送和软件版本更新检查。

客户端仍在更新中,欢迎下载使用。API数据接口izzyleung提供,紧供学习使用。

开发平台

  • Android Studio 2.2

开发周期

一个月

实现效果:

欢迎界面 侧滑菜单 首页
日报详情 收藏界面

主要第三方库和服务支持

  • 依赖注入框架 ButterKnife
  • 网络请求 Retrofit
  • 数据库 greenDao
  • 响应式编程 RxJava(RxAndroid)
  • 图片加载 Glide
  • Bmob后端云SDK
  • 小米推送和更新SDK
  • 新浪微博登陆分享SDK

主要思路:

  1. 欢迎界面采用计时器展示从网络加载的欢迎图片,定时3秒。加载的图片会保存为本地文件,每次进入程序时判断是否需要更新图片,从而加快图片显示速度和降低流量消耗;

  2. 由于使用Scrollview嵌套Recyclerview时会出现滑动卡顿现象,故使用包含多种ViewType的RecyclerView来展示首页相关内容,分为四种ViewType:

**TYPE_HEADER:**ViewPager实现每日热闻图片轮播界面
**TYPE_HEADER_SECOND:**用于展示今日热闻标签和新热报提醒小红点
**TYPE_DATE:**用于展示日期分类标签项
**TYPE_ITEM:**用于展示日报项

日报列表数据会保存到本地数据库,定时从网络拉取新数据,从而避免每次进入页面都重新加载数据,提高流畅度。此外,当有新日报发表时,会出现小红点提醒用户手动更新日报列表;

  1. 使用DrawerLayout实现侧滑菜单显示主题日报列表;

  2. 使用WebView显示日报详细内容,其中涉及 Html + 本地css 的重新组装加载;

  3. 使用新浪微博登陆SDK和Bmob后端云来实现用户登陆和收藏功能;

  4. 使用小米推送SDK和自动更新SDK实现消息推送和软件版本更新功能。

  5. 离线功能开发中……(思路:列表数据和日报内容存储通过Sqlite数据库实现、图片存储通过Glide的缓存文件实现, WebView通过开启自身的缓存功能实现)

项目详细总结和分析

请参考我的个人博客里面的“知乎简报项目总结”系列文章(待更新)。