Android快速開發(fā)框架,基礎(chǔ)庫,樣式庫,組件化,組件集成
概述
快速開發(fā)框架,并不是現(xiàn)成的框架。它是一種架構(gòu),它集成了基礎(chǔ)庫,網(wǎng)絡(luò)庫,尺寸顏色主題定義,并提出了一種組件化設(shè)計(jì)。它更像是一種sdk+架構(gòu)設(shè)計(jì)抽象。本文也提供了組件設(shè)計(jì)規(guī)范和集成demo,開發(fā)者使用時(shí),還需要做定義工作。
目標(biāo)
快速接入基礎(chǔ)庫和組件,大大縮短新應(yīng)用開發(fā)周期。統(tǒng)一開發(fā)模式,能帶來快速開發(fā),快速維護(hù),功能穩(wěn)定的體驗(yàn)。
組件化
- 封裝基礎(chǔ)庫組件,包括基本的架構(gòu)基礎(chǔ)類,activity,dialog,動態(tài)權(quán)限,沉浸式,工具類等
- 封裝一套design組件,包含規(guī)定的多套尺寸,樣式,以及主題
- 按照規(guī)范定義功能組件,網(wǎng)絡(luò)組件,分享組件等
- 封裝組件集成,通過統(tǒng)一入口鏈接各個(gè)組件。
App架構(gòu)
1 、整體架構(gòu)圖
架構(gòu)主要是業(yè)務(wù)模塊化,以及通用功能組件化。但不限于此,有需要還能繼續(xù)分拆,業(yè)務(wù)模塊組件化,插件化,或進(jìn)程化
模塊依賴baselib組件和easyComponent組件
easyComponent組件依賴其他功能組件

2、應(yīng)用層模塊化
業(yè)務(wù)模塊使用livedata的架構(gòu)模式。
模塊內(nèi)基本架構(gòu):

livedata基本結(jié)構(gòu)圖:

基本組件介紹
基礎(chǔ)庫 baselib
包含:
- life-arch,livedata基本封裝
- 基礎(chǔ)SharePerference封裝
- 環(huán)境設(shè)置,包括接口環(huán)境,debug環(huán)境(可控制日志輸出)
- 基礎(chǔ)Activity/Fragment
- dialog, tab, statusbar
- recyclerview快速開發(fā)
- viewtools
- 動態(tài)權(quán)限
- 工具類
- 多任務(wù)處理Rxjava
- Eventbus事件總線
網(wǎng)絡(luò)組件 networklib
OKhttp3+Rxjava2+Retrofit2的解決方案,并設(shè)計(jì)了6種緩存策略,只讀緩存(無視過期時(shí)間),自定義緩存時(shí)間,讀網(wǎng)絡(luò),固定緩存1天,讀網(wǎng)絡(luò)并刷新緩存,讀緩存同時(shí)請求網(wǎng)絡(luò)并寫緩存。
UI尺寸顏色規(guī)范庫 design_style
- 包含一組尺寸,顏色規(guī)范,可推動設(shè)計(jì)師們按規(guī)范設(shè)計(jì)。
- 主要目的是擼UI盡量不用思考,提高開發(fā)效率和統(tǒng)一的尺寸和顏色體驗(yàn)。
- 通過重新修改尺寸,顏色值,主題樣式即可快速使用。
內(nèi)容包含:
- 文字size,大中小幾種規(guī)范;
- 組件外距/內(nèi)距(margin/padding) 統(tǒng)一只有幾種規(guī)格;
- 分界線長度,寬度,顏色;
- 文字顏色,主顏色,次要顏色,最次要顏色;
- activity主題,狀態(tài)欄,標(biāo)題欄,背景顏色,光標(biāo)顏色,問題顏色等等;
- dialog主題,圓角,邊距,底色;
快速訪問組件 easyComponent
- easyComponent實(shí)現(xiàn)了對組件的接入
- 模塊通過easyComponent組件,以責(zé)任鏈的方式調(diào)用。
如 Easys.network().api().getUser(observer)
分享組件
不祥
webview組件
不祥
組件設(shè)計(jì)規(guī)范
應(yīng)包含:
- 盡量減少對其他組件的依賴
- 組件初始化過程(比如設(shè)置Application)
- 調(diào)用組件的過程
- 生命周期管理
集成步驟
下載源碼demo,https://github.com/superroye/lefastdev
基礎(chǔ)庫組件使用
基礎(chǔ)庫收錄了大部分常用功能,后續(xù)繼續(xù)完善。

定義組件
按上述組件規(guī)范,定義新組件。以networklib為例,見源碼。
補(bǔ)充easycomponent
集成新組件的實(shí)現(xiàn),源碼有相關(guān)demo,使用責(zé)任鏈的設(shè)計(jì)模式。
以網(wǎng)絡(luò)庫為例,見:



重新設(shè)置design_style組件
主題,尺寸,顏色,需要定義成適合本應(yīng)用的一套樣式。
修改colors.xml文件:

修改dimens.xml文件:

測試組件調(diào)用,并開始你的開發(fā)之旅。
初始化Application:

你的app工程依賴:

調(diào)用網(wǎng)絡(luò)組件(初始化,和調(diào)用):

附言
本人做過4年java服務(wù)端開發(fā),5年android開發(fā)經(jīng)驗(yàn)。以上為個(gè)人的經(jīng)驗(yàn)總結(jié),不當(dāng)之處歡迎討論,并持續(xù)優(yōu)化。