(android高仿系列)今日頭條 --新聞閱讀器 (三) 完結 、總結 篇
從寫第一篇今日頭條高仿系列開始,到現在已經過去了1個多月了,其實大體都做好了,就是遲遲沒有放出來,因為我覺得,做這個東西也是有個過程的,我想把這個模仿中一步一步學習的過程,按照自己的思路寫下來,在根據碰到的知識點和問題,並且羅列出這些東西的知識點和使用方法。如果你單純的把做好的一個DEMO拿去改改用用,那樣,你永遠不知道里面用到的內容是涉及到什麼知識點,用什麼方法實現,那樣就沒有多少提升價值而言了。
近期都是在通過開發文件把以前的一些東西重新過一遍,看好多網友都催促想要新版本的,那我就在這裡先把最後完善版本的放出來,看看大家有什麼地方可以用的到,學的到的,那樣就不枉此篇博文了。
近期也在嘗試著使用GITHUB,所以我把這個的原始碼也傳到了GITHUB上,日後的修改應該不會在開一篇特定的博文去說明改了什麼,一般也是小改動了,就直接提交到GITHUB上就可以了。如果希望看到裡面有什麼改進的,可以關注我的GITHUB。
有的時候,模範別人應用其實就是一種開發的學習手段,因為如果自己去開發,沒有UI沒有互動流程,那樣的話,可能會比較難下手,當有了別人的互動流程和一些資源,你就可以去自己考慮如果實現相關功能,如何達到類似效果。可能你的方法沒那麼完善,實現效果沒原版的那麼絢麗,可是這些都帶有你的思想,這就足夠了。開源的魅力就是,在自己的思想基礎上,還能通過大神的編碼習慣和實現方法,自己從他們的程式碼中感悟出自己的東西,並且學以致用。
之前沒事的時候模範過布卡漫畫,功能UI也大體實現了,可是沒有梳理,所以程式碼方面會比較亂,並且有的系統方法已經被遺棄,所以要跟上時代的步伐,要把程式碼裡面的不足之處重新優化一遍,如果有機會,日後會開相關的博文放出對應的DEMO。
下面把 “今日頭條”開發過程中的知識點、開發流程做個總結,並且貼上相關的博文連結,以便更好的檢視。
開發流程
涉及到的知識點有
1.slidingmenu.lib (側拉選單包) 使用方法配置以及下載:點選這裡
實現:客戶端中左右2邊側拉選單
實現:原始碼中包、類、方法名稱的統一
實現:客戶端中資原始檔的獲取
4.Fragment以及HorizontalScrollView的使用,以及重寫HorizontalScrollView
實現:客戶端中主頁頭部滑動選單以及對應內容的展示
涉及到的知識點有
2.PopupWindow的使用。
實現:客戶端中網路圖片非同步顯示快取
第三篇:(就是本篇)
涉及到的知識點有
1.自定義控制元件,重寫控制元件的相關方法
實現:
(2) 新聞列表中每個欄位按照時間進行排列,並且帶有懸浮效果
(3)城市選擇列表中的城市資訊按照首字母進行排列,並且帶有懸浮效果
注意:(1)通過重寫GridView。(2)和(3)通過重寫ListView,之後通過介面判斷是否在最最上方了,進行狀態變更,DEMO的程式碼中可以清晰看懂
2.SQLITE資料庫的使用
實現:儲存使用者設定的頻道資訊
3.Activity之間的動畫跳轉方式
4.Animation動畫類的相關知識
實現:頻道管理中頻道的移動動畫
5.WebView的相關知識和 jsoup庫解析HTML
實現:新聞詳情的檢視、排版,圖片資訊的提取。(這塊沒深入研究,知識從別人那邊借鑑了點放進去的)
6.重寫ViewPager和ImageView
實現:圖片瀏覽和通過手勢放大縮小
7.GestureDetector手勢類及OnGestureListener手勢監聽類的使用
實現:新聞詳情頁面根據手勢滑動來關閉該頁面
最新版本的截圖
總結
通過了這麼一系列的發開過程,我瞭解了,自己很多方面的知識點不是很紮實,可能是以前的拿來主義造成了這樣子的情況,所以,近期目標結合開發文件和系統原始碼,瞭解應用層和框架層的各個主要知識點,並且內化,之後深入強化學習,根據學習情況將所學知識點用於實踐開發,開發出更多完善的開源應用。可能有很多地方不足,希望提出來,會及時改正。