Android Jetpack簡介

Android Jetpack簡介

2018年谷歌I/O 發(fā)布了一系列輔助android開發(fā)者的實(shí)用工具,合稱Jetpack,以幫助開發(fā)者構(gòu)建出色的 Android 應(yīng)用。

這次發(fā)布的 Android Jetpack 組件覆蓋以下 4 個方面:Architecture、Foundation、Behavior 以及 UI。包括我們在本次 Android P Beta 中帶來的 Slices等新功能也包含在其中。此外,Android Jetpack 完美兼容 Kotlin 語言,利用 Android KTX 可大幅節(jié)省代碼量。作為下一代的 Android 組件,Android Jetpack 通過提供現(xiàn)代化應(yīng)用架構(gòu)以及提供強(qiáng)健的向后兼容能力等方式,讓開發(fā)者能夠快速、輕松地創(chuàng)造擁有卓越性能的高質(zhì)量應(yīng)用。

新組件

Android Jetpack 附帶五個新組件:

  • WorkManager alpha 版
  • 導(dǎo)航 alpha 版
  • 分頁穩(wěn)定版
  • 切片 alpha 版
  • Android KTX(Kotlin 擴(kuò)展程序)alpha 版

WorkManager

WorkMananager 組件是一個功能強(qiáng)大的新庫,可以為基于約束的后臺作業(yè)(需要有保障的執(zhí)行)提供一站式解決方案,消除了使用作業(yè)或 SyncAdapter 等框架的需求。WorkManager 提供了一個簡化的現(xiàn)代化 API、在安裝或未安裝 Google Play 服務(wù)的設(shè)備上運(yùn)行的功能、創(chuàng)建工作圖的功能以及查詢工作狀態(tài)的功能。早期反饋非常令人鼓舞,我們希望確保也能覆蓋您的用例。您可以了解我們目前已經(jīng)完成的工作,并提供對 WorkManager 組件 alpha 版的反饋。

導(dǎo)航

盡管 Activity 是系統(tǒng)提供的您的應(yīng)用界面的入口點(diǎn),但在相互分享數(shù)據(jù)以及轉(zhuǎn)場方面,Activity 表現(xiàn)得不夠靈活,這就讓它不適合作為構(gòu)建您的應(yīng)用內(nèi)導(dǎo)航的理想架構(gòu)。今天,我們宣布推出導(dǎo)航組件,作為構(gòu)建您的應(yīng)用內(nèi)界面的框架,重點(diǎn)是讓單 Activity 應(yīng)用成為首選架構(gòu)。利用導(dǎo)航組件對 Fragment 的原生支持,您可以獲得架構(gòu)組件的所有好處(例如生命周期和 ViewModel),同時讓此組件為您處理 FragmentTransaction 的復(fù)雜性。此外,導(dǎo)航組件還可以讓您聲明我們?yōu)槟幚淼霓D(zhuǎn)場。它可以自動構(gòu)建正確的“向上”和“返回”行為,包含對深層鏈接的完整支持,并提供了幫助程序,用于將導(dǎo)航關(guān)聯(lián)到合適的 UI 小部件,例如抽屜式導(dǎo)航欄和底部導(dǎo)航。但這些并不是全部! Android Studio 3.2 中的導(dǎo)航編輯器讓您可以直觀地查看和管理導(dǎo)航屬性:

導(dǎo)航組件 目前也處于 alpha 版階段,我們希望收到您的反饋。

分頁

應(yīng)用中呈現(xiàn)的數(shù)據(jù)可能非常大,這就導(dǎo)致加載的開銷比較大,因此,避免一次下載、創(chuàng)建或呈現(xiàn)過多數(shù)據(jù)就顯得非常重要。 分頁組件 1.0.0 版讓您可以輕松加載和呈現(xiàn)大型數(shù)據(jù)集,同時在您的 RecyclerView 中進(jìn)行快速、無限滾動。它可以從本地存儲和/或網(wǎng)絡(luò)加載分頁數(shù)據(jù),并讓您能夠定義內(nèi)容的加載方式。此組件原生支持 Room、LiveData 和 RxJava。

切片

最后,切片組件讓一組新功能在 Android Jetpack 中首次亮相?!扒衅笔且环N以搜索結(jié)果形式在 Google 智能助理內(nèi)部顯示應(yīng)用界面的方式:

可以訪問 Android 開發(fā)者網(wǎng)站, 詳細(xì)了解切片組件 ,以及如何將其集成到您的應(yīng)用中。

Android KTX

最后,Android Jetpack 利用 Kotlin 語言功能的一個目標(biāo)是提高您的效率。Android KTX可以讓您將類似下面所示的 Kotlin 代碼:

view.viewTreeObserver.addOnPreDrawListener(
  object : ViewTreeObserver.OnPreDrawListener {
    override fun onPreDraw(): Boolean {
      viewTreeObserver.removeOnPreDrawListener(this)
      actionToBeTriggered()
      return true
    }
});

轉(zhuǎn)換成如下所示的更精簡的 Kotlin 代碼:

view.doOnPreDraw { actionToBeTriggered() }

這只是將 Kotlin 支持帶到 Android Jetpack 組件的第一步;我們的目標(biāo)是讓 Android Jetpack 造福 Kotlin 開發(fā)者(當(dāng)然還有 Java 開發(fā)者)。您可以在 Android 開發(fā)者網(wǎng)站上 詳細(xì)了解 Android KTX。

開始使用

您可以訪問 developer.android.com/jetpack 頁面,開始使用 Android Jetpack。您可以在這個頁面上找到 Android Jetpack 的文檔與視頻,查看 Android Jetpack 組件的新功能,加入社區(qū)并向我們提供反饋。我們還創(chuàng)建了一個 專門介紹 Android Jetpack 的 YouTube 播放列表 ,您可以觀看這些視頻,了解 Android Jetpack、組件、工具和最佳實(shí)踐的相關(guān)信息。

Android Jetpack 使用入門 將介紹如何在您現(xiàn)有的應(yīng)用中集成 Android Jetpack 組件并幫助您開始構(gòu)建全新的 Android Jetpack 應(yīng)用。Android Studio 3.2 為 Android Jetpack 提供了出色的工具支持。要構(gòu)建新應(yīng)用,請使用 Activity & Fragment+ViewData Activity,您可以在 Android Studio 的 File | New | New Project 下找到此 Activity:

未完待續(xù)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容