Baike.dev
All toolsAI codingTrendingOpen sourceNewsSubmit
Log in
< Back to tools
T

Toutiao

> 编程语言
Open source

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

2.2K stars0 likes0 views
WebsiteGitHub

About

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

头条

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

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

Statement

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

Features

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

Screenshots

Preview

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 优雅实现搜索请求
  • 使用 AutoDispose 绑定 RxJava 生命周期
  • 使用 Travis Cl 持续集成

Changelog

…

TODO

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

Libraries

  • Android Support Libraries
  • Gson
  • Glide
  • jsoup
  • PhotoView
  • LicensesDialog
  • JieCaoVideoPlayer
  • Retrofit
  • PersistentCookieJar
  • RxJava
  • RxAndroid
  • RxLifecycle
  • OkHttp
  • Material Dialogs
  • PermissionsDispatcher
  • Stetho
  • MultiType
  • RxBinding
  • FlexboxLayout
  • Slidr

End

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

License

Copyright 2017 iMeiji

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Issues· 0 open

View all issuesOpen on GitHub

No open issues yet, or sync has not completed.

> Tags

Java

No comments yet. Be the first to share.

> Details

PublishedAug 1, 2026
UpdatedSep 17, 2026
Category编程语言
PricingOpen source

> Related tools

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言