概述
快速開發框架,並不是現成的框架。它是一種架構,它整合了基礎庫,網路庫,尺寸顏色主題定義,並提出了一種元件化設計。它更像是一種sdk+架構設計抽象。本文也提供了元件設計規範和整合demo,開發者使用時,還需要做定義工作。
目標
快速接入基礎庫和元件,大大縮短新應用開發週期。統一開發模式,能帶來快速開發,快速維護,功能穩定的體驗。
元件化
封裝基礎庫元件,包括基本的架構基礎類,activity,dialog,動態許可權,沉浸式,工具類等
封裝一套design元件,包含規定的多套尺寸,樣式,以及主題
按照規範定義功能元件,網路元件,分享元件等
封裝元件整合,通過統一入口連結各個元件。
App架構
1 、整體架構圖
架構主要是業務模組化,以及通用功能元件化。但不限於此,有需要還能繼續分拆,業務模組元件化,外掛化,或程式化
模組依賴baselib元件和easyComponent元件
easyComponent元件依賴其他功能元件

2、應用層模組化
業務模組使用livedata的架構模式。
模組內基本架構:

livedata基本結構圖:

基本元件介紹
基礎庫 baselib
包含:
1 life-arch,livedata基本封裝
2 基礎SharePerference封裝
3 環境設定,包括介面環境,debug環境(可控制日誌輸出)
4 基礎Activity/Fragment
5 dialog, tab, statusbar
6 recyclerview快速開發
7 viewtools
8 動態許可權
9 工具類
10 多工處理Rxjava
11 Eventbus事件匯流排
網路元件 networklib
OKhttp3+Rxjava2+Retrofit2的解決方案,並設計了6種快取策略,只讀快取(無視過期時間),自定義快取時間,讀網路,固定快取1天,讀網路並重新整理快取,讀快取同時請求網路並寫快取。
UI尺寸顏色規範庫 design_style
包含一組尺寸,顏色規範,可推動設計師們按規範設計。
主要目的是擼UI儘量不用思考,提高開發效率和統一的尺寸和顏色體驗。
通過重新修改尺寸,顏色值,主題樣式即可快速使用。
內容包含:
文字size,大中小几種規範;
元件外距/內距(margin/padding) 統一隻有幾種規格;
分界線長度,寬度,顏色;
文字顏色,主顏色,次要顏色,最次要顏色;
activity主題,狀態列,標題欄,背景顏色,游標顏色,問題顏色等等;
dialog主題,圓角,邊距,底色;
快速訪問元件 easyComponent
easyComponent實現了對元件的接入
模組通過easyComponent元件,以責任鏈的方式呼叫。
如 Easys.network().api().getUser(observer)
分享元件
不祥
webview元件
不祥
元件設計規範
應包含:
1、儘量減少對其他元件的依賴
2、元件初始化過程(比如設定Application)
3、呼叫元件的過程
4、生命週期管理
整合步驟
下載原始碼demo
github.com/superroye/l…基礎庫元件使用
基礎庫收錄了大部分常用功能,後續繼續完善。

定義元件
按上述元件規範,定義新元件。以networklib為例,見原始碼。補充easycomponent
整合新元件的實現,原始碼有相關demo,使用責任鏈的設計模式。
以網路庫為例,見:



- 重新設定design_style元件
主題,尺寸,顏色,需要定義成適合本應用的一套樣式。
修改colors.xml檔案:

修改dimens.xml檔案:

- 測試元件呼叫,並開始你的開發之旅。
初始化Application:

你的app工程依賴:

呼叫網路元件(初始化,和呼叫):

附言
本人做過4年java服務端開發,5年android開發經驗。以上為個人的經驗總結,不當之處歡迎討論,並持續優化。