potatotips #26に参加した


iOS/Androidアプリ開発のTipsを共有する勉強会potatotips第26回がSupership社で開催され、Androidブログまとめ枠に参加させていただきましたので、不肖@yimajoまとめました！！！！資料は都度、アップロードしてもらえれば追記します！！

![IMG_5087.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/a7488e63-b01a-e916-2284-54416d214294.jpeg "IMG_5087.JPG")

Supership社はアンサーなどのiOS/Androidアプリがあるサービスを運営している会社さんです。

# KotlinでAndroidアプリ作ってみた @rei_m

- HBFabのKotlin版を作ってみた
- Kotlin良かったよ
  - varとval（ミュータブルとイミュータブルを宣言で分ける
  - Data Classというのが楽
    - 自動的にお決まりのメソッドを作成してくれる
- Kotlinここが困った
  - IDEのプラグインエラーが頻繁だった
- ソースコードは公開してる
  - https://github.com/rei-m/HBFav_material
- スライドはこちら
  - [Kotlinでアプリ作ってみた](https://speakerdeck.com/reim/kotlindeapuriwozuo-tutemita-at-potatotips-number-26)

質問

- フルでKotlinにしないのは？
- xmlから参照するときにアノテーション付けてjavaの見え方が出来るように

# Androidの動画のあれこれ @jyegan

- 正解が見えないが試したので共有
- 録画: MediaRecorderは再生: TextureViewが定番ぽかったので使った
  - MediaRecorderでフレームレートが指定できない
  - 同時再生が出来ない
- 試行錯誤した結果
  - FFmpeg使うことにした
  - 撮影JavaCV、再生はExoPlayerを使う
  - リファレンスを見て実装すればなんとかなることもあった
- スライドはこちら
  - [動画のあれこれ](http://www.slideshare.net/Jyegan/ss-58380835)


質問

- ExoPlayerどうですか？
  - ExoPlayer使いづらいのでExoMediaというのを使ってる

![IMG_5079.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/f38f256c-1de6-918e-b5ba-66be7ad2798a.jpeg "IMG_5079.JPG")


# 最近であった面白い挙動 @tatsutan

http://tetsutan.github.io/potatotips26/

- 「Fragmentを使った画面のリストから詳細画面に行きたい時、１件ならそのまま詳細に行きたいときにコーディングミスしてうまくいかなかった」という話
  - Fragmentのコード見たらFragmentはViewだった  
  - ListViewのコード見たら基本は普通のViewでやってることと同じ
  - CanvasみてたらRenderされてるのにノードから削除されてることが起こりえる
    - それが問題かな？という予想

# AndroidアプリのUI/UX改善例 @korodroid

http://www.iplatform.org/blog/archives/2769

- sekaiphoneというアプリのUI/UXを治そうと思った話
  - ドロワーを標準ぽく
  - 検索の操作性改善
  - アップナビゲーションに対応した（左向きのボタン押すと戻れる
	    - androidだと戻るキーあるじゃんとなるけどPlayストアアプリ自体も戻るボタンがある

![IMG_5091.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/3ae41562-fd1a-77fa-3dd4-52ae243f1f97.jpeg "IMG_5091.JPG")


# Androidのテストメソッドの命名規則について考えてみた @stsn_jp

- テストが落ちた時にテストを削除したくなる
  - 解決しようと思ったのでメソッド名から良くする
- テストはじめて中期：テストメソッドを分割しだした
  - ただどういうときにそのテストが通るのかメソッド名で分からない
    - ステータスコード200OKかどうかならそれをメソッド名に
- テストメソッド名は、"テスト対象_期待される振る舞い_条件"とした

# アンサーAndroidの話 @funnythingz 

- SupershipがリリースているアンサーというAndroidアプリの話
  - Android2と3系を切ったら開発が楽になった！！！
- SupershpではAndroidエンジニアを募集しています！！！！


# Replace EventBus with RxJava/RxAndroid @hkusu_

http://www.slideshare.net/hiroyukikusu/potatotips-26replace-eventbus-with-rxjavarxandroid


- RxEventBusでEventBusとおんなじことをやる
- Provider経由でどっからでもイベントを投げれるようにする
- イベントに値を入れて投げて受け取ったほうで見られる

# チュートリアルをリッチにしよう @sakebook

- viewpagerのうごきとインジケータを連動させたい
  - イベントに従ってインジケータを操作する
  - viewpagerのindexに従ってswitch caseでインジケータの大きさを変える処理書く
  - onPageScrolledのパラメータにしたがってインジケータの色を変える


# Foreground検知 @kato_takaharu

- フォアグラウンドを検知するには?ActivityにもApplicationにもメソッドがない
- ActivityManager.getRunningTasks
  - デバッグモードで使う。lolipopからはない
- StackoverflowではActivityとApplicationでonResumeのタイミング見る

# 元Railsエンジニアが現場で引き継いで使ってみたKotlin @woshidan

- 30days Albumというアプリリニューアルの際にKotlinで実装した感想
- もともとRails使ってた人がKotlinを自分で選んだわけではないという前提で話を聞いて欲しい
- mix-inがRailsを知ってる人には直感的だと感じた
- コードが短く書ける
  - findViewByIdとか使わない

![IMG_5095.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/84c8a93e-b625-5053-b27e-2db76d561107.jpeg "IMG_5095.JPG")


![IMG_5072.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/b876dbfb-f816-5a26-655b-6b181ce165e2.jpeg "IMG_5072.JPG")


🍣ありがたい...

![IMG_5099.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/9c97244a-81ee-13aa-c1e0-d206c68775e2.jpeg "IMG_5099.JPG")

![IMG_5101.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/44a37113-f8b1-49c8-05a3-fa3afcb79613.jpeg "IMG_5101.JPG")

![IMG_5106.JPG](https://qiita-image-store.s3.amazonaws.com/0/16400/68227c60-e871-52a5-93e5-728d227856f4.jpeg "IMG_5106.JPG")

写真を取らせていただいたみなさんもありがとうございました...!!