heki1224の適当な日記

技術知識を忘れないように書き留めておくブログ

potatotips #29 に参加してきました

本日開催の iOS/Android 勉強会 potatotips #29 に参加してきました。
それぞれの発表資料と発表を聞きながら書いた走り書きをそのまま掲載します。
Android発表のブログまとめになります。

Google I/O 直後のpotatotips でしたが、全体に新しいものの発表は少なめでした。
そのほか個別で開かれる報告会や来月のpotatotipsに期待です。

Multi-Window上での「共有」について - @yamacraft さん


Recmeってアプリ作ってます

みなさんにお願いがあります
→AAは推奨環境で表示してください

AA最適環境表示アプリをMulti-Window対応させようとした時の話

やりたかったこと
→D&Dで画面更新させたかった
→そもそもドラック側がドラッグ機能を実装してないとNG

妥協案
ブラウザで共有→ビューアー
インテントで連携

となりのWindowにインテントが行かない
→Multi-Windowではタスクが別

launchmodeをsingletaskにすると
別のWindow側に反映される
onNewIntent()が呼ばれる

まとめ
呼び出す側の実装も必要不可欠っぽい

Tips to learn "DI" - @tsuyoyo さん

Daggerがしっくり来ていない人

Spring Boot から DIを学べばわかりやすいんじゃないか?

Web Application での使用例を解説する

クラス書いてannotation書くと、クラスが注入される

インターフェースをかまして、annotation書くと、クラスが注入される

ラジオ番組表アプリ
→NHKの番組表が欲しい
→1日300回しかアクセスしてくれない
→中間サーバを作る

遠回りだけども理解しやすい形で理解する方がいい

New Layout Editor with ConstraintLayout - @shihochan さん


新しいレイアウト
レイアウトをマテリアルデザインに準拠した最適な位置に自動調整
AutoConnectとInferenceによるレイアウト制約

v2.2 preview1 〜
JDK 1.8 〜

support library入れて
レイアウトのリソースファイルを作成し
rootのレイアウトをConstraintLayoutにする
レイアウトエディタで作成

GUIで設定
プロパティウィンドウで設定

いいところ
小規模
API9から対応
ネストが減る

いやなところ
xml読めない
xml編集できない
GUIインターフェース通りに作れるかどうか?

Delightful Android DB Development - @shaunkawano さん


DB周りを楽にしてくれるライブラリを紹介

公式のサンプルコード
→決まり文句が多い
→JavaSQLが混ざってる
→文字列で宣言してる

SQLDelight
→square製

SQLを静的解析
SQLJavaのコードを分離
モデルコードを自動生成

gradleで設定
AndroidStudioあり

モデルを作成する
.sqファイルを作成する
→SQLを書く
create table
operation sql

実行する

Modelのインターフェースを自動生成

5 RxJava Tips You Might Not Know - @hydrakecat さん


RxJava の TIPS

1. unsubscribe の null チェック を止める
→ Subscription.empty()

2. 前にセットしていたSubscriptionをunsubしてから新しいSubscriptionをsubする
→ SerialSubscription を使う

3. composeメソッド
共通処理をtransformer に外部だし
→ compose で呼ぶ

4. onsubscribe を自分で実装しない
fromCallable を使う

5. concat().first() を続けて呼ぶと便利

メモリリークに関するウワサの今昔(仮) - @woshidan さん


ググって出てくること
→それは今も必要?
→leakCanaryで調べる

1. RecyclerView Adapter
メモリーリーク起きない

2. 使わなくなったイベントリスナを解放する
メモリーリーク起きない

Android GC は M&S

API9 より前はGCが遅かった
→参照切りたかった

新しいOSは別に問題ない

Activityがリークしにくくなっている

bitmap,handler周りはリークするよ

実際に調べることは本当に大切

Android BLEのつらみ予防 - @OE_uia さん

ハードウェアによる差違が大きい

OSによるBLEの実装の差違もある

つらいさが伝わってくる