Android Weekly Notes #504 Android Weekly #504

Android Weekly #504

https://androidweekly.net/issues/issue-504

All about Proto DataStore

DataStore proto類型的一篇介紹.

High performance with idiomatic Kotlin

一些提示性能的kotlin寫法的介紹.

Unpacking Android Security: Part 1 — Improper Platform Usage

Android安全系列文章, 這篇主要是關於exported屬性.

逆向工具:

Oh Snap! Snapshot Testing with Jetpack Compose

Compose的snapshot測試.

iOS用的是這個: https://github.com/pointfreeco/swift-snapshot-testing

Android用的是這個: https://github.com/pedrovgs/Shot

文章裏講了CI配置的部分, 是Bitrise, 還有截圖.

對於不同emulator的差異性, 設置了容忍度.

爲了更高效, 還在IDE裏設置了live template.

Accessing App Usage History In Android

關於獲取用戶設備上其他應用的使用情況, 有些api已經deprecated了.

比較官方的方法是使用: UsageStatsManager

需要向用戶申請權限.

Combining flows: merge, zip, and combine

flow組合的各種操作符:

  • merge: 兩個flow合成一個flow. flow之間的元素沒有等待關係; 最終flow的個數爲兩個flow個數的總和.
  • zip: 從兩個flow中各取一個元素組成pair, 構成新flow的元素, 所以元素之間有等待關係. 當源頭flow中有一個結束時, 結果flow結束, 不成對的元素會被丟棄. (類比: 雙人舞的pair).
  • combine: 和zip一樣, 也是利用元素組成pair, 所以也會等待. 但是與zip的一對一不同的是, 每個flow最新的元素都會被作爲下一個候選人, 也就是說如果新的元素沒有出現, 那麼老的元素會被用於和另一個flow的新元素配對. 所以combine會等到所有flow都沒有元素時結束.

How to generate Kotlin DSL Client from GraphQL schema

一個插件: https://github.com/ermadmi78/kobby

Using Google Maps in a Jetpack Compose app

Google maps:

https://github.com/googlemaps/android-maps-compose

Compiler Warnings Are Good, Actually

應該關注一下編譯錯誤和警告.

Code

Video

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章