TouTiao 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
TouTiao 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
TouTiao 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
TouTiao 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
TouTiao 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

Android 初学者做了一个头条 App,觉得好的可以看一下具体的内容!

技术栈

  • 使用Joup和Okhttp进行网络数据的爬取

  • 使用Recyclerview和PageFragment和自定义数据类型进行新闻数据的显示

  • 基于Retrofit和RxJava打的的链式网络库

  • 支持rxJava链式操作

  • 对于接口数据的获取我采用Novate框架,使用简单

  • 对于用户的登录这块,按照标准流程应该是遵循OAuth2.0的流程,之后有时间进行更改

  • 图片的显示使用ImageLoader

  • 头像的显示使用CircleImageView

  • 日期选择器使用的是仿ios的PickerView

  • 弹窗的显示使用的是materialedittext

  • 整个界面的大部分控件使用的是Material Design设计规范

功能

  • 爬取今日头条的实时数据

  • 利用Recyclerview和PageFragment和自定义数据类型的结合进行显示数据

  • 支持查看具体的列表内容,包括视频等

  • 支持查看图片并且支持保存图片到本地图库

  • 支持实时刷新获取数据

  • 用户接口数据采用PHP写的

  • 支持用户注册登录

  • 用户收藏新闻

  • 支持主题换肤

  • 支持用户个人设置等

  • 支持用户分享新闻,支持QQ,微信,QQ空间等

  • 第三方登录(暂未开发)

  • 上传头像(暂未开发)

  • 全局搜索(可以利用爬虫进行搜索,暂未开发)

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2018/01/12 13:01

TouTiao开源项目 分析笔记20 问答详情

1.效果预览 1.1.效果预览,从问答列表开始      前面实现了从列表到内容。   这里主要讲解从内容到详情。   点击每一个回答内容,进入回答详情页面。 1.2.触发的点击事件   在WendaContentViewBinder中,设置item点击事件:   WendaDetailActivity.lauch(bean); 2.问答详情的活动页面 2.1.源代码 public class WendaDetailActivity extends BaseActivity { private static final String TAG = "WendaDetai...

0
0
发表了博客
2018/01/09 20:24

TouTiao开源项目 分析笔记17 新闻媒体专栏

1.效果预览 1.1.要实现的效果    1.2.如何调转到新闻媒体专栏   点击右上角的用户图标。    在新闻详情页面的Fragment的菜单点击事件中触发。 case R.id.action_open_media_home: MediaHomeActivity.launch(mediaId); break; 2.媒体主页的活动页面 2.1.源代码 package com.jasonjan.headnews.module.media.home; import android.content.Intent; import android.graphics.Porter...

0
0
发表了博客
2018/01/09 14:32

TouTiao开源项目 分析笔记16 新闻评论

1.要达到的效果 1.1.主要效果图      点击了标题栏的消息图标后,然后会跳转到评论详情的页面。 1.2.触发的点击事件   在新闻详情的片段中的菜单点击事件中   设置上方标题栏的消息标的监听事件 case R.id.action_open_comment: NewsCommentActivity.launch(bean.getGroup_id() + "", bean.getItem_id() + ""); break;   bean就是某一个新闻的一些属性,从最前面item中传递过来的...

0
0
发表了博客
2018/01/12 11:47

TouTiao开源项目 分析笔记19 问答内容

1.真实页面预览 1.1.成果预览      首先是问答列表   然后每个item设置点击事件,进入问答内容列表   然后每一个问答内容也设置点击事件,进入问答详情 1.2.触发事件。   在WendaArticleOneImgViewBinder中,设置item的点击事件,   跳转到WendaContentActivity。   在WendaArticleTextViewBinder中,设置item的点击事件,   跳转到WendaContentActivity。   在WendaArticleThreeImgViewBinder中,设置item的...

0
0
发表了博客
2018/01/07 14:18

TouTiao开源项目 分析笔记14 段子评论

1.段子页面详情 1.1.先看看预览界面吧      左边的页面已经实现了,现在的目的就是要实现点击左侧的每一个item   然后跳转到右边相应的段子详情页面。 1.2.首先肯定有右侧这个活动==>JokeCommentActivity。   外部如何启动? fun launch(bean: JokeContentBean.DataBean.GroupBean) { InitApp.AppContext.startActivity(Intent(InitApp.AppContext, JokeCommentActivity::class.java) .putEx...

0
0
发表了博客
2019/04/06 18:15

画架构图

https://www.toutiao.com/a6675181598234640909/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1554470323&app=news_article&utm_source=weixin&utm_medium=toutiao_ios&req_id=20190405211842010008061037878E882&group_id=6675181598234640909 https://www.canva.cn/ https://www.toutiao.com/a6644674542146945549/?tt_from=weixin&utm_campaign=client_share&wxshare_count=1×tamp=1554470597...

0
0
发表了博客
2019/02/27 20:10

php中文网在这里给大家汇总了最热门最全面的php面试题

PHP面试题汇总 视频版: 1.《最新PHP面试视频教程》 http://www.php.cn/course/876.html 2.《PHP经典算法面试题》 http://www.php.cn/course/1032.html 3.《php面试题实战视频教程》 http://www.php.cn/course/710.html 4.《横扫PHP职场的面试题详解视频教程》 http://www.php.cn/course/748.html 图文版: 1.《PHP常见面试题型汇总(附答案)》 http://www.php.cn/toutiao-415523.html 2.《2019年最新PHP面试题汇总(附答案)》...

0
1
发表了博客
2018/01/18 16:51

mysql group by 组内排序 group by 原理

mysql group by 组内排序 SELECT * FROM ( SELECT MAX(id) AS t,wukong_uid, 1 AS tag FROM toutiao_uid_gathered_wukong GROUP BY wukong_uid UNION ALL SELECT id AS t ,wukong_uid, 2 AS tag FROM toutiao_uid_gathered_wukong ) AS tab ORDER BY wukong_uid ASC , t ASC ; 验证group by原理 是否来源同一行数据 SELECT * FROM ( SELECT MAX(id) AS t,wukong_uid, 1 AS tag,time_script FROM xmt_star_helper_toutiao_uid_ga...

0
0
2020/09/22 10:38

CTO 写的代码,真是绝了

今日头条,作者:聚IT 场景:当我们接收到一些数据需要对其进行处理时,由于它们来自于不同的渠道(如:腾讯,头条),不同渠道所需的处理方式不同,下面我们写一个简单Demo来实现该的场景。 解决思路 1、首先构建一个 GeneralChannelRule 基础规则抽象类,定义一个抽象方法process(),不同的渠道都需要实现该抽象方法。 public abstract class GeneralChannelRule { public abstract void process(); } 2、编写一个腾讯的规则类...

0
0
发表了博客
2018/08/04 02:10

【程序员暴打产品被开除、办理离职的时候又干了一架】

【程序员暴打产品被开除、办理离职的时候又干了一架 】 https://m.zjurl.cn/item/6585399132783903245/?iid=39720035491&app=news_article×tamp=1533301688&group_id=6585399132783903245&tt_from=copy_link&utm_source=copy_link&utm_medium=toutiao_ios&utm_campaign=client_share https://m.zjurl.cn/item/6585399132783903245/?iid=39720035491&app=news_article×tamp=1533301688&group_id=6585399132783903245&...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
18 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部