<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          劃重點(diǎn) | Android Jetpack 三大重要更新!

          共 12213字,需瀏覽 25分鐘

           ·

          2020-08-05 17:07

          Android Jetpack 集合了一系列的開(kāi)發(fā)庫(kù),旨在幫助開(kāi)發(fā)者更容易地創(chuàng)作高質(zhì)量的應(yīng)用,同時(shí)也更好地兼容老舊版本的 Android 系統(tǒng)。在正式發(fā)布 Jetpack 兩年后的今天,我們已經(jīng)看到大量的應(yīng)用開(kāi)發(fā)開(kāi)始采用 Jetpack 中的開(kāi)發(fā)庫(kù),這其中既包括大型開(kāi)發(fā)團(tuán)隊(duì)的產(chǎn)品,也有那些剛起步的應(yīng)用。而這一切僅僅是開(kāi)始,因?yàn)榻谖覀儼l(fā)布了一系列新的開(kāi)發(fā)庫(kù),以及過(guò)去一年我們對(duì)于現(xiàn)有開(kāi)發(fā)庫(kù)的重要更新。


          • Jetpack

            https://developer.android.google.cn/jetpack



          新發(fā)布到 Alpha 版本的庫(kù)


          Hilt — Jetpack 官方推薦的依賴注入開(kāi)發(fā)庫(kù)

          Hilt 是一個(gè)新的 Android 開(kāi)發(fā)庫(kù),它可以幫助應(yīng)用開(kāi)發(fā)更容易地實(shí)現(xiàn)依賴注入。Hilt 讓您只需考慮聲明和注入綁定中的重要部分,而不必?fù)?dān)心管理依賴注入的初始化和連接等部分。


          • 依賴注入
            https://developer.android.google.cn/training/dependency-injection

          Hilt 是基于 Dagger 開(kāi)發(fā)的,也同樣受益于其編譯期錯(cuò)誤診斷、改良的運(yùn)行時(shí)性能以及良好的可擴(kuò)展性。Hilt 已經(jīng)集成了對(duì) Jetpack 開(kāi)發(fā)庫(kù)和 Android 系統(tǒng)類(lèi)庫(kù)的支持。舉個(gè)例子,為了注入 ViewModel 參數(shù),可以使用 @ViewModelInject 注解 ViewModel 的構(gòu)造函數(shù),然后使用 @AndroidEntryPoint 來(lái)注解 Fragment:

          • ViewModel
            https://developer.android.google.cn/reference/androidx/lifecycle/ViewModel
          • @ViewModelInject
            http://developer.android.google.cn/training/dependency-injection/hilt-jetpack
          • @AndroidEntryPoint
            https://developer.android.google.cn/training/dependency-injection/hilt-android

          class SearchViewModel @ViewModelInject constructor( private val repository: SearchRepository): ViewModel() { … }
          @AndroidEntryPointclass SearchFragment : Fragment() { val viewModel: SearchViewModel by viewModels()}


          請(qǐng)從我們發(fā)布的博客文章中了解更多關(guān)于 Hilt 以及其相關(guān)資源。

          • 發(fā)布的博客文章
            https://medium.com/androiddevelopers/dependency-injection-on-android-with-hilt-67b6031e62d

          Paging 3 — 分頁(yè)加載顯示數(shù)據(jù)內(nèi)容
          Paging 開(kāi)發(fā)庫(kù)可以幫助分頁(yè)加載顯示數(shù)據(jù)內(nèi)容。我們發(fā)布了使用 Kotlin 的協(xié)程重寫(xiě)的 Paging 3。新版本添加了一些呼聲較高的新功能,比如分隔符、標(biāo)頭和頁(yè)腳,以及數(shù)據(jù)轉(zhuǎn)換。此外,新版本還添加了用來(lái)監(jiān)控列表加載狀態(tài)的一系列的 API,以及重試和刷新的方法等。

          舉個(gè)例子,使用 Paging 3,我們可以通過(guò)繼承 PagingSource 類(lèi)來(lái)定義數(shù)據(jù)源,并實(shí)現(xiàn) load 這個(gè)掛起函數(shù),該函數(shù)可以直接執(zhí)行其他的掛起函數(shù):

          class MyPagingSource : PagingSource<Key, Value>() { override suspend fun load(params: LoadParams<Key>): LoadResult { try { val result = api.requestPage(params.key) return Page( data = result.items, nextKey = result.nextKey ) } catch(error: IOException) { return Error(error) } }}


          獲取更多?Paging 3 信息,請(qǐng)查閱:


          • 官方文檔
            https://developer.android.google.cn/paging3

          App Startup —?在應(yīng)用啟動(dòng)時(shí)初始化組件

          App Startup 開(kāi)發(fā)庫(kù)提供了一種相當(dāng)直接且高效的方式,來(lái)幫助程序在啟動(dòng)過(guò)程中初始化組件。不同于以往需要單獨(dú)為每個(gè)需要初始化的組件定義 ContentProvider,App Startup 可以利用一個(gè)共享的 ContentProvider 來(lái)同時(shí)定義多個(gè)組件的初始化操作,這樣可以有效加快應(yīng)用啟動(dòng)速度。

          下面的例子展示了如何利用 App Startup 來(lái)優(yōu)化 WorkManager 的初始化時(shí)間,底層的實(shí)現(xiàn)是 App Startup 使用了一個(gè)共用的 ContentProvider,并代替了 WorkManager 自有的 ContentProvider:

          // Initializes WorkManager.class WorkManagerInitializer : Initializer<WorkManager> { override fun create(context: Context): WorkManager { val configuration = Configuration.Builder().build() WorkManager.initialize(context, configuration) return WorkManager.getInstance(context) } override fun dependencies(): Listout Initializer<*>>> { return emptyList() }}


          獲取更多有關(guān) App Startup 的信息,請(qǐng)查閱:

          • 官方文檔
            https://developer.android.google.cn/topic/libraries/app-startup


          輸入法集成自動(dòng)填充功能
          Android 11 為軟鍵盤(pán)引入了一系列系統(tǒng) API 來(lái)顯示自動(dòng)填充內(nèi)容,并且提示內(nèi)容可以來(lái)自其他應(yīng)用,比如密碼管理器。Jetpack 的 Autofill API 通過(guò)其 InlineSuggestionUi 類(lèi),讓鍵盤(pán)和自動(dòng)填充服務(wù)可以更好地利用新特性。其中自動(dòng)填充服務(wù)可以利用這個(gè)類(lèi)創(chuàng)建更合適的提示內(nèi)容,而鍵盤(pán)可以利用這個(gè)類(lèi)更好地定制自動(dòng)填充的外觀。


          • Autofill

            https://developer.android.google.cn/jetpack/androidx/releases/autofill

          △ 軟鍵盤(pán)顯示信用卡號(hào)碼自動(dòng)填充內(nèi)容

          利用 core-animation 和 SeekableAnimatedVectorDrawable 來(lái)輕松創(chuàng)建動(dòng)畫(huà)

          為了更輕松地實(shí)現(xiàn)和測(cè)試動(dòng)畫(huà),我們?cè)黾恿藘蓚€(gè)新的開(kāi)發(fā)庫(kù),分別是 androidx.core:core-animation 和 androidx.core:core-animation-testing。同時(shí)我們也引入了一個(gè)新的 API SeekableAnimatedVectorDrawable?作為 androidx.vectordrawable 開(kāi)發(fā)庫(kù)的一部分。

          • androidx.core:core-animation?和 androidx.core:core-animation-testing
            https://developer.android.google.cn/jetpack/androidx/releases/core#core-animation_and_core-animation-testing_100_2
          • SeekableAnimatedVectorDrawable
            https://developer.android.google.cn/reference/androidx/vectordrawable/graphics/drawable/SeekableAnimatedVectorDrawable
          • androidx.vectordrawable
            https://developer.android.google.cn/jetpack/androidx/releases/vectordrawable

          core-animation 兼容所有自 Android 4.0 之后的新 Animator API,包括 pause (暫停)、resume (恢復(fù)) 和 seek (查找)。


          • Animator
            https://developer.android.google.cn/reference/android/animation/Animator

          SeekableAnimatedVectorDrawable 基于 core-animation 開(kāi)發(fā),它是 AnimatedVectorDrawable (AVD) 可替代方案。它使用與 AVD 同樣的文件格式,并且新增了 seek (查找)、pause (暫停) 和 resume (恢復(fù)) 的功能。Seekable AVD 暫時(shí)不可以利用渲染線程,所以只有當(dāng)亟需該類(lèi)新特性的時(shí)候才推薦使用。

          • SeekableAnimatedVectorDrawable
            https://developer.android.google.cnreference/androidx/vectordrawable/graphics/drawable/SeekableAnimatedVectorDrawable
          • AnimatedVectorDrawable
            https://developer.android.google.cn/reference/android/graphics/drawable/AnimatedVectorDrawable


          利用 Android Studio 的數(shù)據(jù)庫(kù)檢查器來(lái)調(diào)試數(shù)據(jù)庫(kù)

          △?在 Android Studio 中使用數(shù)據(jù)庫(kù)檢查器

          有了 Android Studio 4.1 Beta 新發(fā)布的 Database Inspector,數(shù)據(jù)庫(kù)調(diào)試變得十分簡(jiǎn)單。這個(gè)工具可以在正在運(yùn)行的應(yīng)用中查看、檢索以及修改數(shù)據(jù)庫(kù)的內(nèi)容。無(wú)論是使用 Room 還是直接使用 SQLite,您都可以通過(guò)菜單欄中的 View > Tool Windows > Database Inspector 開(kāi)始調(diào)試數(shù)據(jù)庫(kù)。請(qǐng)通過(guò)我們的文章《期待已久的動(dòng)態(tài)數(shù)據(jù)庫(kù)工具終于來(lái)了!》了解更多關(guān)于這個(gè)工具的內(nèi)容以及如何使用它。


          • Database Inspector

            https://developer.android.google.cn/studio/preview/features#database-inspector


          WindowManager — 更好地支持新的設(shè)備形態(tài)
          WindowManager 是一個(gè)新加入到 Android Jetpack 中的開(kāi)發(fā)庫(kù),其旨在幫助開(kāi)發(fā)者更好地支持新的屏幕類(lèi)型,比如折疊屏、多分屏等。該庫(kù)為新老版本不同的 WindowManager 功能提供了一個(gè)統(tǒng)一的 API 接口。


          初始的發(fā)布版本提供了對(duì)于市面上已有以及即將上市的不同可折疊設(shè)備的支持,開(kāi)發(fā)者可以利用其適配所有不同類(lèi)型的硬件配置。了解更多相關(guān)內(nèi)容,請(qǐng)查閱:


          • 博客文章
            https://medium.com/androiddevelopers/support-new-form-factors-with-the-new-jetpack-windowmanager-library-4be98f5450da
          • 示例工程
            https://github.com/android/user-interface-samples/tree/master/WindowManager
          • WindowManager

            https://developer.android.google.cn/jetpack/androidx/releases/window


          MotionLayout — 為 Android 創(chuàng)建流暢的可交互動(dòng)畫(huà)
          MotionLayout API 在 ConstraintLayout 豐富功能的基礎(chǔ)上,可以幫助 Android 開(kāi)發(fā)者開(kāi)發(fā)復(fù)雜的動(dòng)畫(huà)效果。使用 MotionLayout,開(kāi)發(fā)者既可以輕松地在 ConstraintSets 之間設(shè)置過(guò)渡動(dòng)畫(huà),也可以方便地將動(dòng)畫(huà)集成到常用的視圖組件中,比如 RecyclerView、ViewPager 等。Android Studio 4.0 還包含了一個(gè)可視化的動(dòng)效編輯器,它可以用來(lái)創(chuàng)建和預(yù)覽基于 MotionLayout 的動(dòng)畫(huà)。


          • MotionLayout API

            https://developer.android.google.cn/training/constraint-layout/motionlayout

          △ 在動(dòng)效編輯器中創(chuàng)建、編輯和預(yù)覽 MotionLayout 動(dòng)畫(huà)


          對(duì)于已有開(kāi)發(fā)庫(kù)的更新


          Navigation 庫(kù)

          Navigation 2.3 新增了對(duì)于?Dynamic Delivery 功能模塊的支持,該功能可以讓用戶只下載需要的部分,從而大大降低應(yīng)用的初始下載體積。另外,您可以像導(dǎo)航到基礎(chǔ)模塊一樣導(dǎo)航到動(dòng)態(tài)功能模塊。除此之外,深層鏈接現(xiàn)在既支持檢索參數(shù),也支持自定義的 action 和 mime 類(lèi)型。

          • Navigation 2.3?
            https://developer.android.google.cn/jetpack/androidx/releases/navigation
          • Dynamic Delivery 功能模塊
            https://developer.android.google.cn/guide/app-bundle/dynamic-delivery


          同時(shí)新增了一個(gè)可以返回結(jié)果的 API,通過(guò)它可以在 SavedStateHandle?中查詢和設(shè)置所有回退棧的入口。新增的 TestNavHostController 可以讓您訪問(wèn) Navigation 回退棧,并且在測(cè)試中設(shè)置當(dāng)前的目的地。

          • 返回結(jié)果
            https://developer.android.google.cn/guide/navigation/navigation-programmatic#returning_a_result
          • SavedStateHandle
            https://developer.android.google.cn/reference/androidx/lifecycle/SavedStateHandle
          • TestNavHostController
            https://developer.android.google.cn/reference/kotlin/androidx/navigation/testing/TestNavHostController

          WorkManager 庫(kù)

          最新發(fā)布的 WorkManager 支持了那些需要長(zhǎng)時(shí)間運(yùn)行的 Worker 或者應(yīng)被操作系統(tǒng)保持運(yùn)行在前臺(tái)的服務(wù)。

          • 最新發(fā)布的 WorkManager
            https://developer.android.google.cn/jetpack/androidx/releases/work

          為了讓 WorkManager 任務(wù)調(diào)試更簡(jiǎn)單,我們新增了一個(gè)診斷 API。這個(gè) API 可以讓開(kāi)發(fā)者監(jiān)控WorkManager 的內(nèi)部狀態(tài),并且在 logcat 中打印出該狀態(tài)的具體信息:
          Recently completed work:Id Class Name Job Id State Unique Name Tags88e31476–50d5–4a3a-855a-7c158d61543e com.example.DiagnosticsWorker null SUCCEEDED com.example.DiagnosticsWorker939d3d81–4a24–4920-ab6a-2a5b850f377b com.example.ToastWorker null SUCCEEDED com.example.ToastWorker59ab8eb1–2645–446d-8811–1e7b887ab5bc com.example.ForegroundWorker null CANCELLED com.example.ForegroundWorker7a6c23d2-a1f9–4477-af77–1f16b45cd765 com.example.ForegroundWorker 0 SUCCEEDED com.example.ForegroundWorker
          Running work:Id Class Name Job Id State Unique Name Tags7c8bc01f-a60c-4b63-a6aa-2055d4d9d88e?com.example.DiagnosticsWorker?4?RUNNING?com.example.DiagnosticsWorker
          △ WorkManager 診斷結(jié)果示例
          為了幫助您避免在使用 WorkManager 時(shí)遇到一些常見(jiàn)錯(cuò)誤,我們同時(shí)還新增了 Lint 規(guī)則來(lái)標(biāo)識(shí)它們。另外還有一些 API 的更新,包括支持設(shè)置和觀察?Worker 的中間進(jìn)度、一些對(duì)于當(dāng)前 Worker 查詢 API 的優(yōu)化、一些對(duì)于進(jìn)行中的工作器的調(diào)度優(yōu)化。

          • Worker 的中間進(jìn)度
            https://developer.android.google.cn/topic/libraries/architecture/workmanager/how-to/intermediate-progress?hl=en

          Benchmark 庫(kù)

          △?在 Android Studio 中查看抽樣的堆棧信息

          Benchmark 庫(kù)發(fā)布了一個(gè)新的 alpha release: 1.1.0-alpha01,其中集成了 CPU 性能剖析工具,該工具可以幫助開(kāi)發(fā)者分析應(yīng)用性能基準(zhǔn)測(cè)試結(jié)果,并且可以在 Android Studio 中直接查看相關(guān)方法和抽樣的堆棧信息。我們同時(shí)還添加了對(duì)于內(nèi)存分配的追蹤,以便于開(kāi)發(fā)者可以優(yōu)化內(nèi)存分配和垃圾回收所消耗的時(shí)間。

          • Benchmark 庫(kù)發(fā)布了一個(gè)新的 alpha release: 1.1.0-alpha01
            https://developer.android.google.cn/jetpack/androidx/releases/benchmark
          • CPU 性能剖析工具
            https://developer.android.google.cn/benchmark#profiling

          權(quán)限庫(kù) (Permissions)

          為了更方便地管理權(quán)限,我們引入了一系列新的 ActivityResult API。這些 API 可以用 RequestPermission contract 來(lái)替換 requestPermissions,以簡(jiǎn)化權(quán)限請(qǐng)求的開(kāi)發(fā)。除此之外,這些 API 還為一些常見(jiàn)的 intent 提供了類(lèi)型安全的 contract,比如選取圖片和提示用戶打開(kāi)一個(gè)文件。

          • ActivityResult
            https://developer.android.google.cn/training/basics/intents/result
          • RequestPermission
            https://developer.android.google.cn/reference/androidx/activity/result/contract/ActivityResultContracts.RequestPermission
          • requestPermissions
            https://developer.android.google.cn/reference/android/app/Activity#requestPermissions(java.lang.String%5B%5D,%20int)
          • 選取圖片
            https://developer.android.google.cn/reference/androidx/activity/result/contract/ActivityResultContracts.TakePicture?hl=en
          • 打開(kāi)一個(gè)文件
            https://developer.android.google.cn/reference/androidx/activity/result/contract/ActivityResultContracts.OpenDocument?hl=en

          游戲 SDK

          今年初剛發(fā)布的 Android 游戲 SDK 如今也作為 Jetpack 的一部分在 Google Maven 倉(cāng)庫(kù)上線。該 SDK 提供一個(gè)幀同步 API 和 Android 性能調(diào)優(yōu)器。請(qǐng)通過(guò)官方文檔獲取更多有關(guān)游戲 SDK 的內(nèi)容。
          ?
          • 幀同步 API
            https://developer.android.google.cn/games/sdk/frame-pacing
          • 官方文檔
            https://developer.android.google.cn/games/sdk

          CameraX 庫(kù)

          由于 Android 設(shè)備的多樣性,市面上有太多的不同種類(lèi)的相機(jī)硬件,而 CameraX 可以兼容市面上 90% 的設(shè)備。從二月份 CameraX 發(fā)布 Beta 版本至今,我們一直致力于提升可靠性,以確保 API 在各種設(shè)備上都擁有更好的行為。我們的 CameraX 測(cè)試實(shí)驗(yàn)室也在不斷地針對(duì)不同機(jī)型進(jìn)行自動(dòng)化測(cè)試,以最大程度地兼容市面上超過(guò) 4 億臺(tái)的設(shè)備。

          最近的版本中,CameraX 引入了對(duì)于 PreviewView 組件的優(yōu)化。該組件如今可以更好地處理應(yīng)用生命周期和 ViewPager。該組件底層會(huì)在支持的設(shè)備上自動(dòng)使用 SurfaceView 以最大程度地獲取性能上的優(yōu)化,這也幫助其使用更少的緩存以及更低電量的消耗。

          • 最近的版本
            https://developer.android.google.cn/jetpack/androidx/releases/camera
          • PreviewView
            https://developer.android.google.cn/reference/androidx/camera/view/PreviewView?hl=en
          • SurfaceView
            https://developer.android.google.cn/reference/android/view/SurfaceView


          要了解更多關(guān)于 CameraX 的內(nèi)容,請(qǐng)參閱我們?cè)敱M的 CameraX 文檔示例工程,以及我們過(guò)去推送的文章《使用 PreviewView 來(lái)展示相機(jī)預(yù)覽》。


          • CameraX 文檔

            https://developer.android.google.cn/training/camerax

          • 示例工程

            https://github.com/android/camera-samples


          Security 庫(kù)
          Jetpack 的 Security 庫(kù)為基于文件加密抽象層的使用提供了安全簡(jiǎn)便的方法,比如 EncryptedFileEncryptedSharedPreferences。Jetpack 的 Security 開(kāi)發(fā)庫(kù)利用 Android 的 Keystore,以提供基于硬件存儲(chǔ)空間和相關(guān)操作的安全。Jetpack 的 Security 開(kāi)發(fā)庫(kù)如今為 Android 6.0 以后的系統(tǒng)發(fā)布了 RC2 版本,并且為 Android 5.0 以后的系統(tǒng)提供了 1.1.0 alpha 版本。

          • Security 庫(kù)
            https://developer.android.google.cn/topic/security/data
          • EncryptedFile
            https://developer.android.google.cn/reference/androidx/security/crypto/EncryptedFile
          • EncryptedSharedPreferences
            https://developer.android.google.cn/reference/androidx/security/crypto/EncryptedSharedPreferences
          • Keystore
            https://developer.android.google.cn/training/articles/keystore
          • Jetpack 的 Security 開(kāi)發(fā)庫(kù)
            https://developer.android.google.cn/jetpack/androidx/releases/security
          ?
          AppCompat 庫(kù)
          AppCompat 庫(kù)提供了大量向前兼容的 UI 組件和系統(tǒng)功能,從 Material 主題到 Toolbar 等組件,再到深色主題。在最新的發(fā)布中,我們新增了 Lint 規(guī)則,這有利于開(kāi)發(fā)者辨別哪些屬性來(lái)自于 AppCompat 以及哪些來(lái)自于系統(tǒng)框架,并保證您使用了正確的屬性。此外,我們還針對(duì) AppCompat 中深色主題實(shí)現(xiàn)的穩(wěn)定性進(jìn)行了大量?jī)?yōu)化。


          • AppCompat
            https://developer.android.google.cn/topic/libraries/support-library/packages#v7-appcompat
          • Toolbar
            https://developer.android.google.cn/reference/androidx/appcompat/widget/Toolbar
          • 最新的發(fā)布
            https://developer.android.google.cn/jetpack/androidx/releases/appcompat

          Webkit 庫(kù)

          Jetpack 的 Webkit 開(kāi)發(fā)庫(kù)在 1.2.0 版本中新增了一個(gè)強(qiáng)制使用深色主題顯示內(nèi)容的 API。使用這個(gè) API 的時(shí)候,如果網(wǎng)站支持深色主題,WebView 會(huì)自動(dòng)地使用深色主題渲染該站點(diǎn)。如果網(wǎng)站不支持深色主題,這個(gè) API 會(huì)強(qiáng)制轉(zhuǎn)換其中的一些顏色。

          • Webkit
            https://developer.android.google.cn/guide/webapps/webview
          • 1.2.0?版本
            https://developer.android.google.cn/jetpack/androidx/releases/webkit
          • WebView
            https://developer.android.google.cn/reference/android/webkit/WebView


          Jetpack Compose — 全新的 Android UI 開(kāi)發(fā)框架


          Jetpack Compose 是全新的現(xiàn)代 Android UI 開(kāi)發(fā)框架,目前發(fā)布了開(kāi)發(fā)者預(yù)覽第二版。新版本添加了許多新功能,包括視圖組件的互通性、更多的 Material UI 組件、支持深色主題、新的 UI 測(cè)試和動(dòng)畫(huà) API、對(duì)于 ConstraintLayout 的支持、優(yōu)化狀態(tài)管理、集成可觀察的數(shù)據(jù)流和 RTL 支持。Android Studio 預(yù)覽現(xiàn)在是可交互的,并且還有很多編譯器方面的優(yōu)化。


          • Jetpack Compose?
            https://developer.android.google.cn/jetpack/compose


          更多關(guān)于所有更新內(nèi)容,請(qǐng)觀看下方視頻 What’s new in Compose,歡迎大家嘗鮮這些新的更新并積極向我們反饋。

          • 騰訊視頻鏈接

            https://v.qq.com/x/page/t31164jn0g7.html

          • Bilibili 視頻鏈接

            https://www.bilibili.com/video/BV1Vv411q7Hn/

          • 向我們反饋
            https://issuetracker.google.com/issues/new?component=612128

          本文概括了 Jetpack 過(guò)去幾個(gè)月的更新。由于其包括了超過(guò) 90 個(gè)開(kāi)發(fā)庫(kù),我們知道想找到您所關(guān)心的內(nèi)容并非易事。為了幫助開(kāi)發(fā)者,我們重新設(shè)計(jì)了 Jetpack 網(wǎng)站,并且在大量更新之余新增了一個(gè)便捷的 API 選取器,可以幫助開(kāi)發(fā)者更快捷的找到 Jetpack 中合適的開(kāi)發(fā)庫(kù)來(lái)解決問(wèn)題。

          • 重新設(shè)計(jì)了 Jetpack 網(wǎng)站
            https://developer.android.google.cn/jetpack?hl=en


          請(qǐng)關(guān)注 Android 11 專(zhuān)輯獲取相關(guān)內(nèi)容,或者關(guān)注我們?cè)谖⑿殴娞?hào)發(fā)布的聚焦 Android 11 系列文章



          推薦閱讀






          ?點(diǎn)擊屏末?|??|?即刻前往 Android Jetpack 官方網(wǎng)站



          瀏覽 84
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  91青青草在线观看 | 国产福利AV在线播放 | 丰满少妇X一88AV | 国产美国黄色毛片 | 欧美第一页草草影院 |