本篇文章已授權微信公眾號 dasu_Android(大蘇)獨家發布
介紹
Gank平台的移動端又來了,非常感謝Gank平台開放接口,讓我們這些小白有機會練手、學習。
本項目在架構方面有稍微花點心思,雖然還是最簡單的MVC模式,但基本參考MVP的思想,Activity只負責ui顯示邏輯,ui和業務會盡量的分離開,每個包的類權限嚴格控制,盡量對外部隱藏其實現細節。另外,本項目不像其他熱門的Gank客戶端那樣使用諸如Rx系列的高級開源庫,代碼應該是可以很容易看懂的,吧。哈哈,有興趣的可以fork看看,有什么問題可以聯系我哈。
以下是項目所依賴的第三方庫:
- Retrofit + Okhttp (網絡訪問)
- Gson (Json數據解析)
- Glide (圖片加載)
- photoview (支持手勢縮放的圖片查看)
- Jsoup (Html解析)
項目
下圖是項目的代碼結構圖,我分成mode層和ui層,讓ui與業務邏輯盡可能解耦,感興趣的clone項目看看哈,架構方面才剛接觸,很多地方考慮不周到,歡迎指點一下哈。過段時間,我會單獨寫篇博客來介紹整個項目的架構設計以及各模塊的職責和交互方式,讓感興趣的童鞋可以更容易理解項目代碼。
如果有clone項目的童鞋,出現了編譯失敗的問題,可以參考下本項目的開發環境哈:
- Android Studio: 2.2.3 - Gradle Version: 2.14.1 - Android Plugin Version: 2.2.3 (根目錄build.gradle里gradle的版本) - compileSdkVersion: 25 - buildToolsVersion: "25.0.2"
以上設置在兩個build.gradle里都可以找到。
如果把代碼下載到本地編譯報錯的話,有可能是因為gradle的版本不一致,也有可能是因為Android SDK的版本問題,如果有報錯的童鞋試着在這幾個地方查查看哈。
效果
效果只展示了部分效果,感興趣的可以去我Github看看更詳細的,或者是下載下來試試看哈。
App下載
鳴謝
最近剛開通了公眾號,想激勵自己堅持寫作下去,初期主要分享原創的Android或Android-Tv方面的小知識,感興趣的可以點一波關注,謝謝支持~~