2016年8月23日火曜日

potatotips #32 (iOS/Android開発Tips共有会)8月23日に参加レポート

potatotips #32 (iOS/Android開発Tips共有会)8月23日に参加してきました。
Android ブログ枠で参加しましたので、レポートします。

会場の「Wantedly, Inc.」はテーブル付きでクッションも良い椅子でした[Good]。

http://potatotips.connpass.com/event/36346/

プレゼンテーションが公開されたら適宜リンクしていきます。

2. たーみーさん 「I/O 2016 で発表された Awareness API をいじってみた」

http://slides.rnita.me/20160823-potatotips-32/#/


 - Awareness API: 「どこに居るか」「なにしているか」「近くになにがあ
る」をまとめて処理できるAPI。

  - 7つの機能に対応
  (Location, Place, Beacons, Time, Activity, Headphones, Weather)

  - 2つのAPI(Fence API(通知してもらう), Snapshot API(いまどうなの?)

 - 今回の発表は公式サンプルアプリを動かしてみての感想
   - Snapshot APIだと、callbackされて状態が分かる
   - Fence APIだと、 FenceReciverが呼ばれる。

 - まとめ
   - 導入はかんたん、Build Tools > v21, Gogle Support Library
   - サンプルも簡単に動きました
   - Placeなど調べてみたい。

4. よしおかさん 「暗黙的IntentをプログラマブルにするTips」

  - 「iOSでいうところのUniversal Link対応」
  - WebのURLからアプリを起動できる。
  - 普通に作るといろいろも問題がある。
       - URLの数だけManifestにIntentが増えるなどなど。
  - 案1: なんでも受け取って、アプリ内部で処理する。
  - 案2: コードの自動生成
       - Templateエンジンを使って自動生成
       - プロダクト本体以外のメインテナンスが発生している。
  - 案3: Xamarin
       - Activityの上にManifestのIntentFilterが記載できる。

5. しょーんかわのさん 「Taking glance at RxJava 2」


  - RxJava2(未リリース)の説明
  - 変更点1: Reactive Streamsの対応
        - データを止めること無く流すことができる。
  - 変更点2: 1.x to 2.x
     - package名画変わる
     - メモできず...
     - Action 0 -> java.lang.Runnable
     - Action 1 -> Consumer, Action 2 -> Bi...
     - Func3-Func9 -> Function3- Function9
     - Subscribe()メソッドでも、Subscriptionは返らない。
     - Subscription->disposeに

  - 10月に本リリース予定。
  - githubレポジトリが参考になる。
  - Fragmented Podcast:053が参考になる
  - Droidcon NYC2016(Paid Live Stream予定)

7. カトウリュウさん 「今日からはじめるAndroidCI」


  - アンドロイドアカデミア本で詳細書いています。
  - ビルド、テスト、Lintなどなどをやっている。
  - BITRISEの紹介
      - 設定簡単
  - デモ
      - ポチポチボタンを押しているだけで、CI始められる
      - gradleの中身も自動認識
      - build通知もslackに遅れる。

  - まとめ
    - まず「できることから始めるのが大切」

    https://www.bitrise.io/

  BITRISEは無料コースもあるようです。

9. かつとむさん 「RuntimePermissionをAOPで解決する」




  - AOPとは、
     - アスペクト指向プログラミング
  - @NeedPermissionと記載するだけで良い。

  - gradle-android-plugin-aspectjx を使う
    - InstantRunとの相性が悪い...(個人的には...)
  - permissionaspect

  まとめより
    - PermissionAspectはバグもある...

Twitterから「PermissionDispatcher」の紹介もありました。


11. まえすとろ/Tanimotoさん 「DeviceOwnerのお話」


- DeviceOwner - Android 6.0以上ならば、自動でアプリインストールが可能 - 作り方 - adb shell dpm set-device-owner パッケージ名...を実行 - M Permissionの自動許可設定も可能 - アンインストール不可アプリ設定も可能 - Androidタブレットを一つの用途だけに使う場合には便利 - Google Playに公開するアプリでは使わないように...

13. カエラエラ/まえかわさん 「WebSocket for Android」


  - 良い点
     - No request headerで速い
     - Real time communicationできます。
     - HTTPのproxyやfilterやauthなどを使える。

  - 悪い点
     - errorハンドリングが難しい
     - 再接続処理が難しい

  - 使い方
     - Socket.io
     - Java-websocket
     - OKhttp-ws
     - .Socket

 - Okhttp-wsの例
     - でも、まだ未完全らしい。