從寫第一篇今日頭條高仿系列開始。到現在已通過去了1個多月了。事實上大致都作好了,就是遲遲沒有放出來。因爲我認爲。作這個東西也是有個過程的,我想把這個模仿中一步一步學習的過程。依照本身的思路寫下來,在依據碰到的知識點和問題,並且羅列出這些東西的知識點和用法。android
假設你單純的把作好的一個DEMO拿去改改用用,那樣。你永遠不知道里面用到的內容是涉及到什麼知識點。用什麼方法實現,那樣就沒有多少提高價值而言了。git
最近都是在經過開發文檔把曾經的一些東西又一次過一遍,看好多網友都催促想要新版本號的,那我就在這裏先把最後無缺版本號的放出來。看看你們有什麼地方可以用的到,學的到的,那樣就不枉此篇博文了。github
最近也在嘗試着使用GITHUB,因此我把這個的源代碼也傳到了GITHUB上,往後的修改應該不會在開一篇特定的博文去說明改了什麼,通常也是小修改了,就直接提交到GITHUB上就可以了。假設但願看到裏面有什麼改進的,可以關注個人GITHUB。數據庫
個人GITHUB地址是:https://github.com/Rano1 (謝謝支持)緩存
有的時候。榜樣別人應用事實上就是一種開發的學習手段,因爲假設本身去開發,沒有UI沒有交互流程。那樣的話,可能會比較難下手,當有了別人的交互流程和一些資源。你就可以去本身考慮假設實現相關功能,怎樣達到相似效果。可能你的方法沒那麼無缺,實現效果沒原版的那麼絢麗,可是這些都帶有你的思想,這就足夠了。網絡
開源的魅力就是。在本身的思想基礎上,還能經過大神的編碼習慣和實現方法。本身從他們的代碼中感悟出本身的東西。並且學以至用。框架
以前沒事的時候榜樣過布卡漫畫。功能UI也大致實現了。可是沒有梳理。因此代碼方面會比較亂,並且有的系統方法已經被遺棄,因此要跟上時代的步伐,要把代碼裏面的不足之處又一次優化一遍。假設有機會。往後會開相關的博文放出相應的DEMO。異步
如下把 「今日頭條」開發過程當中的知識點、開發流程作個總結,並且貼上相關的博文連接,以便更好的查看。佈局
第一篇:(android高仿系列)今日頭條 --新聞閱讀器 (一)post
涉及到的知識點有
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手勢監聽類的使用
實現:新聞詳情頁面依據手勢滑動來關閉該頁面
經過了這麼一系列的發開過程。我瞭解了,本身很是多方面的知識點不是很是紮實,多是曾經的拿來主義形成了這樣子的狀況。因此,最近目標結合開發文檔和系統源代碼,瞭解應用層和框架層的各個主要知識點,並且內化,以後深刻強化學習,依據學習狀況將所學知識點用於實踐開發,開發出不少其它無缺的開源應用。可能有很是多地方不足。但願提出來。會及時改正。