RimonZhiHuStory

Introduction: 实现了知乎日报的大部分功能,增加双击标题栏回到顶部以及双击 webview 返回两个实用功能
More: Author   ReportBugs   DemoAPK   
Tags:
知乎日报-RecyclerView-ViewPager图片轮播-WebView-

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:用于展示日报项

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

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

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

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

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

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

项目详细总结和分析

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

Apps
About Me
Google+: Trinea trinea
GitHub: Trinea