從寫第一篇今日頭條高仿系列開始。到如今已經過去了1個多月了。事實上大體都做好了,就是遲遲沒有放出來。由於我認為。做這個東西也是有個過程的,我想把這個模仿中一步一步學習的過程。依照自己的思路寫下來,在依據碰到的知識點和問題,而且羅列出這些東西的知識點和用法。
假設你單純的把做好的一個DEMO拿去改改用用,那樣。你永遠不知道里面用到的內容是涉及到什么知識點。用什么方法實現,那樣就沒有多少提升價值而言了。
最近都是在通過開發文檔把曾經的一些東西又一次過一遍,看好多網友都催促想要新版本號的,那我就在這里先把最后完好版本號的放出來。看看大家有什么地方能夠用的到,學的到的,那樣就不枉此篇博文了。
最近也在嘗試着使用GITHUB,所以我把這個的源代碼也傳到了GITHUB上,日后的修改應該不會在開一篇特定的博文去說明改了什么,一般也是小修改了,就直接提交到GITHUB上就能夠了。假設希望看到里面有什么改進的,能夠關注我的GITHUB。
我的GITHUB地址是:https://github.com/Rano1 (謝謝支持)
有的時候。榜樣別人應用事實上就是一種開發的學習手段,由於假設自己去開發,沒有UI沒有交互流程。那樣的話,可能會比較難下手,當有了別人的交互流程和一些資源。你就能夠去自己考慮假設實現相關功能,怎樣達到類似效果。可能你的方法沒那么完好,實現效果沒原版的那么絢麗,但是這些都帶有你的思想,這就足夠了。
開源的魅力就是。在自己的思想基礎上,還能通過大神的編碼習慣和實現方法。自己從他們的代碼中感悟出自己的東西。而且學以致用。
之前沒事的時候榜樣過布卡漫畫。功能UI也大體實現了。但是沒有梳理。所以代碼方面會比較亂,而且有的系統方法已經被遺棄,所以要跟上時代的步伐,要把代碼里面的不足之處又一次優化一遍。假設有機會。日后會開相關的博文放出相應的DEMO。
以下把 “今日頭條”開發過程中的知識點、開發流程做個總結,而且貼上相關的博文鏈接,以便更好的查看。
開發流程
第一篇:(android高仿系列)今日頭條 --新聞閱讀器 (一)
涉及到的知識點有
1.slidingmenu.lib (側拉菜單包) 用法配置以及下載:點擊這里
實現:client中左右2邊側拉菜單
2.命名規范能夠參考:android命名規范
實現:源代碼中包、類、方法名稱的統一
3.怎樣反編譯:反編譯就這么簡單
實現:client中資源文件的獲取
4.Fragment以及HorizontalScrollView的使用,以及重寫HorizontalScrollView
實現:client中主頁頭部滑動菜單以及相應內容的展示
第二篇:(android高仿系列)今日頭條 --新聞閱讀器 (二)
涉及到的知識點有
1.怎樣自己定義布局:android 自己定義控件 使用declare-styleable進行配置屬性(源代碼角度)
實現:自己定義控件布局(如 重寫開關button:SwitchButton 開關button 的多種實現方式 (附源代碼DEMO))
2.PopupWindow的使用。
實現:每一個列表中很多其它操作的button展示。
android 仿 新聞閱讀器 菜單彈出效果(附源代碼DEMO)
3..Android-Universal-Image-Loader (圖片的異步載入包) 用法配置以及下載:點擊這里
實現:client中網絡圖片異步顯示緩存
第三篇:(就是本篇)
涉及到的知識點有
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地址:
