好久不見,從新拾起博客吧,今天分享一個開源APP-Reading,項目的初衷是由於本身平時翻文章,可是公衆號又常常忘記看,本身索性搞一個APP吧,順便練一下Kotlin。藉助着WanAndroid OpenApi搞起,同時裏面加了一些小工具,具體功能向下看吧,而後也嘗試了一下之前想實現可是沒實現過的功能,廢話很少說,先來一波圖。各位若是有什麼意見能夠在Issues上提,或者聯繫我。java
Reading: Reading是一款基於WanAndroid OpenApi開發的閱讀類工具,若是你是一個熱衷於Android開發者,那麼這款軟件能幫助你閱讀精品Android文章。同時Reading中還包含"英文單詞"、"帳號本子"、"天氣"、"查單詞"、"快遞查詢"等小工具。項目基於"Kotlin+MVP"架構開發,風格大概也許屬於Material Desgin原質化風格,包含主題顏色切換、百變Logo、等功能。在此感謝WanAndroid的OpenApi,以及其它開源項目的貢獻。android
項目架構 使用MVP架構模式搭建,封裝MvpActivity、MvpFragment、BasePresenter、BaseView。P層綁定V層生命週期 。具體可見MVP包github
網絡層 使用Retrofit+RxJava進行網絡請求,封裝公共Rerofit的HttpClientUtils(建立RetrofitBuilder、OkHttpClient、addHeader、攔截器、Cookie、https等)、工廠模式建立不一樣BaseUrl的網絡對象。具體可見http包數據庫
緩存 使用GreenDao數據庫緩存本地數據,並提供數據備份、還原功能。同時結合MVP架構,將數據庫操做做爲Dao層,Dao層封裝Protocol,利用工廠模式包裝GreenDao產生的xxxBeanDaoexpress
RecycleAdapter 封裝RecycleView Adapter 配合SwipeRefreshLayout支持下拉刷新、上拉加載功能,不知足一屏數據apache
RxBusTools 封裝RxBusTools事件分發 封裝BaseActivity、BaseFragment統一處理註冊監聽事件緩存
StatuBarUtils沉浸式 使用寫代碼的猴子的StatusBarUtil 狀態欄工具類(實現沉浸式狀態欄/變色狀態欄)適配沉浸式通知欄網絡
主題切換 B站開源框架MagicaSakura
百變Logo Android羣英傳中利用根據主題顏色動態切換Icon,部分機型可能會出現crash,目前還沒找到更好的解決方案,因此提供了開啓關閉的開關。若是有大神能夠在Issues提供。
本地數據備份還原 經過讀取數據庫數據寫入txt文件,讀取txt文件數據還原實現,記錄備份還原的時間戳做爲版本號
單詞翻譯 使用有道SDK翻譯單詞
FloatActionButton 實現首頁懸浮按鈕 點擊展開
HorizontalScrollView+ViewPager 首頁仿網易雲音樂滑動
BottomSheet 主題切換底部彈出框
手勢解鎖 參考Github-ihsg/PatternLocker
完善數據備份還原清空數據功能
完善帳號鎖功能
新增版本號
Copyright (C) 2018 Hankkin
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.