Android Architecture Components — 初探

Android Architecture Components 是一組 Google 推出的 Library,

主要目標在於解決 Android 開發中遇到的幾個問題:

  • Activity, Fragment 的生命週期處理導致的 Memory Leak
  • 使用 SQLite Database 時 SQLite Query 錯誤無法被發現問題

同時也能將 Android App 的架構更貼近 MVVM。

內容

Android Architecture Components 主要包含四組 Library:

  • Lifecycle:幫你處理 Lifecycle
  • ViewModel:綁定畫面與資料
  • LiveData:即時且自動更新取得的資料
  • Room:更乾淨的 SQLite database 使用方式

架構

Android Architecture Components 主要將 Android App 分成四個層次

  • View(UI Controller )
  • ViewModel
  • Repository
  • Data Source

View(UI Controller )

View 為畫面上該顯示的東西,主要就是Activity、Fragment、List、Dialog

Android Architecture 為這層推出了 Lifecycle Components,解決了各個View 在不同的 Lifecycle 需要做不同的動作

ViewModel

ViewModel 為畫面上的資料,Android Architecture 這邊以 LiveData 、ViewModel 來配合

Repository

Repository 為分辨該與哪種資料來源溝通的一層結構,同時將來源資料處理為ViewModel 能處理的資料

Data Source

Data Source 指的是資料的來源,Android App 主要三種資料來源:SQLite database、API、Content Provider。在 SQLite database 這邊 Android Architecture Components 推出了 Room,提供了 annotation base 的資料庫處理

See Also: