天天看點

android 架構_深入解析ZBLibrary-Android快速開發架構ZBLibrary-Android快速開發架構

閱讀前請點選右上角“關注”,每天免費擷取Android知識解析及面試解答。Android架構解析,隻做職場幹貨,完全免費分享!

ZBLibrary-Android快速開發架構

MVP 架構,提供一套開發标準(View, Data, Event)以及模闆和工具類并規範代碼。封裝層級少,簡單高效相容性好。

OKHttp 網絡請求、Glide 圖檔加載、ZXing 二維碼、沉浸狀态欄、下載下傳安裝、自動緩存以及各種 Base、Demo、UI、Util 直接用。

全新的手勢,側滑傳回、全局右滑傳回都 OUT 啦!

用 BaseView,自定義 View 竟然如此簡單;

用 Entry,兩個變量的 Model/JavaBean 再也不用寫了;

用 BaseHttpListActivity,幾行代碼搞定 HTTP 請求清單 加載和緩存;

還有 100 多個常用 Style,一行搞定 View 屬性,一鍵統一配置UI...

點選右邊連結檢視如何使用 http://my.oschina.net/u/2437072/blog/665241

android 架構_深入解析ZBLibrary-Android快速開發架構ZBLibrary-Android快速開發架構

[以下 Gif 圖看起來比較卡,實際在手機上 App 運作很流暢]

ZBLibraryDemoApp

android 架構_深入解析ZBLibrary-Android快速開發架構ZBLibrary-Android快速開發架構

ZBLibrary_DatePicker.gif

android 架構_深入解析ZBLibrary-Android快速開發架構ZBLibrary-Android快速開發架構

ZBLibrary_PlacePicker (1).gif

android 架構_深入解析ZBLibrary-Android快速開發架構ZBLibrary-Android快速開發架構

ZBLibrary_PlacePicker.gif

APIJSONApp

android 架構_深入解析ZBLibrary-Android快速開發架構ZBLibrary-Android快速開發架構

APIJSON_App_Moment_Comment.gif

android 架構_深入解析ZBLibrary-Android快速開發架構ZBLibrary-Android快速開發架構

APIJSON_App_Moment_Name.gif

android 架構_深入解析ZBLibrary-Android快速開發架構ZBLibrary-Android快速開發架構

APIJSON_App_MomentList_Circle.gif

下載下傳試用

ZBLibraryDemoApp.apk(ZBLibrary)

APIJSONApp.apk(APIJSON+ZBLibrary)

感謝開源

Glide Google 官方推薦的一個強大易用的圖檔加載庫。

OKHttp 很火很強大的 HTTP/HTTPS 傳輸架構。ZBLibrary 中的 HttpManager 對它做了封裝(支援自簽名Https),Demo 中的 HttpRequest 是使用示例。 注:okio.jar 是 OKHttp 的一部分,不能删除。删除後不會在代碼中報錯,但運作會出錯。

FastJson 阿裡巴巴的 JSON 封裝和解析庫。ZBLibrary 中的 JSON 是對 fastjson 的簡單封裝,防止解析異常。

SmartRefreshLayout 下拉重新整理、上拉加載的元件庫,已在 BaseHttpRecyclerActivity 等類内置支援。

SystemBarTint 系統欄管理器,我把它用在 ZBLibrary 的 BaseActivity 中實作了狀态欄沉浸。

ZXingLib 這是該作者對官方 ZXing 二維碼庫的精簡版。我做了修改,作為 ZBLibrary 的 QRCodeLibrary。

初始化

假設你工程中的 Application 為 zblibrary.demo.application.DemoApplication,并且已在 AndroidManifest.xml 中注冊

可以用 DemoApplication 繼承 BaseApplication

public class DemoApplication extends BaseApplication {...}
           

或 在 DemoApplication 的 onCreate 函數 中調用 BaseApplication.init(this);

public class DemoApplication extends Application {    @Override    public void onCreate() {        super.onCreate();        BaseApplication.init(this);    }  ...}
           

注冊 權限和 Activity 等代碼可複制 ZBLibrary 中 AndroidManifest.xml 裡的 , 等相關代碼。

生成代碼

可使用 APIAuto 自動化接口管理工具來生成接口相關代碼:

  • 自動生成封裝請求 JSON 的代碼
  • 自動生成解析結果 JSON 的代碼
  • 自動生成 Modle/JavaBean

https://github.com/TommyLemon/APIAuto

程式設計思想

  • 能複制就複制,節約時間避免出錯
  • 保留原本結構,簡單上手容易調試
  • 增加必要注釋,說明功能和使用方法
  • 說明随手可得,不用上網或打開文檔
  • 命名必須規範,容易查找一看就懂
  • 重載盡量轉發,減少代碼容易修改
  • 最先校驗參數,任意調用不會崩潰
  • 代碼子產品分區,友善浏覽容易查找
  • 封裝常用代碼,友善使用降低耦合
  • 回收多餘占用,優化記憶體提高性能
  • 分包結構合理,子產品清晰浏覽友善
  • 多用工具和快捷鍵,增删改查快捷高效

繼續閱讀