Android開源:Zhihu - 高仿知乎日報

準備轉行Android,做了一個 高仿的知乎日報客戶端 練手,目前完成了大部分基本功能,記錄一下開發過程中學習的資料及踩過的坑,拿出來跟大家分享一下,要是能給大家帶來一些幫助,我深感榮幸。Android開發的路程遙遠又艱辛,希望尋到有理想有毅力的同學組個隊,一起學習,一起進步。

截圖

參考的項目

  • Elephant

    這是一個非常優秀的項目,同樣是使用了如今的安卓開發三劍客的開源項目,參考了許多,特此感謝。

  • MVP

    這是一個可以快速實現快捷開發的開源庫,支持直接引用實現快速 Material Design + MVP + Rxjava + Retrofit + Okhttp + Glide 開發,其中核心庫封裝的非常好,同樣了參考了許多,特此感謝。

  • baseAdapter

    這是鴻洋大神封裝的一個萬能adapter,我項目中對于多個類型item的recyclerView的實現便是使用的該庫,學習了很多,鴻洋大神的demo比較簡單,如果感覺理解困難的話可以看下 AdapterDelelgates 這個開源庫,鴻洋大神也有提到。

Rxjava 相關資料

這部分內容實在是一言難以概括,網上流傳的相關文章數不勝數,這里極力推薦一篇我認為最適合像我一樣的初學者刷上幾十遍的文章:

Retrofit2 相關資料

Retrofit是一個非常優秀的網絡請求庫(廢話誰不知道/(ㄒoㄒ)/~~),使用起來非常簡單,這里放上Retrofit的官網以及 Jake Wharton 大神的視頻介紹。

MVP

關于MVP相關的學習看下面這篇文章就夠了,實戰可以參考谷歌官方放出的demo,在上文放出的兩個項目中也有很好的實現。

踩坑日記

資料放的差不多了,現在來說下踩過的坑,希望能夠幫助同樣遇到這些問題的人比我更快的解決問題。

Activity 切換 Fragment 時 toolbar 上的 item 顯示混亂

解決方法: 不要調用 setSupportActionBar() 方法,toolbar 可以作為一個插件使用,通過 findViewById() 方法獲取后設置相應的item的visible屬性即可實現切換 Fragment 設置不同的 item 項。

toolbar menu 上自定義 item 的實現

解決方法:說到自定義肯定第一時間想到自己寫個menu布局文件,調用toolbar的 inflateMenu() 方法來加載,其實不用這么麻煩,MenuItem 有一個 app:actionProviderClass 屬性,可以加載自定義的view。(但是寫下來好像也差不多麻煩 :-D)

日夜模式的切換

源碼中該功能只開了個頭,一開始參考的是簡友 D_clock愛吃蔥花 的 知乎和簡書的夜間模式實現套路 這篇文章,但是后來放棄了,因為當內容較多時需要修改太多的xml文件,個人感覺有些麻煩,當然還是很佩服這樣的奇淫巧技。在此推薦另一位簡友 _SOLID 的文章 Android主題換膚 無縫切換 文中介紹了一種換膚框架的實現思路,個人認為寫的極為友好,文中的方法個人認為是一勞永逸的。

 

 

來自:http://www.jianshu.com/p/61efdc826c01

 

 本文由用戶 VerYazzie 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!