$30 off During Our Annual Pro Sale. View Details »

Google I/O Extended Tokyo 2018

Google I/O Extended Tokyo 2018

Google I/O Extended Tokyo 2018
https://yj-meetup.connpass.com/event/82474/

magiepooh

May 09, 2018
Tweet

More Decks by magiepooh

Other Decks in Technology

Transcript

  1. Google I/O Extended Tokyo 2018

    View Slide

  2. 藤田 琢磨 @magie_pooh / FOLIO Co., Ltd.
    志甫 侑紀 @shihochandesu / AbemaTV, Inc.
    副島 茂大 @highballegg / DeNA Co., Ltd.
    About us

    View Slide

  3. ハッシュタグ
    #io18extendedJp

    View Slide

  4. What's New in Android
    Android P Preview

    View Slide

  5. View Slide

  6. P Preview
    ● Wi-Fi RTT による屋内位置測定
    ● ディスプレイの切り欠きのサポート
    ● 通知
    ● マルチカメラのサポートとカメラ機能のアップデート
    ● ビットマップとドローアブルに便利な ImageDecoder
    ● Neural Networks API 1.1
    ● Autofill API の改善
    ● and more…
    https://developer.android.com/preview/features

    View Slide

  7. Indoor Positioning

    View Slide

  8. 屋内位置測定のWi-Fi RTTとは
    Indoor Positioning with Wi-Fi RTT (Round-Trip-Time, IEEE 802.11mc Wi-Fi protocol)
    RTTをサポートしているアクセスポイント(AP)からの距離で屋内でも位置情報を利用
    可能にします。3つ以上のAPがある場合は三点測位で1~2mの精度で位置の特定
    が可能。
    端末のハードウェアサポートが必要で、アプリの実装には利用するAPIに合わせてロ
    ケーションやWi-Fi周りの許可が必要。

    View Slide

  9. 屋内位置測定のWi-Fi RTTとは

    View Slide

  10. Display Cutout

    View Slide

  11. ディスプレイの切り欠きのサポート (Display Cutout)

    View Slide

  12. ディスプレイの切り欠きのサポート (Display Cutout)

    View Slide

  13. Notifications

    View Slide

  14. 通知
    SMS仕様の改善
     Android N (7.0)で追加されたメッセージへの返信機能の強化
    チャネル設定、ブロードキャスト、マナーモード
     Android O(8.0)で追加された通知チャネルの強化

    View Slide

  15. Animation & ImageDecoder

    View Slide

  16. ImageDecoder
    これまでGlide等のサードパーティを利用していた GIFアニメーションをAndroidフレームワークだけで扱える
    ようになります。サポートライブラリには(まだ?)ないので P以降の端末が必要です。
    val uri = drawableToUri(R.drawable.animated_gif)
    val animatedGifSrc = ImageDecoder.createSource(contentResolver, uri)
    ImageDecoder.decodeDrawable(animatedGifSrc, listener)?.apply {
    imageView.setImageDrawable(this)
    if (this is Animatable2) {
    start()
    }
    }
    描画する画像は PostProcessor を実装して、角丸にしたりと加工も可能。
    ※DP1の時点でエミュレータでは表示できない(デコード情報は取得可)。
    ※listener = ImageDecoder.OnHeaderDecodedListener

    View Slide

  17. Autofill Framework improvements
    input sanitization

    View Slide

  18. input sanitization
    ● TextValueSanitizer
    ○ new TextValueSanitizer(Pattern.compile("^(\\d{4})\\s?(\\d{4})\\s?(\\d{4})\\s?(\\d{4})$",
    "$1$2$3$4")
    ● Credit Card
    ○ 1234 5678 9012 3456
    ○ Sanitize => 1234567890123456
    ○ 不要なスペースを取り去って保存可能

    View Slide

  19. Android P Behavior Changes

    View Slide

  20. その他の細かい変更点1(仮)
    ● FLAG_ACTIVITY_NEW_TASK 要件の適用
    ○ 非アクティビティ コンテキストからは明示的に FLAG_ACTIVITY_NEW_TASKを渡さないと、アク
    ティビティ開始不可
    ● 画面回転の変更
    ○ 名前の変更:ポートレート⇒回転ロック
    ○ 現在の画面の状態(縦・横)でロック可
    ● バックグラウンド アプリにおける入力およびデータ プライバシー
    ○ アプリはマイクやカメラにアクセス不可
    ○ 加速度計やジャイロスコープなど、継続的な報告モードを使用する Sensor はイベントを受信不

    ○ 変化時またはワンショットの報告モードを使用する Sensor はイベントを受信不可
    ● 暗号化の変更
    ○ 暗号化アルゴリズムの実装と操作方法が一部変更

    View Slide

  21. その他の細かい変更点2(仮)
    ● フォアグラウンド サービス
    ○ FOREGROUND_SERVICEのパーミッションが必要
    ● 端末のシリアル番号へのアクセスの制限
    ○ P では Build.SERIAL は常に "UNKNOWN" に設定
    ○ READ_PHONE_STATEのパーミッションを得れば取得可。
    ● View のフォーカス
    ○ 幅または高さが 0 の View はフォーカス不可
    ○ Activity はタッチモードで暗黙的に初期フォーカスを指定不可
    ● WebView周り
    ○ P から CSS 色にアルファの指定可。 P 以前はそのまま。
    ○ スクロール要素(document.body.scrollXXX)の挙動の変更

    View Slide

  22. その他の細かい変更点3(仮)
    ● SDK インターフェースと非 SDK インターフェースを区別する
    ○ ドキュメント化されていない APIへのアクセスの制限
    ○ Previewの間はログに警告が出るが、リリース版からは例外、値なし、 nullが返る
    ● android.app.Fragment deprecated
    ○ support libraryのFragmentに切り替え
    ○ DialogFragment, PreferenceFragmentも同様。
    ○ WebViewFragmentは代替がない+onResume(), onPause()が自動で呼ばれなくなるので実
    装の見直しが必要なケースも
    ● 統合された指紋認証ダイアログ
    ○ システムが指紋認証ダイアログを提供するので、アプリ独自の UIを消せる
    ○ android.hardware.fingerprint.FingerprintDialog

    View Slide

  23. Google I/O 2017 -> 2018

    View Slide

  24. セッション比較
    2017 2018
    Android 84 122(Android & Play)
    Machine Learning
    AI
    13 26
    Firebase 31 26
    Flutter 2 11
    IoT 14 13
    ※ 全体的にOfficeHourの時間が増えていそう

    View Slide

  25. I/O 2018 予想

    View Slide

  26. Material Design 2

    View Slide

  27. Material Design 2
    ● 新しい色、図形、タッチに焦点を当てて改良
    ● 2月初旬に Chromium Gerrit リポジトリで、 Chrome のタブストリップに Material Design 2 UI のタブ
    実装がコミットされる
    ○ タブ自体の高さの変更、コンテンツレイアウト、タッチ領域の変更など
    ○ 今はプライベートに変更
    ● 参照:”Google’s Material Design UI is Getting Revamped with New Colors, Iconography, and a
    Focus on Touch” https://www.xda-developers.com/chromium-gerrit-material-design-2-colors/

    View Slide

  28. Material Design 2

    View Slide

  29. Material Design 2 - Google I/O 2018

    View Slide

  30. Material Design 2 - Tasks

    View Slide