zoukankan      html  css  js  c++  java
  • (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地址:

             点击下载

     

     

     

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    ClickOnce發布經驗
    reporting Server組件不全引起的致命錯誤
    異步調用
    Usercontrol Hosted in IE
    MATLAB命令大全(转载)
    一种保护眼睛的好方法
    关于oracle自动编号
    An Algorithm Summary of Programming Collective Intelligence (1)
    An Algorithm Summary of Programming Collective Intelligence (3)
    An Algorithm Summary of Programming Collective Intelligence (4)
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/4785464.html
Copyright © 2011-2022 走看看