`
xumingrencai
  • 浏览: 1176128 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

从写第一篇今日头条高仿系列开始,到现在已经过去了1个多月了,其实大体都做好了,就是迟迟没有放出来,因为我觉得,做这个东西也是有个过程的,我想把这个模仿中一步一步学习的过程,按照自己的思路写下来,在根据碰到的知识点和问题,并且罗列出这些东西的知识点和使用方法。如果你单纯的把做好的一个DEMO拿去改改用用,那样,你永远不知道里面用到的内容是涉及到什么知识点,用什么方法实现,那样就没有多少提升价值而言了。


近期都是在通过开发文档把以前的一些东西重新过一遍,看好多网友都催促想要新版本的,那我就在这里先把最后完善版本的放出来,看看大家有什么地方可以用的到,学的到的,那样就不枉此篇博文了。


近期也在尝试着使用GITHUB,所以我把这个的源码也传到了GITHUB上,日后的修改应该不会在开一篇特定的博文去说明改了什么,一般也是小改动了,就直接提交到GITHUB上就可以了。如果希望看到里面有什么改进的,可以关注我的GITHUB。


我的GITHUB地址是:https://github.com/Rano1 (谢谢支持)


有的时候,模范别人应用其实就是一种开发的学习手段,因为如果自己去开发,没有UI没有交互流程,那样的话,可能会比较难下手,当有了别人的交互流程和一些资源,你就可以去自己考虑如果实现相关功能,如何达到类似效果。可能你的方法没那么完善,实现效果没原版的那么绚丽,可是这些都带有你的思想,这就足够了。开源的魅力就是,在自己的思想基础上,还能通过大神的编码习惯和实现方法,自己从他们的代码中感悟出自己的东西,并且学以致用。


之前没事的时候模范过布卡漫画,功能UI也大体实现了,可是没有梳理,所以代码方面会比较乱,并且有的系统方法已经被遗弃,所以要跟上时代的步伐,要把代码里面的不足之处重新优化一遍,如果有机会,日后会开相关的博文放出对应的DEMO。


下面把 “今日头条”开发过程中的知识点、开发流程做个总结,并且贴上相关的博文链接,以便更好的查看。



开发流程


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


涉及到的知识点有


1.slidingmenu.lib (侧拉菜单包) 使用方法配置以及下载:点击这里

实现:客户端中左右2边侧拉菜单


2.命名规范可以参考:android命名规范

实现:源码中包、类、方法名称的统一


3.如何反编译:反编译就这么简单

实现:客户端中资源文件的获取


4.Fragment以及HorizontalScrollView的使用,以及重写HorizontalScrollView

实现:客户端中主页头部滑动菜单以及对应内容的展示



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


涉及到的知识点有


1.如何自定义布局:android 自定义控件 使用declare-styleable进行配置属性(源码角度)

实现:自定义控件布局(如 重写开关按钮:SwitchButton 开关按钮 的多种实现方式 (附源码DEMO)


2.PopupWindow的使用。

实现:每个列表中更多操作的按钮展示。android 仿 新闻阅读器 菜单弹出效果(附源码DEMO)


3..Android-Universal-Image-Loader(图片的异步加载包) 使用方法配置以及下载:点击这里

实现:客户端中网络图片异步显示缓存



第三篇:(就是本篇)


涉及到的知识点有


1.自定义控件,重写控件的相关方法

实现:

(1)频道管理(带拖拽,动画)Android 高仿 频道管理----网易、今日头条、腾讯视频 (可以拖动的GridView)附源码DEMO

(2) 新闻列表中每个字段按照时间进行排列,并且带有悬浮效果

(3)城市选择列表中的城市信息按照首字母进行排列,并且带有悬浮效果

注意:(1)通过重写GridView。(2)和(3)通过重写ListView,之后通过接口判断是否在最最上方了,进行状态变更,DEMO的代码中可以清晰看懂


2.SQLITE数据库的使用

实现:保存用户设置的频道信息


3.Activity之间的动画跳转方式


4.Animation动画类的相关知识

实现:频道管理中频道的移动动画


5.WebView的相关知识和jsoup库解析HTML

实现:新闻详情的查看、排版,图片信息的提取。(这块没深入研究,知识从别人那边借鉴了点放进去的)


6.重写ViewPager和ImageView

实现:图片浏览和通过手势放大缩小


7.GestureDetector手势类及OnGestureListener手势监听类的使用

实现:新闻详情页面根据手势滑动来关闭该页面



最新版本的截图









总结

通过了这么一系列的发开过程,我了解了,自己很多方面的知识点不是很扎实,可能是以前的拿来主义造成了这样子的情况,所以,近期目标结合开发文档和系统源码,了解应用层和框架层的各个主要知识点,并且内化,之后深入强化学习,根据学习情况将所学知识点用于实践开发,开发出更多完善的开源应用。可能有很多地方不足,希望提出来,会及时改正。



下载地址

CSDN下载地址:

GITHUB地址:





分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics