#80 2019-08-11
Android Q最終ベータ, Android Studio 3.5 RC3, HuaweiのHarmony OS, Gesture Navigationの手引き, 8/7のAndroidXリリース, など
Structured Concurrencyについてのセッション動画
GitHubで見るhttps://www.youtube.com/watch?v=Mj5P47F6nJg
Roman ElizarovによるKotlin CoroutinesのStructured Concurrencyについてのセッション、おそらく最新版です(2019/07/12公開)
Harmony and Compatibility
GitHubで見るhttps://commonsware.com/blog/2019/08/10/harmony-compatibility.html
Huaweiが発表したHarmony OSについて、CommonsWareによる解説です。
Androidアプリとの互換性はないようですが、「少しの変更」で対応できるようです。AdMobの利用にapp-ads.txtの設定が必要になる
GitHubで見るhttps://support.google.com/admob/answer/9363762?hl=ja
https://www.reddit.com/r/androiddev/comments/cnikwo/appadstxt_mail_from_admob/app-ads.txtはアプリ広告の不正利用を防止するための仕組みです。AdSenseでも同様の仕組み(
ads.txt
)はありましたが、今回AdMobでも必要になったようです。ジェスチャーナビゲーションにいたった背景
https://android-developers.googleblog.com/2019/08/gesture-navigation-backstory.html
Androidチームがなぜ、Qのスワイプによるナビゲーションをオプションとして加えたのか、について語られています。
GitHubで見る-
手持ちのPixel 3をQ Betaにしてからジェスチャーナビゲーションを使っていますが、たしかにたまに誤動作はあるものの、たいへん快適です。
-
8/7のAndroidXリリース
GitHubで見る-
いろいろありますが、この辺が気になりました。
- RoomがFlowに対応
- Lifecycleの
ViewModelProviders.of()
が非推奨にViewModelProvider(ViewModelStoreOwner)
コンストラクタが代替- Kotlinならby viewModels()`も使える
SavedStateViewModelFactory
がActivity/Fragment/Navigationのデフォルトに- Fragmentが、動的にFragmentを切り替える際のコンテナViewとして
FragmentContainerView
を追加- FrameLayoutからの移行が強く推奨されています
- RecyclerViewのデフォルトのスタイル設定用アトリビュート、
recyclerViewStyle
が追加
-
Gesture Navigationサポートの手引き Part 2:Window Insets
GitHubで見るhttps://medium.com/androiddevelopers/gesture-navigation-handling-visual-overlaps-4aed565c134c
前回システムUIの背後までアプリを描画したのを受けて、今回はアプリの画面がシステムUIと被らないようにWindow Insetsを使う話です。6種類のWindow Insetsが説明されています。
Android Q最終ベータがリリース
GitHubで見るhttps://android-developers.googleblog.com/2019/08/final-beta-update-official-android-q.html
数週間後に正式版がリリース予定だそうです。
SMS User Consent APIをつかった自動SMS認証の実装
GitHubで見るhttps://medium.com/androiddevelopers/automatic-sms-verification-with-sms-user-consent-da8c16135e25
SMSで番号が送られてきたときに自動で認証する仕組みをどう実装するか解説しています。
Okioが2.3.0でKotlin Multiplatformに対応
https://github.com/square/okio/blob/master/CHANGELOG.md#version-230
Okio 2のリリース時から将来的な対応が予告されていましたが、2019/07/29リリースのv2.3.0でKotlin Multiplatform Projectに移行したようです。
現状JVM, JavaScript, Nativeがサポートされていますが、JavaScriptとNativeはプレビュー版というステータスです。GitHubで見る-
実際のコードを見てみるとまだこんな状態だったりします。
新しいプラットフォームのサポートは結構考えることも多いので、とりあえずインターフェースだけ先に用意しておく、という方針なのかもしれません。
-
記事内でも指摘されていますが、実際に開発者に負担をかけないで変換する仕組みを提供するのはかなり難しそうですね。自分も筆者が言うように「まずは中国国内のアプリ開発者に向けてHarnomy OSでアプリを出すように説得する」というのがもっともありそうなシナリオに思いました。