shibuya.apk主催のGoogleI/O 2018報告会にいってきた

まぁなんとかやってます


久々にブログ書きます。
というか、勉強会も行ってきたの久しぶりかもしれない。。。
という訳なので、勉強会で取ったメモメモ (資料はどこかに上がってる)

Slices氏


資料

  • (端末の検索)検索結果の中に自分のアプリのアクションを出せる
  • push通知とかホームスクリーンで出せるようになる

  • 確認用のアプリがあるので、エミュレータで専用のアプリを必要

  • 4.4以上

  • SliceManager #<= 作れるけどあんまりないと思う

  • SliceProvider #<= 実装は大体こっち

  • manifestにproviderタグ

  • contentproviderを継承したもの
  • builderpatternで色々設定
  • sliceaction(実際はpendingintentみたいなもの)
  • sliceviewで画面

  • adb shellで動作検証する

  • 初回だけパーミッション確認ある

  • manifestに書くのはcontentprovider

  • authoritiesは後々に重要になる

  • contentprovider(sliceprovider)

  • onBindingSliceが重要
  • 中で実装したパスによって動きが変わる
  • authoritiesはここで使う
  • builderはここで実装
  • slice-content:///<provider定義のpath>でadb起動
  • sliceactionで起動したいintentとか

  • 動的に更新もできる

  • contentresolver.notifyChangeにsliceのuriを設定すればOK

Android Test は “Write once, run everywhere.” の夢を見るか


資料

  • robolectricとinstrumentedテストのAPIが似てたので統一された
  • instrumentedテストのAPIがローカルで動く(robolectricが必要)
  • テストの実行方法も統一したい = nitrogen pj
  • flavorとかリセットとかその他辛いので、実行環境を抽象化とかしたもの
  • googleのサポートの信頼性は高い(リリースはまだされてない)

Android App Bundle


  • 5.0以上でsplit apk
  • base apk, configuration apk, dynamic featureapk
  • base apkは基本機能でユーザーが最初にインストールするもの
  • configuration apkは特定の画面サイズとか言語のネイティブコードとか
  • gradleでbundleセクションでlanguageとかdensityとか設定する
  • dynamic feature apkは初回に必要にないものすべて
  • manifestでmodukeを設定
  • 4.4以下では、dist:fusing=true
  • dependencyにbaseを設定する
  • base側はdynamicを読む設定を入れる
  • base側にはmoduleをインストールする実装が必要><
  • 端末に合わせたアプリにできるようになる
  • 最適化されてるので小型のアプリにできる
  • 後から追加してもいいものが対象
  • cliではbase:bundleみたいなのを打つといい
  • play consoleのアップロードはちょっと面倒
  • 100MBとかbata program登録
  • play側の署名できるようにしておく
  • bundleツールでローカルテスト
  • bundletoolsでインストールとか端末設定抽出とかして自動で個別設定いれる
  • 端末設定を変更すると追加の設定がインストールされる
  • playが古いと4.4以前と変わらない動きになることに注意
  • dynamic feature modukeは大規模でないと実装コスパが悪そうだけどモジュール化は重要かも

Material Components


  • materail theme editor = skitch plugin
  • material components = 新しいsupport design library
  • designライブラリにあったものは全部同梱されている(名前が変わったものがあるCardとか)
  • chips = gmailとか送信とかにでてくる小さいタグっぽいview
  • textfieldもアウトラインとか縁が簡単に囲まれたものができる