LeoAndo / development-conference-memo

0 stars 0 forks source link

Google I/O 21 Android 12メモ #46

Open LeoAndo opened 3 years ago

LeoAndo commented 3 years ago

非推奨アノテーションが非推奨になった

code

https://cs.android.com/android/platform/superproject/+/master:prebuilts/module_sdk/art/current/sdk/sdk_library/public/art.module.public.api_stub_sources/java/lang/Deprecated.java;l=85?q=public%20@interface%20Deprecated&ss=android%2Fplatform%2Fsuperproject

public @interface Deprecated

youtube

https://youtu.be/D2cU_itNDAI?t=86

LeoAndo commented 3 years ago

アプリにアニメーション付きのスプラッシュスクリーンが追加される (targetSDKVersionに関係なく)

youtube

https://youtu.be/D2cU_itNDAI?t=440

API

https://developer.android.com/reference/android/app/Activity#getSplashScreen() https://developer.android.com/reference/android/window/SplashScreen

スニペットコード

https://developer.android.com/about/versions/12/features/splash-screen#customize-animation

LeoAndo commented 3 years ago

AVIFと呼ばれる新しい画像形式のサポートが行われた

LeoAndo commented 3 years ago

動画に関して

LeoAndo commented 3 years ago

課金ライブラリはVer 4.0を使う

2019年から課金ライブラリのメジャーバージョンのサポート期間が2年間となった https://youtu.be/tc57iyl06ww?t=609 https://youtu.be/iBxYrEkpCac?t=499

LeoAndo commented 3 years ago

JetPackCompose

LeoAndo commented 3 years ago

Privacy dashboard

マイク、カメラ、ロケーションへアクセスした直近24時間のアプリの一覧が確認できるようになった。

https://youtu.be/gTUt9mwfPS8?t=155

LeoAndo commented 3 years ago

Android 11からデータアクセス監査APIが追加された

https://youtu.be/gTUt9mwfPS8?t=191

LeoAndo commented 3 years ago

Android 12からアプリがクリップボードから読み取る場合にToast表示されるようになった

クリップボードのデータがどのアプリのものかは判断できない.

https://youtu.be/gTUt9mwfPS8?t=252

API https://developer.android.com/reference/android/content/ClipboardManager#getPrimaryClip() https://developer.android.com/reference/android/content/ClipboardManager#getPrimaryClipDescription()

LeoAndo commented 3 years ago

Approximate locationについて

アプリが正確なユーザの位置情報を取得しない場合は、ACCESS_CORSE_LOCATION のみリクエストする.(Approximate) https://youtu.be/gTUt9mwfPS8?t=333 https://youtu.be/gTUt9mwfPS8?t=346

正確な位置ロケーション必要としない場合のPermissionリクエスト https://youtu.be/gTUt9mwfPS8?t=382

正確な位置ロケーションをリクエストする場合 https://youtu.be/gTUt9mwfPS8?t=398

LeoAndo commented 3 years ago

BLUE TOOTH機能使うときのリクエストするパーミッションが変わった (Android 12から)

https://youtu.be/gTUt9mwfPS8?t=550

API https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_SCAN https://developer.android.com/reference/android/Manifest.permission#BLUETOOTH_CONNECT

LeoAndo commented 3 years ago

アプリが長期間使われない場合、権限リセットが自動的に行われる

https://youtu.be/gTUt9mwfPS8?t=561

LeoAndo commented 3 years ago

効果的なAndroid background taskの実装方法について

Foreground Service

https://youtu.be/IqnCqHyu1E4?t=54

WorkManager

その他

LeoAndo commented 3 years ago

JetPackComposeについて

https://youtu.be/7Mf2175h3RQ?t=112

LeoAndo commented 3 years ago

foldablesデバイス向けのAPI

LeoAndo commented 3 years ago

セキュリティ

LeoAndo commented 3 years ago

LiveDataは引き続き使って構わない

StateFlow, SharedFlowが出てるが、 LiveDataは引き続き、Android Java開発者のために使われ続ける. (LiveDataの内部はJavaで実装されている) https://youtu.be/etLUpHvhNZw?t=449

LeoAndo commented 3 years ago

LifecycleScope.launchWhenStarted にかわる APIが近々リリースされる

https://youtu.be/etLUpHvhNZw?t=503

LeoAndo commented 3 years ago

Android development tools(Android Studio Arctic Fox)

LeoAndo commented 3 years ago

機械学習

LeoAndo commented 3 years ago

ConstraintLayout 2.0からMotionLayoutが導入された

ConstraintLayout 2.1

https://youtu.be/B1u7JZ1rLyE?t=208 新しいヘルパーオブジェクトが追加された。

その他

https://github.com/android/views-widgets-samples/tree/master/ConstraintLayoutExamples

LeoAndo commented 3 years ago

Camera X

androidx.camera:camera: stable https://youtu.be/xeQ9faYJktM?t=164

LeoAndo commented 3 years ago

SharedPref vs Datastore

https://youtu.be/xeQ9faYJktM?t=304

LeoAndo commented 3 years ago

Security Cryptoライブラリ (stable)

ファイルと設定の暗号化を簡単に行えるライブラリ. 例えば、SharedPrefの設定値を暗号化する方法も簡単に行える。 https://youtu.be/xeQ9faYJktM?t=338

LeoAndo commented 3 years ago

EmojiCompat

新しくUnicodeに追加された絵文字に対応するライブラリ androidx.emoji2.widget.EmojiTextViewを使う必要あり

https://youtu.be/xeQ9faYJktM?t=699

https://developer.android.com/jetpack/androidx/releases/emoji2#declaring_dependencies

LeoAndo commented 3 years ago

Android 12でアプリによるトラッキングを拒否可能に

https://support.google.com/googleplay/android-developer/answer/6048248?hl=ja

2021 年後半以降、ユーザーが興味に基づく広告または広告のパーソナライズをオプトアウトすると、広告ID(広告用に使う端末毎に異なる広告用の一意の識別子)は使用できなくなります。識別子の代わりにゼロの文字列を受け取ります。

広告IDは何に使われている?

ユーザが、インストールしているさまざまなアプリで開いた広告をトラッキングし、 ユーザーに関連性の高い広告を出すために使われている。

Android 11までの仕様

現状、Android 11 まではデフォルトで広告のトラッキングがONになっていて、 設定アプリから手動で広告IDをリセットしたりすることが可能。

広告IDの設定

設定アプリ>プライバシー>広告 ここで、オプトアウトしたりリセットすることが可能、