今日头条App

作为一个Web开发者,正好学校学习Android课程,所以跟着一起学习Android开发

,作为我个人来说,学习一门语言不是看多少的书,而是首先上网学习基础知识,来github学习前辈们的项目源码,

所以趁着这个机会,我开了一款类似今日头条的App,利用爬虫抓包实现一些数据的显示,整个过程让我了解到了android的网络请求

方面的诸多知识.

个人简介

QQ群:296424369(Web开发交流群)

技术栈

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

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

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

支持rxJava链式操作

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

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

图片的显示使用ImageLoader

头像的显示使用CircleImageView

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

弹窗的显示使用的是materialedittext

视频播放采用ijkplayer神器级播放器

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

功能

爬取今日头条的实时数据

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

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

支持查看图片并且支持保存图片到本地图库(爬取图片的url是难点)

支持实时刷新获取数据

支持视频播放(爬取视频url非常难)

用户接口数据采用PHP写的

支持用户注册登录

用户收藏新闻

支持主题换肤

支持用户个人设置等

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

第三方登录(暂未开发)

上传头像(暂未开发)

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

技术难点

你仔细看的话可能发现我在写图片和视频的时候都加上了比较难的字样,过程也确实如此,因为头条新闻的官网不像大部分的网站那样是将url直接

写在html中,因为这样主要太容易被爬取链接了,所以设计师将url全部通过script的形式写入html中,这样就容易被爬取到。但是上有政策,下

有对策,哈哈!我们可以通过网络请求将网页的所有前端代码爬取到,然后通过删选找寻自己想要的部分即可,相册的url的获取这样其实就可以了,

具体代码可以直接在项目源码中看到,但是对于视频的url可不这么轻松,在script中只有视频的video_id所以必须再次拼接api获取相应的video信息,

但是获取到之后,这个coding者真是太坑爹了!将视频的url加密的,我的天!不得不吐槽一下!幸好github上面有大神提前解决过此事,我便依葫芦画瓢

的将次加密过后的链接解码了,之后便可以播放视频了!那么,具体的代码请在项目源码中查看!有问题请在issue中提出!我会尽可能解决 !

安装测试

1.使用git进行下载项目

git clone https://github.com/LaravelChen/TouTiao.git

2.根据你具体的android sdk的版本在gradle里面进行设置即可.

部分效果图:

最后如果您觉得对您的学习有帮助的话可以给一个star!谢谢!,有什么问题可以在issue中提出,我会及时回复!

