Now in Android:02 - 歡迎使用 Android Studio 4.0 !

wanbo發表於2020-03-12

Hello 各位同學好呀,我是 wanbo,今天我們繼續更新 Now in Android 的第二期。

Now in Android 是由 Chet Haase 在 Medium 上釋出的一系列關於 Android 相關技術的文章,創辦這個系列的目的是為了,幫助廣大開發者可以更好的掌握 Android 的最新技術動態,最近 Android Team 重新設計了新系列的 **Now in Android 。**全新的 Now in Android 目前將會整合所有 Android 開發者需要掌握和學習的最新內容,以視訊和文章的形式為大家統一介紹,並在文章中會附上相應技術的官方連結地址,幫助大家瞭解詳細內容。

我也會結合自己的理解,在本公眾號【Android|Kotlin】中為大家同步更新 Now in Android 的最新內容,感興趣的同學記得關注訂閱呀。

AndroidX 更新

AndroidX 的推出是為了解決 support 帶來的 API 碎片問題,同時 AndroidX 也避免了之前很多 API 的釋出更新需要隨著 Android 的大版本更新而更新的問題,如果你還在使用 support 包那需要趕快切換到對應的 AndroidX 包中,因為 support 包現在已經停止更新了,新的功能目前只會在 AndroidX 中更新。

在這裡插入圖片描述
上圖截自於 AndroidX 的官方文件,上面列舉了目前存在的 AndroidX 庫以及該庫目前的各個存在版本,點選詳情還可以檢視各個版本的更新日誌,在升級版本之前,可以先在官網上 Check 一下更新日誌,確保不會出現嚴重的相容性問題。文件地址如下:

developer.android.com/jetpack/and…

在這裡插入圖片描述
同時文件中,還羅列了 support 與 AndroidX 各個包的對應關係,建議在充分了解後再做 support 與 AndroidX 的遷移。文件地址如下:

developer.android.com/jetpack/and…

下面是截止 1 月 22 日,Android X 的更新記錄:

  1. Fragment 1.2.0 版本更新

    1.2.0 中推薦使用 FragmentContainerView 替代原有的 和 標籤,來作為 Fragment 的容器。同時 Fragment 支援 Lifecycle ViewModel SavedState,並更改了 onDestroyView() 的呼叫時機,確保 Fragment 會在退出動畫執行完畢之後再執行 onDestroyView(),更新日誌地址如下:

    developer.android.com/jetpack/and…

    同時歡迎檢視之前更新的文章 ,該文章中介紹了目前 Android 團隊對 Fragment 之後的發展方向和規劃。

  2. Lifecycle 2.2.0 版本更新

    新的 lifecycle-runtime-ktx 工件實現了 Lifecycle 協程與 Kotlin 協程之間的整合。此外,我們還擴充套件了 lifecycle-livedata-ktx 以便利用協程的優勢。更新日誌地址如下:

    developer.android.com/jetpack/and…

  3. Lifecycle-Viewmodel-Savedstate 1.0.0 首個正式版釋出

    ViewModels 現在可以通過 SavedStateHandle 在 onSaveInstanceState() 中儲存臨時資料,保證 Activity 或 Fragment 在銷燬重建時,可以自動恢復 ViewModels 中的資料。而且你不需要手動編寫額外儲存資料的邏輯,這一切都是自動實現的,關於更多的使用方式可以參考一下地址內容:

    developer.android.com/topic/libra…

  4. Navigation 2.2.0 版本更新

    您現在可以呼叫 NavController.getBackStackEntry() 獲取新的 NavBackStackEntry,可以從新返回的 NavBackStackEntry 中獲取到 Lifecycle 以及 SavedState 的相關資訊。其餘更新還有 deep link 引數查詢支援和動畫方面的改進。更新日誌地址如下:

    developer.android.com/jetpack/and…

  5. WorkManager 2.3.0 版本更新

    提供了新的 API setProgress() 和 setForeground(),幫助你在 Worker 執行是獲取當前任務的執行進度,以及允許 Worker 在前臺服務中執行。更新日誌地址如下:

    developer.android.com/jetpack/and…

