碎閱:一款基於douban及ONE API開發的資訊類App

一款基於douban及ONE API開發的資訊類的開源項目。項目採起的是okhttp + MVP架構開發。Github地址: https://github.com/LRH1993/Su...

1、效果圖

文章頁面 圖書頁面 電影頁面
文章詳情頁 圖書詳情頁 電影詳情頁
搜索頁面 掃描頁面 電影列表頁面

2、簡介

碎閱分爲三個主要模塊:android

  • 文章
  • 圖書
  • 電影

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。

3、開源庫

4、技術點

在實現項目過程當中,學到的一些知識,及遇到的一些技術問題。git

  • 豆瓣及ONE的相關API的瞭解
  • Kotlin語言的使用及語法特性
  • MVP模式的特色及使用
  • Fresco的使用細節
  • okhttp的使用細節及簡單封裝
  • ZXing的接入以及在android中的使用
  • 代碼混淆的簡單瞭解及學習
  • SwipeRefreshLayout結合RecyclerView下拉刷新上拉加載
  • CoordinatorLayout + Behavior的簡單學習與使用
  • ScrollView嵌套RecyclerView的使用及問題分析

5、總結

因爲時間緣由以及相關API數據的限制,有些實現上比較粗糙,同時存在一些潛在的bug,歡迎在Github上提issue。若是以爲不錯,對你有幫助,但願多多fork,star。github

Github地址:https://github.com/LRH1993/SuiYue

能夠經過掃描二維碼,下載apk體驗。網絡

相關文章
相關標籤/搜索