まぁなんとかやってます
久々にブログ書きます。
というか、勉強会も行ってきたの久しぶりかもしれない。。。
という訳なので、勉強会で取ったメモメモ
(資料はどこかに上がってる)
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もアウトラインとか縁が簡単に囲まれたものができる