alpha Lounge

20%の技術記事とオタクネタ

Google I/O 2021 Android周りのメモ

Google I/O 2021を見て、いくつかAndroidの技術的に気になったことをメモしていたものをブログ内に置いておきます。
今回は自然な会話Bot「LaMDA」のデモだったり、Android12におけるMaterial Youだったり、大きな驚きもかなりありましたが、Android技術としても色々とアップデートがありました。

Jetpack Compose の最新情報

今回はGoogle I/OはなんといってもJetpack Composeですね。
これを描いている時点でもベータ版なのにめちゃくちゃ推しています。今後のUI層のスタンダードにする予定っぽいです。

Compose自体は宣言的UIのAndroid版ということで、FlutterやReactを触ったことがあればそんなに真新しい部分はないと思います。
ViewModelとの連携方法がデフォルトでしっかり用意されているのでFlutterよりもやりやすいかもしれないですね。

下記リポジトリにサンプルが既にたくさんあるので、自分も少しずつ勉強していきたいです。

github.com

Jetpack Compose で洗練されたマテリアル デザイン アプリを構築する

こちらはデザイン周りです。
Composeを本格的に導入する前に一読しておきたいですね。

Android での Kotlin の状況

ここで気になったのは

  • 最新のAndroid Studioで、StateFlowが直接DataBindingで利用(監視)できるようになる
  • 将来的にCoroutines DebuggerをAndroid Studioに導入予定

といった点ですね。
だいぶCoroutinesが使いやすくなってきたなーという感じです😊

Android 12 に対応するための 12 個のヒント

Material You関連以外にもいくつか変更があります。

  • ForegroundServiceをバックグラウンドから起動できないようになった
  • マイクやカメラのアクセスを無効にできるようになった
  • 数ヶ月使用していないアプリの権限やストレージが解放されるようになった
  • Bluetoothの権限追加
  • MACアドレス取得制限
  • カスタム通知がdeprecatedになった
  • App linkの検証ツール強化
  • WebViewのSameSiteが変更された。ログイン処理などが影響を受けるかも

他にもあるみたいですが、ForegroundServiceやカスタム通知は使ってるところも多そうなので、動作確認必須ですね。

Jetpack の最新情報

CameraXやWorkManagerなども色々変更あったみたいですが、多方面に影響ありそうなのはDataStoreという、SharedPreferenceに代わるAPIです。
現状beta版まで来てるのでそろそろ使えるものになりそうですね。Securityライブラリと一緒に使いたいところです。

そんなことより早くRoomのAutoMigrationの実装を急いでクレメンス..

Android テストツールの最新情報

Unified Test Platformという概念が出てきました。
今回説明があったのは、テスト用の仮想デバイス管理の話でした。
具体的にはTestOptionsのdevicesという項目らしいですが、まだexperimentalのようです。


上記は気になる初歩的な部分をさらっと抜粋しましたが、他にも役立つ情報がたくさんあるので、セッション見て勉強していましょう。

events.google.com