#potatotips #38 にブログ枠で参加してきた

potatotips #38 (iOS/Android開発Tips共有会) - connpassにブログ枠で参加しました。 このブログ記事では、Androidの発表に関するまとめを記載致します。

会場@Origami, Inc.

会場は、南青山にあるOrigami, Inc.さんのオフィスでした。Origami - スマートなお支払いを。

f:id:shaunkawano:20170322190444j:plain

Android発表枠のまとめ

以下、Android発表枠のまとめです。

Keisuke Kobayashi Practical Implementation of Up Navigation

アプリの詳細面上でUpボタン(左上の「戻る」)を押下した際の動きの制御についての発表でした。シンプルなアプリであれば純粋にfinish()を呼べば良いかもしれませんが、例えば…

  • 検索結果から詳細面に遷移した際
  • DeepLinkから詳細面を起動した際

上記の場合、単にアプリを閉じるのではなく詳細面の上位面に遷移してほしいことがあります。その場合の解決策として、遷移元のActivityの識別子を保持しSINGLE_TOPフラグを用いてActivityを再生成しない方法が紹介されています。詳しくは下記記事もどうぞ。

NavUtils#navigateUpFromSameTask)なども登場します。

NavUtils自体初耳だったことと、これから業務でUpボタン周りの制御を行う予定なので、ドキュメント読んで考えながらやっていこうと思います。

r21nomi Let’s make Photo Frame with Android Things

Raspberry PiやEdison向けのAndroidアプリを作ることができるAndroid Thingsを使って、PinterestでPinした画像を表示するフォトフレームを作ったことについての発表でした。Pinterest APIを利用するためのアクセストークンをAndroid Things側から取得しようとするとAndroid ThingsのSDKの不具合によってintentを飛ばしたりWebViewを起動してトークンを取得する際にクラッシュしてしまうとのこと。解決策としてスマホ側の独自のアプリでPinterestOAuth認証を行いそのトークンをFirebase Realtime Databaseを用いてAndroid Things側に同期するという方法を取ったということです。

Android Thingsまだ触っていないので興味があります。何か作るか。(SDK怖い、アニメーション周りがすこし苦手らしい) ソースコードr21nomi/pin-board: pin-board is Pinterest client for Android.にあるそうです。

androhi ConstraintLayout再入門

ConstraintLayout再入門についての発表でした。ConstraintLayout(RelativeLayoutのすごいやつ)は現在バージョン1.0.2までリリースされていて、安定してきていると感じています。新しいLayoutEditorでViewをゴニョゴニョいじり制約をつけることができます。アスペクト比でViewの大きさを決めれるようになったり、View同士を鎖でつないだような実装を行えるとのことです。また、Android Studio2.3では新しいテンプレートが追加されているようです。

ConstraintLayoutも同じくまだあまり触ったことがないので、まずはサンプルで遊んでみようと思います。

pside MediaSessionの話

MediaSessionの話 - Google スライド

メディア再生アプリを作る場合に独自のゴニョゴニョ実装をするのではなくMediaSessionを利用しようという話でした。

MediaSessionCompatPlaybackStateCompatを利用することで一時停止中、再生中、早送り可能、巻戻り可能などの状態(State)を制御できるとのこと。 また、Googleのサンプルコードがかなり参考になるそうです。制御するStateを指定する際にBuilderで設定するそうなのですが、setActionsのメソッドに適した値を指定をすることで正しいCallbackを受け取れるそうです(逆にちゃんと指定しないとハマるらとのこと。)

メディア再生アプリ作ったことがなかったので真新しい情報ばかりで学びが多かったです。

分かってしまえばどうってことはないが、ここまで辿り着くのに相当かかった

ということはメディア再生にかぎらずAndroidあるあるなのかなと思うので、精進します!(`・ω・´)ゞ

発表内容はI/O 2016: Best Practices in Media Playback on Android // Speaker Deckをベースにしているとのことです。

おまけ

ご飯もオフィスもとてもオシャレでしたლ(´ڡ`ლ)

f:id:shaunkawano:20170322205811j:plain