一款基於douban及ONE API開發的資訊類的開源專案。專案採取的是okhttp + MVP架構開發。Github地址:github.com/LRH1993/Sui…
一、效果圖
二、簡介
碎閱分為三個主要模組:
- 文章
- 圖書
- 電影
1.文章
API使用的是ONE API,關於具體API參考該專案的REAMDE。
-
文章列表:支援上拉載入更多下拉重新整理,列表使用RecyclerView,每日推薦新的文章。
-
文章詳情頁:主要分為短文、問答及連載三種型別文章,佈局採用CoordinatorLayout。
2.圖書
API使用的是豆瓣圖書 API,關於具體API參考該專案的REAMDE。
-
圖書列表:列表使用RecyclerView,新增浮動按鈕重新整理圖書,該按鈕支援任意拖拽。
-
搜尋介面:採用DialogFragment實現,支援歷史搜尋及熱門搜尋,具有Circular Reveal動畫效果。
-
掃描介面:採用Zxing進行二維碼掃描,支援圖書掃描,獲取圖書詳情資訊。
3.電影
API使用的是豆瓣電影 API,關於具體API參考該專案的REAMDE。
-
電影列表:由影院熱映、院線即將上映及豆瓣Top250三部分組成,點選全部跳轉到顯示所有列表資訊。
-
電影詳情頁:影片的具體介紹及評分資訊,採用CardView卡片控制元件,評分控制元件採用MaterialRatingbar。
三、開源庫
- Fresco,好用的圖片載入庫。
- okhttp,快速實現網路請求。
- EventBus,方便實現元件間通訊。
- MaterialRatingBar,符合material design的評分控制元件。
- zxing,google出品的二維碼庫。
- zxing-android-embedded,快速適用於android二維碼使用的庫。
- ImmersionBar,簡單實現各種狀態列管理。
四、技術點
在實現專案過程中,學到的一些知識,及遇到的一些技術問題。
-
豆瓣及ONE的相關API的瞭解
-
Kotlin語言的使用及語法特性
-
MVP模式的特點及使用
-
Fresco的使用細節
-
okhttp的使用細節及簡單封裝
-
ZXing的接入以及在android中的使用
-
程式碼混淆的簡單瞭解及學習
-
SwipeRefreshLayout結合RecyclerView下拉重新整理上拉載入
-
CoordinatorLayout + Behavior的簡單學習與使用
-
ScrollView巢狀RecyclerView的使用及問題分析
五、總結
由於時間原因以及相關API資料的限制,有些實現上比較粗糙,同時存在一些潛在的bug,歡迎在Github上提issue。如果覺得不錯,對你有幫助,希望多多fork,star。
Github地址:github.com/LRH1993/Sui…
可以通過掃描二維碼,下載apk體驗。