今日头条android+x86,GitHub - teajoyus/TouTiao: 今日头条 For Android相关推荐

  1. android x86小白安装教程,电脑上安装Android 10小白教程,大屏Android用起来

    Bliss OS是一个基于 Android-x86 项目的开源操作系统,它能让你PC或笔记本电脑上安装Android系统,目前已更新到基于 Android 10 的 Bliss OS 12 版本,不过 ...

  2. android x86 win8平板,如何设置win8及android x86平板板及注意事项

    现以手头上的acer w500为例,大概介绍下如何设置win8及android x86板及注意事项. w500第一代带的amdapu c50 & hd6250 gpu,第二代升级为apu c6 ...

  3. android+x86+远程桌面,Chrome远程桌面和Android模拟器

    我远程(铬远程)到我的桌面运行android studio.当我尝试从android studio运行模拟器时,我看到了打开虚拟设备的窗口.但设备无法启动.这不是我直接使用桌面运行android项目时 ...

  4. Android x86开源项目虚拟机镜像下载(VM/Vbox)

    Android x86 开源项目可以让我们在虚拟机中直接运行Android系统,这里的x86指的是平台架构非32位版. 如果你曾经查找过VMware 虚拟机安装 Android 的教程,应该了解直接安 ...

  5. (android高仿系列)今日头条 --新闻阅读器 (三) 完结 、总结 篇

    从写第一篇今日头条高仿系列开始,到现在已经过去了1个多月了,其实大体都做好了,就是迟迟没有放出来,因为我觉得,做这个东西也是有个过程的,我想把这个模仿中一步一步学习的过程,按照自己的思路写下来,在根据 ...

  6. Android仿微信底部菜单栏+今日头条顶部导航栏

    背景 Android应用几乎都会用到底部菜单栏,在Material Design还没有出来之前,TabHost等技术一直占主流,现在Google新sdk中提供了TabLayout类可以便捷的做出底部菜 ...

  7. (android高仿系列)今日头条 --新闻阅读器 (一)

    在模仿中循序渐进,以程序员角度去看待每一个APP是如何实现的,它有什么优缺点,并从中提升自己. 之前发现很多人在群里面.论坛上求网易新闻客户端的源码,之后我就去下了个网易新闻客户端和今日头条新闻客户端 ...

  8. (android高仿系列)今日头条 --新闻阅读器 (二)

    高仿今日头条 --- 第一篇:(android高仿系列)今日头条 --新闻阅读器 (一) 上次,已经完成了头部新闻分类栏目的拖动效果. 这篇文章是继续去完善APP 今日头条  这个新闻阅读器的其他功能 ...

  9. Facebook WhatsApp开放「数据下载」;iPhone需求疲软引发恐慌;今日头条「更名」| CSDN 极客头条...

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 「CSDN 极客头条」是从 CSDN 网站延伸至官方微信公众号的特别栏目,专注于一天业界事报 ...

  10. Python3从零开始爬取今日头条的新闻【五、解析头条视频真实播放地址并自动下载】

    Python3从零开始爬取今日头条的新闻[一.开发环境搭建] Python3从零开始爬取今日头条的新闻[二.首页热点新闻抓取] Python3从零开始爬取今日头条的新闻[三.滚动到底自动加载] Pyt ...

最新文章

  1. 机器学习与数据科学 基于R的统计学习方法(基础部分)
  2. 京东金融科技学堂开班,AI 在金融云上有了新成果
  3. python整理excel数据-利用python整理需要的excel报表(上)
  4. 1个字,绝! -- CNN中十大令人拍案叫绝的操作
  5. Kubernetes环境下的各种调试方法
  6. python如何定义一个空变量_如何在python中定义自由变量? - python
  7. mysql gtid深入_深入理解MySQL 5.7 GTID系列(四):mysql.gtid_executedPREVIOUS GTID EVENT
  8. 简历避免采坑总结——为什么你的简历杳无音信?程序员的简历该怎么写?看这一篇就够了!毕业生快进 (待更新)
  9. linux用命令行运行matlab的.mat文件
  10. NOD32 V5 企业版部署方案
  11. linux内核源码目录结构
  12. html公式输入空格,mathtype怎么在公式里加空格
  13. BetaFlight开源代码框架简介
  14. 工具 | Mac | 截图工具
  15. 如何用计算机算乘法,计算机如何做乘法运算的?
  16. PG+POSTGIS地图空间位置网格聚合算法
  17. Spark on Hive Hive on Spark傻傻分不清?
  18. PostgreSQL - 学习/实践
  19. Unity3d bounds包围盒 和collider碰撞器区别
  20. 亲和图信息管理联想发散思维

热门文章

  1. php版wap浏览器,PHP 检测手机浏览器的代码
  2. DELPHI 编程(一) __快速认识Delphi
  3. i217lm网卡驱动linux,英特尔I217-LM网卡驱动Windows10
  4. 百度云API怎么使用
  5. Latex |解决缺少.sty文件的问题和引用显示不出来的问题
  6. vs插件VS10x CodeMap 注册码
  7. 计算机网络组建校园网课设报告,计算机网络课设校园网组建.doc
  8. 迅雷防踢补丁:一个刷流量木马的简单分析
  9. Windows:文件系统FAT32、NTFS和exFAT
  10. OpenAI怎么写作「谷歌小发猫写作」