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

2、應用層模塊化
業(yè)務模塊使用livedata的架構模式。
模塊內(nèi)基本架構:

livedata基本結構圖:

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

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



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

修改dimens.xml文件:

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

你的app工程依賴:

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

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