Android Studio 3.6 和 4.0

在這裡插入圖片描述
Android Studio 3.6 在去年 12 月釋出了首個 RC 版本。截止目前最新的正式版已更新到 3.6 RC3,新的 3.6 版本啟用了新的設計編輯器。新的設計編輯器(如 Layout Editor 和 Navigation Editor)現在提供了 Split 檢視,可讓您同時檢視介面的 Design 檢視和 Code 檢視。要啟用拆分檢視,請點選編輯器視窗右上角的 Split 圖示 拆分檢視圖示。

除此之外,還更新了 memory profiler 可以幫助開發者更方便的檢查記憶體洩漏的問題,以及支援開啟 View Binding 用於替代之前的 findViewById,更新日誌地址如下:

developer.android.com/studio/prev…

在這裡插入圖片描述
Android Studio 預覽版釋出了第 9 個預覽版本,4.0 更新了很多新的 feature,包括支援 Jetpack Compose,新的 MotionLayout 動畫編輯器,新的 3D Layout 檢視器等等,如果你對 4.0 的新特性不瞭解,歡迎檢視早期更新的文章:Android Studio 4.0 最新進展,這裡就不再贅述。

文章分享:Kotlin Vocabulary

在這裡插入圖片描述
Florina Muntenescu 開始了新的系列文章:Kotlin Vocabulary。每期一個 Kotlin 專屬詞彙,會為你介紹這個詞彙的作用,以及該如何使用。第一篇文章為大家介紹的是 typealias,typealias 的可以簡化型別名稱,同時賦予它更確切的場景意義。

這篇文章討論瞭如何引入 typealias 以及 typealias 的最佳實踐,原文地址如下:

medium.com/androiddeve…

Codelab: Building a Kotlin Extensions Library

Wojtek Kaliciński 釋出了新的 Codelab :Building a Kotlin extensions library,這個程式碼實驗室展示瞭如何建立屬於自己的 Kotlin 擴充套件庫,就像 Android KTX 一樣,為現有的功能做增強。Codelab 地址如下:

codelabs.developers.google.com/codelabs/bu…

ADB Podcast 更新

Android Developers Backstage 是由 Chet Haase 參與創辦的播客頻道,至今已經創辦了 5 年超過 130 期節目,每一期他們都會討論和分享關於 Android 的方方面面,從程式碼到設計、從軟體到硬體。

在這裡插入圖片描述
最新的 131 期,Chet Haase 邀請到了 Android UI Toolkit 團隊的 Tor,Romain 和 Chet 探討了新的 UI 構建工具 Jetpack Compose 以及宣告式 UI 的方方面面。

podcast 地址:

androidbackstage.blogspot.com/2020/01/epi…

在這裡插入圖片描述
這裡同樣推薦大家收聽來自 Donn Felker 和 Kaushik Gopal 創辦的 Podcast Fragmented。第 187 期他們和 Google 的兩位專家討論了有關於協程的相關內容。

podcast 地址:

fragmentedpodcast.com/2020/01/

聽力好的同學可以關注一下這兩個 podcast,有很多有趣的內容和乾貨在裡面。

最後

至此,就是全新的 Now in Android : 02 的內容,這一期為大家介紹了 AndroidX 最新發布的庫,Android Studio 3.6 和 4.0 的新特性,以及一篇有關 Kotlin typealias 的文章和一個教你如何編寫 Koltin 擴充套件庫的 Codelab,最後為大家推薦了兩個播客頻道:Android Developers Backstage 和 Fragmented。

本公眾號也會開啟 Now in Android 的新系列更新,關注公眾號【Android |Kotlin】,在首頁點選 新鮮事兒 → Now in Android ,就可以看到這一系列文章的全部內容。

感謝你的閱讀。

相關文章