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

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
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 constructor(private val repository: SearchRepository): ViewModel() { … }class SearchFragment : Fragment() {val viewModel: SearchViewModel by viewModels()}
發(fā)布的博客文章 https://medium.com/androiddevelopers/dependency-injection-on-android-with-hilt-67b6031e62d
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í)初始化組件
// 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()}}
官方文檔 https://developer.android.google.cn/topic/libraries/app-startup
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à)
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
Animator https://developer.android.google.cn/reference/android/animation/Animator
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ù)檢查器
有了 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
初始的發(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 API
https://developer.android.google.cn/training/constraint-layout/motionlayout

對(duì)于已有開(kāi)發(fā)庫(kù)的更新
Navigation 庫(kù)
Navigation 2.3? https://developer.android.google.cn/jetpack/androidx/releases/navigation Dynamic Delivery 功能模塊 https://developer.android.google.cn/guide/app-bundle/dynamic-delivery
返回結(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 https://developer.android.google.cn/jetpack/androidx/releases/work
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.ForegroundWorkerRunning work:Id Class Name Job Id State Unique Name Tags7c8bc01f-a60c-4b63-a6aa-2055d4d9d88e?com.example.DiagnosticsWorker?4?RUNNING?com.example.DiagnosticsWorker
Worker 的中間進(jìn)度 https://developer.android.google.cn/topic/libraries/architecture/workmanager/how-to/intermediate-progress?hl=en

△?在 Android Studio 中查看抽樣的堆棧信息
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)
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
幀同步 API
https://developer.android.google.cn/games/sdk/frame-pacing官方文檔 https://developer.android.google.cn/games/sdk
CameraX 庫(kù)
最近的版本 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
CameraX 文檔
https://developer.android.google.cn/training/camerax
示例工程
https://github.com/android/camera-samples
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 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ù)
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
騰訊視頻鏈接
https://v.qq.com/x/page/t31164jn0g7.html
Bilibili 視頻鏈接
https://www.bilibili.com/video/BV1Vv411q7Hn/
向我們反饋 https://issuetracker.google.com/issues/new?component=612128
重新設(shè)計(jì)了 Jetpack 網(wǎng)站 https://developer.android.google.cn/jetpack?hl=en

推薦閱讀



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


