掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
概述

快速開(kāi)發(fā)框架,并不是現(xiàn)成的框架。它是一種架構(gòu),它集成了基礎(chǔ)庫(kù),網(wǎng)絡(luò)庫(kù),尺寸顏色主題定義,并提出了一種組件化設(shè)計(jì)。它更像是一種sdk+架構(gòu)設(shè)計(jì)抽象。本文也提供了組件設(shè)計(jì)規(guī)范和集成demo,開(kāi)發(fā)者使用時(shí),還需要做定義工作。
目標(biāo)
快速接入基礎(chǔ)庫(kù)和組件,大大縮短新應(yīng)用開(kāi)發(fā)周期。統(tǒng)一開(kāi)發(fā)模式,能帶來(lái)快速開(kāi)發(fā),快速維護(hù),功能穩(wěn)定的體驗(yàn)。
組件化
App架構(gòu)
1 、整體架構(gòu)圖
架構(gòu)主要是業(yè)務(wù)模塊化,以及通用功能組件化。但不限于此,有需要還能繼續(xù)分拆,業(yè)務(wù)模塊組件化,插件化,或進(jìn)程化
模塊依賴(lài)baselib組件和easyComponent組件
easyComponent組件依賴(lài)其他功能組件
2、應(yīng)用層模塊化
業(yè)務(wù)模塊使用livedata的架構(gòu)模式。
模塊內(nèi)基本架構(gòu):
livedata基本結(jié)構(gòu)圖:
基本組件介紹
基礎(chǔ)庫(kù) baselib
包含:
網(wǎng)絡(luò)組件 networklib
OKhttp3+Rxjava2+Retrofit2的解決方案,并設(shè)計(jì)了6種緩存策略,只讀緩存(無(wú)視過(guò)期時(shí)間),自定義緩存時(shí)間,讀網(wǎng)絡(luò),固定緩存1天,讀網(wǎng)絡(luò)并刷新緩存,讀緩存同時(shí)請(qǐng)求網(wǎng)絡(luò)并寫(xiě)緩存。
UI尺寸顏色規(guī)范庫(kù) design_style
內(nèi)容包含:
快速訪問(wèn)組件 easyComponent
如 Easys.network().api().getUser(observer)
分享組件
不祥
webview組件
不祥
組件設(shè)計(jì)規(guī)范
應(yīng)包含:
集成步驟
下載源碼demo,https://github.com/superroye/lefastdev
基礎(chǔ)庫(kù)組件使用
基礎(chǔ)庫(kù)收錄了大部分常用功能,后續(xù)繼續(xù)完善。
定義組件
按上述組件規(guī)范,定義新組件。以networklib為例,見(jiàn)源碼。
補(bǔ)充easycomponent
集成新組件的實(shí)現(xiàn),源碼有相關(guān)demo,使用責(zé)任鏈的設(shè)計(jì)模式。
以網(wǎng)絡(luò)庫(kù)為例,見(jiàn):
重新設(shè)置design_style組件
主題,尺寸,顏色,需要定義成適合本應(yīng)用的一套樣式。
修改colors.xml文件:
修改dimens.xml文件:
測(cè)試組件調(diào)用,并開(kāi)始你的開(kāi)發(fā)之旅。
初始化Application:
你的app工程依賴(lài):
調(diào)用網(wǎng)絡(luò)組件(初始化,和調(diào)用):
附言
本人做過(guò)4年java服務(wù)端開(kāi)發(fā),5年Android開(kāi)發(fā)經(jīng)驗(yàn)。以上為個(gè)人的經(jīng)驗(yàn)總結(jié),不當(dāng)之處歡迎討論,并持續(xù)優(yōu)化。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流