Android Jetpack 深受支持庫的啓發,支持庫包含的組件可讓您輕鬆利用新 Android 功能,同時保持向後兼容性;如今,應用商店中 99% 的應用都使用支持庫。在支持庫取得成功後,咱們推出了架構組件,讓開發者在面對應用生命週期變化和複雜性時能夠更輕鬆地處理數據。自從咱們在去年的 I/O 上推出以來,至關數量的開發者已經採用這些組件。LinkedIn、Zillow 和 iHeartRadio 等公司取得了顯著成效,他們應用的錯誤減小、可測試性提升,這讓他們能夠將更多時間放在精心打造本身的應用上。
Android 開發者社區從來彼此很是熟悉,不只您喜歡咱們推出的這些使人興奮的組件,咱們也知道您還想要更多功能!咱們也爲您推出了衆多功能。html
Android Jetpack 是一套組件、工具和指導,能夠幫助您構建出色的 Android 應用。Android Jetpack 組件將現有的支持庫與架構組件聯繫起來,並將它們分紅四個類別android
Android Jetpack 組件以「未捆綁的」庫形式提供,這些庫不是基礎 Android 平臺的一部分。這就意味着,您能夠根據本身的需求採用每個組件。在新的 Android Jetpack 功能發佈後,您能夠將其添加到本身的應用中,將您的應用部署到應用商店並向用戶提供新功能,若是您的行動足夠快,全部這些能夠在一天內完成!未捆綁的 Android Jetpack 庫已經所有轉移到新的 androidx.*
命名空間中(這篇博文進行了詳細介紹)。
此外,您的應用能夠在各個版本的平臺上運行,由於 Android Jetpack 組件能夠獨立於任何特定版本提供功能,從而實現向後兼容性。
並且,Android Jetpack 基於現代化設計作法構建,其中包括問題與可測試性分離,以及 Kotlin 集成等能夠提升效率的功能。這讓您能夠更輕鬆地構建穩定、優質的應用,同時減小代碼數量。雖然 Android Jetpack 的組件爲了協同操做而構建(例如,生命週期感知和實時數據),可是您沒必要使用全部組件。您能夠集成可以解決您的問題的 Android Jetpack 部分,同時保留您的應用中運行出色的部分。
鑑於如下相似反饋,咱們知道這些好處對您很是重要:
「咱們以前一直考慮在代碼庫中嘗試使用 MVVM。Android 架構組件爲咱們提供了一個簡單的實現模板。架構組件還幫咱們提高了代碼的可測試性;對 ViewModel 進行單元測試的能力提升也毫無疑問地提高了代碼的可靠性。」
-- Sumiran Pradhan,Zillow 高級工程師
若是您想要詳細瞭解各個公司使用 Android Jetpack 組件的狀況,能夠閱讀 Android 開發者網站上的開發者故事。
最後,正如您在上面的 Android Jetpack 圖表中看到的同樣,咱們今天還發布了新組件。
網絡
Android Jetpack 附帶五個新組件:
架構
WorkMananager 組件是一個功能強大的新庫,能夠爲基於約束的後臺做業(須要有保障的執行)提供一站式解決方案,消除了使用做業或 SyncAdapter 等框架的需求。WorkManager 提供了一個簡化的現代化 API、在安裝或未安裝 Google Play 服務的設備上運行的功能、建立工做圖的功能以及查詢工做狀態的功能。早期反饋很是使人鼓舞,咱們但願確保也能覆蓋您的用例。您能夠了解咱們目前已經完成的工做,並提供對 WorkManager 組件 alpha 版的反饋。
app
儘管 Activity 是系統提供的您的應用界面的入口點,但在相互分享數據以及轉場方面,Activity 表現得不夠靈活,這就讓它不適合做爲構建您的應用內導航的理想架構。今天,咱們宣佈推出導航組件,做爲構建您的應用內界面的框架,重點是讓單 Activity 應用成爲首選架構。利用導航組件對 Fragment 的原生支持,您能夠得到架構組件的全部好處(例如生命週期和 ViewModel),同時讓此組件爲您處理 FragmentTransaction 的複雜性。此外,導航組件還可讓您聲明咱們爲您處理的轉場。它能夠自動構建正確的「向上」和「返回」行爲,包含對深層連接的完整支持,並提供了幫助程序,用於將導航關聯到合適的 UI 小部件,例如抽屜式導航欄和底部導航。但這些並非所有!Android Studio 3.2 中的導航編輯器讓您能夠直觀地查看和管理導航屬性:框架
應用中呈現的數據可能很是大,這就致使加載的開銷比較大,所以,避免一次下載、建立或呈現過多數據就顯得很是重要。分頁組件 1.0.0 版讓您能夠輕鬆加載和呈現大型數據集,同時在您的 RecyclerView 中進行快速、無限滾動。它能夠從本地存儲和/或網絡加載分頁數據,並讓您可以定義內容的加載方式。此組件原生支持 Room、LiveData 和 RxJava。編輯器
最後,切片組件讓一組新功能在 Android Jetpack 中首次亮相。「切片」是一種以搜索結果形式在 Google 智能助理內部顯示應用界面的方式:
ide
您能夠訪問 Android 開發者網站,詳細瞭解切片組件,以及如何將其集成到您的應用中。工具
最後,Android Jetpack 利用 Kotlin 語言功能的一個目標是提升您的效率。Android KTX可讓您將相似下面所示的 Kotlin 代碼:單元測試
view.viewTreeObserver.addOnPreDrawListener {
object :ViewTreeObserver.OnPreDrawListener{
override fun onPreDraw():Boolean {
viewTreeObserver.removeOnPreDrawListener(this0
actionToBeTriggered()
return true
}
}):
轉換成以下所示的更精簡的 Kotlin 代碼:
view.doOnPreDraw {actionToBeTriggered()}
這只是將 Kotlin 支持帶到 Android Jetpack 組件的第一步;咱們的目標是讓 Android Jetpack 造福 Kotlin 開發者(固然還有 Java 開發者)。您能夠在 Android 開發者網站上詳細瞭解 Android KTX。
您能夠訪問 developer.android.google.cn/jetpack 頁面,開始使用 Android Jetpack。您能夠在這個頁面上找到 Android Jetpack 的文檔與視頻,查看 Android Jetpack 組件的新功能,加入社區並向咱們提供反饋。咱們還建立了一個專門介紹 Android Jetpack 的 YouTube 播放列表,您能夠觀看這些視頻,瞭解 Android Jetpack、組件、工具和最佳實踐的相關信息。
Android Jetpack 使用入門將介紹如何在您現有的應用中集成 Android Jetpack 組件並幫助您開始構建全新的 Android Jetpack 應用。Android Studio 3.2 爲 Android Jetpack 提供了出色的工具支持。要構建新應用,請使用 Activity & Fragment+ViewData Activity,您能夠在 Android Studio 的 File | New | New Project 下找到此 Activity:
咱們將在 Android Jetpack 中充分利用支持庫和架構組件的好處,併爲它添加新組件、Android Studio 集成和 Kotlin 支持。儘管 Android Jetpack 爲加快您的 Android 開發速度提供了新一代組件、工具和指導,咱們還有不少工做要作,而且須要您的幫助。請轉到 developer.android.google.cn/jetpack,告訴咱們如何進一步提高您構建 Android 應用的體驗。