potatotips#44に参加しました!(Android編)
遅くなりましたが先月株式会社エウレカさんで開催されたpotatotips#44にAndroidブログ枠として参加させていただきました。
自分はiOSのアプリしか開発したことがなく知識不足なので、間違っている部分がありましたらご指摘をお願いいたします。
Danger for Android
Danger自体は聞いたことがあったのですが、実際どのようなものなのかは知りませんでした。
今回の発表ではCIを使用してGithub上でコードレビューを自動化させるというお話でした。
Gemfileで必要なGemをインストール
↓
Dangerfileにレビューの項目とAndroid lintの設定
↓
CIに組み込む
という流れでした。
警告が出たコードに関して直接PRに提示してくれるのは便利だと感じました。
また空白は行数チェックなどは人の目でチェックするのではなく自動化して任せる方が良いですね。
AndroidのKiosk端末化 ~ダイジェスト版~
Kioskと聞いて駅のあれだと思ってしまいました(笑)
スライドにも書いてあるのですが、wikiで調べたところKiosk端末下記のようなもののことらしいです。
インタラクティブなキオスクは、通信、商取引、エンターテイメント、または教育のための情報およびアプリケーションへのアクセスを提供する特殊なハードウェアおよびソフトウェアを特徴とするコンピュータ端末である。
ref.) https://en.wikipedia.org/wiki/Interactive_kiosk
今回の発表の内容は下記の内容を実現するため実装方法のお話でした。
最近見かけるようになった飲食店の注文するためのタブレットようなものでしょうか。
実装はAndroid 5.0で追加されたDevice Owner、Screen Pinningを使用するという方法でした。
またDevice Ownerを使用する場合は端末の初期化が必要のようです。
今回発表されたソースについてはこちらに上げてくださっています。
VectorDrawable導入しようと思ったけど断念した話
TakuSemba(仙波拓 (@takusemba) | Twitter)さん
(資料は上げられていませんでした。)
今回はAbemaTVでVectorDrawableを導入しようしたが、制限やバグで導入を断念したお話でした。
まずVectorDrawableはpathが800文字までという制限があるらしいです。
AbemaTVでは100個ほどの画像があるらしく、pathが超えてしまったsvgを手作業で修正していったというお話しをしていました。
また下記のURLのような「VectorDrawableのfillType="evenOdds"が5.0~6.0でうまく表示されない問題」の影響があり断念せざる終えなかったとおっしゃっていました。
https://issuetracker.google.com/issues/67754527
vector画像を使用出来れば複数のサイズの画像を用意する必要が無くなるのでかなり楽になりますが、まだまだ導入は辛いようでした。
iOSでもvector画像を使用出来るので試してみたいと思います。
Color blending on Android
2つの色を混ぜたい時にどうやるのか、というお話でした。
方法としてAndroidのsupport.v4.graphicsで提供している ColorUtils
の blendARGB
を使用して変更していくというものでした。
ColorUtils | Android Developers
ColorUtils.blendARGB(color1, color2, ratio)
だけで色同士を混ぜられるのは便利ですね。
また ViewPager#onPageScrolled
との相性が良いかもとのことでした。
スクロールなどで徐々に色を変更したい時に ratio
を動的に変更すれば良いのでiOSに比べて楽に実装ができるのではないのかなと思いました。
Twitterでは「RGB」を使用するより「HSB(色相、彩度、明度)」の方が良いという意見もありました。
Color BlendってRGBよりHSBの方がふさわしいような気もするけど、どう違うんだろう……。 #potatotips
— Kaoru (@TachibanaKaoru) 2017年10月25日
発表のソースはこちらに上げてくださっています。
REPLACE WITH DAGGER.ANDROID
Android開発はしたことがないので、発表中のコードの内容はよく理解できませんでした。
DaggerはDIライブラリで、iOSでいうSwinjectなどみたいなものでしょうか。
Dagger2からdagger.androidにすることでシンプルに書けるようようです。
終わりに
ブログにまとめるにあたって、もっとAndroidの知識が分かっていればと思いました。
iOS開発も楽しいですが、Androidでは自由がきいていろいろな実装が出来るんだな感じたので触れてみたいなと思いました。
次のpotetotipsではiOSで発表させていただくので、とても楽しみです!
今後ともよろしくお願いします。