一款第三方今日头条客户端

  • 授权协议:Apache
  • 开发厂商:未知
  • 开发语言:java
  • 收录时间:2020-04-07
  • 操作系统:Android
  • 软件作者:iMeiji
  • 开源标签: 今日头条 toutiao

软件介绍

Toutiao - 一款第三方今日头条客户端, MVP + RxJava + Retrofit"

头条

logo

头条是一款遵循材料设计(Material Design)的第三方今日头条客户端, 聚合了新闻/段子/图片/视频/头条号内容, 没有广告, 仅仅只有存粹的阅读, 不断完善中, 采用 MVP + RxJava + Retrofit 架构的项目

其中API来自 今日头条Api分析

Statement

以下所有 API 均由 今日头条 提供, 本人采取非正常手段获取. 本程序仅供学习交流, 不可用于任何商业用途

Features

  • 首页五大模块: 新闻 / 图片 / 视频 / 头条号 / 问答
  • 实现首页的布局和数据的显示
  • 实现自定义新闻栏目顺序
  • 新闻详情页面支持日夜两种主题
  • 显示新闻评论
  • 头条号订阅 查看头条号历史文章 / 视频
  • 搜索功能 热门搜索推荐 搜索历史记录
  • 自定义主题颜色 无缝切换日夜皮肤
  • 视频播放
  • 内置3款 logo 随意互换
  • 动态切换字体大小

Screenshots

 

Download

由于侵犯 今日头条 版权, 故不再提供 APK 下载

Points

  • 基本遵循 Material Design 设计风格
  • 抓包获取今日头条API
  • 使用 Google 官方 MVP 架构
  • DrawerLayout + NavigationView + BottomNavigationView 搭配使用
  • RxBus 代替 EventBus 进行组件之间通讯
  • ViewPager 搭配 Fragment 懒加载
  • SwipeRefreshLayout 搭配 RecyclerView 下拉刷新上拉加载
  • 自定义 BottomNavigationBehavior 实现上滑隐藏下滑显示
  • RxJava + Retrofit2 + OkHttp3 做网络请求
  • OkHttp3 对网络返回内容做缓存, 还有日志、超时重连、头部消息的配置
  • V层基类的构建, 包括 BaseActivity 和 BaseFragment , 对外提供了相同的接口
  • 使用原生的夜间模式
  • 解决侧滑返回与 View 冲突问题
  • 内置 3 款 Logo, 随意切换
  • 使用 CoordinatorLayout 、 AppBarLayout 、 CollapsingToolbarLayout 、 BottomSheetDialog 等等新控件
  • 使用 7.0 新工具 DiffUtil , 不再无脑 notifyDataSetChanged
  • 使用 ItemTouchHelper 实现今日头条的频道排序、频道移动, 参考 ItemTouchHelperDemo
  • 使用 RxBinding 优雅实现搜索请求
  • 使用 RxLifecycle 绑定 RxJava 生命周期
  • 使用 Travis Cl 持续集成

Changelog

2017-11-11优化启动页面2017-9-5添加使用说明, 首次启动会引导用户使用2017-8-27解决新闻栏目位置调换后 recreate 2017-8-17添加字体大小设置选项2017-7-25添加双击底栏按钮监听事件2017-7-24添加自动切换夜间模式选项2017-7-22修复 S8 播放视频bug更新API2017-7-20添加滑动返回更新新闻阅读 UI修复 bug2017-7-18添加自定义图标选项2017-7-14解决使用BottomSheetDialog时状态栏变黑的问题2017-7-12优化"加载完毕"的提示视频界面支持透明状态栏2017-7-6支持查看头条号主页优化头条号订阅更新视频 API2017-7-2自定义颜色的BUG修正2017-6-29修复新闻加载2017-6-25添加热门搜索2017-6-22添加搜索建议2017-6-17添加搜索历史记录2017-6-16重写搜索模块(beta)重构代码2017-6-4添加导航栏着色设置选项添加视频横屏设置选项调整 UI 颜色2017-5-31封装 ImageLoaderViewPager 动态更新2017-5-30修复新闻重复 bug2017-5-25更换 API添加 N 多新闻栏目添加头条问答模块2017-5-19新闻 "推荐" 栏目支持浏览 新闻 / 视频(beta)2017-5-18更新获取评论 API所有 UI 控件配色跟随主题颜色优化无图模式 (开启后在非Wifi下不加载图片)2017-5-15修复颜色错乱 bug屏蔽视频播放器无用的按钮更新列表 item 布局视频播放界面全屏沉浸式2017-5-12修复闪退 bug 增加自定义主题颜色2017-5-11修复无法下拉刷新 bug重构项目2017-5-9更新部分 UI图片浏览器若获取数据失败 则采用 WebView 加载2017-4-18修复新闻重复 bug (DiffUtil解决) 2017-4-15添加头条号订阅优化清除缓存2017-4-4添加视频模块2017-3-26修复 Fragment 出栈 bug增加 about 界面2017-3-23完善设置界面2017-3-16修复屏幕旋转重新加载优化 RecyclerView 显示加载更多2017-3-13添加拖拽标签2017-3-6修复6.0运行时权限2017-3-2添加预加载2017-2-26优化无图/夜间模式2017-2-25部分界面支持点击 Toolbar 返回顶部优化 BottomSheet 界面优化无图模式(beta)2017-2-23添加夜间模式切换(beta)2017-2-22WebView无图模式(beta)2017-2-21修复bug2017-2-20添加设置界面添加无图模式(beta)2017-2-19添加图片保存优化评论列表界面(使用 BottomSheetDialog 代替 MaterialDialog)添加6.0运行时权限2017-2-18完善图片浏览(ViewPager + PhotoView)2017-2-16添加图片专栏2017-2-8第一版正式发布2017-2-7添加搜索功能

TODO

  • WebView无图模式支持点击加载图片
  • 本地缓存(待定)
  • 视频支持切换分辨率
  • 本地新闻
  • 视频离线缓存
  • 浏览历史
  • 收藏夹

Libraries

End

注意:此开源项目仅做学习交流使用, 不可用于任何商业用途. 如果你觉得不错, 对你有帮助, 欢迎点个 fork, star, follow , 也可以帮忙分享给你更多的朋友, 这是给作者最大的动力与支持

 

上一篇:基于Xamarin的博客园Android客户端

您可能感兴趣的文章

相关阅读

查看更多 >