Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

Android心路歷程發表於2019-04-15

概述

快速開發框架,並不是現成的框架。它是一種架構,它整合了基礎庫,網路庫,尺寸顏色主題定義,並提出了一種元件化設計。它更像是一種sdk+架構設計抽象。本文也提供了元件設計規範和整合demo,開發者使用時,還需要做定義工作。

目標

快速接入基礎庫和元件,大大縮短新應用開發週期。統一開發模式,能帶來快速開發,快速維護,功能穩定的體驗。

元件化

  • 封裝基礎庫元件,包括基本的架構基礎類,activity,dialog,動態許可權,沉浸式,工具類等

  • 封裝一套design元件,包含規定的多套尺寸,樣式,以及主題

  • 按照規範定義功能元件,網路元件,分享元件等

  • 封裝元件整合,通過統一入口連結各個元件。

App架構

1 、整體架構圖

  • 架構主要是業務模組化,以及通用功能元件化。但不限於此,有需要還能繼續分拆,業務模組元件化,外掛化,或程式化

  • 模組依賴baselib元件和easyComponent元件

  • easyComponent元件依賴其他功能元件

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

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

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

livedata基本結構圖:

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

基本元件介紹

基礎庫 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…

  • 基礎庫元件使用
    基礎庫收錄了大部分常用功能,後續繼續完善。

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

  • 定義元件
    按上述元件規範,定義新元件。以networklib為例,見原始碼。

  • 補充easycomponent
    整合新元件的實現,原始碼有相關demo,使用責任鏈的設計模式。

以網路庫為例,見:

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

  • 重新設定design_style元件
    主題,尺寸,顏色,需要定義成適合本應用的一套樣式。

修改colors.xml檔案:

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

修改dimens.xml檔案:

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

  • 測試元件呼叫,並開始你的開發之旅。
    初始化Application:
Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

你的app工程依賴:

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

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

Android快速開發框架,基礎庫,樣式庫,元件化,元件整合

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


相關文章