之前公司入職前的一個大作業,今天整理電腦發現了,拿來分享一下吧。感興趣都可以下載源碼閱讀一下。本軟件的數據來源是豆瓣圖書API,地址如下:https://developers.douban.com/wiki/?title=book_v2
在這里感謝豆瓣開放的接口,實現過程中也查閱了不少網上的資料,感謝這些貢獻者們。
一、軟件運行效果:
本應用基于豆瓣API,由于訪問次數有限制,若一分鐘單個IP請求超過40次,IP會被暫時封禁,請求的數據返回為null,會顯示如下界面,
一般等個十幾分鐘半小時就又好了。
二、軟件簡單介紹:
1、功能:
條形碼掃描查詢、圖書名查詢,書籍詳情功能、接入一個圖片框架,網絡框架,apk進行安全加固,代碼進行混淆。運行穩定,崩潰率極低。
實現的其他附加功能有:
實現了書籍分類羅列功能
實現了書籍詳情頁背景色跟隨書籍圖片顏色變化功能
實現了下拉刷新功能
實現了主題換膚功能
實現了回到頂部功能
實現了再按一次退出功能
實現了從本地圖庫掃描圖片條形碼搜索圖書功能
實現了閃屏動畫功能
實現了中英文語言適配
2、主要用到的第三方框架
圖片加載框架—Glide
網絡訪問框架—Retrofit
二維碼掃描框架—BGAQRCode
注解框架—ButterKnife
3、界面風格
主要采用Google推出的全新的Material Design風格的控件,如AppBarLayout、ToolBar、CoordinatorLayout等,其中:
CardView用于包裹圖書的顯示來增加圓角和陰影功能
SwipeRefreshLayout實現下拉刷新功能
DrawerLayout實現抽屜效果
NavigationView實現抽屜布局
RecyclerView用于顯示大量圖書數據
CollapsingToolbarLayout實現可伸縮折疊的toolbar,主要應用在書籍詳情頁界面
TabLayout加上viewPager實現可橫向切換的選項卡
FloatingActionButton實現回到頂部按鈕
4、代碼架構
代碼編寫采用MVP架構,清晰易懂,降低耦合。
5、代碼保護
代碼進行了混淆,apk進行了加固并簽名,能有效防止防止惡意反編譯源碼,竊取勞動成果。
三、項目APK地址:
https://github.com/sunnygarden/EasySearch/blob/master/EasySearch.apk
四、項目源碼地址:
https://github.com/sunnygarden/EasySearch