Upgrade to Pro — share decks privately, control downloads, hide ads and more …

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. 藤田 琢磨 @magie_pooh / FOLIO Co., Ltd. 志甫 侑紀 @shihochandesu

    / AbemaTV, Inc. 副島 茂大 @highballegg / DeNA Co., Ltd. About us
  2. P Preview • Wi-Fi RTT による屋内位置測定 • ディスプレイの切り欠きのサポート • 通知

    • マルチカメラのサポートとカメラ機能のアップデート • ビットマップとドローアブルに便利な ImageDecoder • Neural Networks API 1.1 • Autofill API の改善 • and more… https://developer.android.com/preview/features
  3. 屋内位置測定の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周りの許可が必要。
  4. 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
  5. 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 ◦ 不要なスペースを取り去って保存可能
  6. その他の細かい変更点1(仮) • FLAG_ACTIVITY_NEW_TASK 要件の適用 ◦ 非アクティビティ コンテキストからは明示的に FLAG_ACTIVITY_NEW_TASKを渡さないと、アク ティビティ開始不可 •

    画面回転の変更 ◦ 名前の変更:ポートレート⇒回転ロック ◦ 現在の画面の状態(縦・横)でロック可 • バックグラウンド アプリにおける入力およびデータ プライバシー ◦ アプリはマイクやカメラにアクセス不可 ◦ 加速度計やジャイロスコープなど、継続的な報告モードを使用する Sensor はイベントを受信不 可 ◦ 変化時またはワンショットの報告モードを使用する Sensor はイベントを受信不可 • 暗号化の変更 ◦ 暗号化アルゴリズムの実装と操作方法が一部変更
  7. その他の細かい変更点2(仮) • フォアグラウンド サービス ◦ FOREGROUND_SERVICEのパーミッションが必要 • 端末のシリアル番号へのアクセスの制限 ◦ P

    では Build.SERIAL は常に "UNKNOWN" に設定 ◦ READ_PHONE_STATEのパーミッションを得れば取得可。 • View のフォーカス ◦ 幅または高さが 0 の View はフォーカス不可 ◦ Activity はタッチモードで暗黙的に初期フォーカスを指定不可 • WebView周り ◦ P から CSS 色にアルファの指定可。 P 以前はそのまま。 ◦ スクロール要素(document.body.scrollXXX)の挙動の変更
  8. その他の細かい変更点3(仮) • SDK インターフェースと非 SDK インターフェースを区別する ◦ ドキュメント化されていない APIへのアクセスの制限 ◦

    Previewの間はログに警告が出るが、リリース版からは例外、値なし、 nullが返る • android.app.Fragment deprecated ◦ support libraryのFragmentに切り替え ◦ DialogFragment, PreferenceFragmentも同様。 ◦ WebViewFragmentは代替がない+onResume(), onPause()が自動で呼ばれなくなるので実 装の見直しが必要なケースも • 統合された指紋認証ダイアログ ◦ システムが指紋認証ダイアログを提供するので、アプリ独自の UIを消せる ◦ android.hardware.fingerprint.FingerprintDialog
  9. セッション比較 2017 2018 Android 84 122(Android & Play) Machine Learning

    AI 13 26 Firebase 31 26 Flutter 2 11 IoT 14 13 ※ 全体的にOfficeHourの時間が増えていそう
  10. 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/