SlideShare a Scribd company logo
1 of 50
Android 開発, 運用時に使いたい
ライブラリやサービスの紹介
2016/07/02
オープンセミナー2016@香川 #osk2016
2016/07/02
@情報通信交流館 e-とぴあ
かがわ 5F BBスクエア
Tokushima.app & Sansan株式会社 辰濱健一
Copyright © 2014 Sansan, Inc. All rights reserved.
> Agenda
1
• 自己紹介
• ○○時に使いたい、ライブラリやサービスの紹介
• 開発
• テスト
• 運用
※あくまでも、ざっくりとした紹介のみです。
試用・導入にあたっては、本家のドキュメントを参照下さい。
Copyright © 2014 Sansan, Inc. All rights reserved.
自己紹介
2
Copyright © 2014 Sansan, Inc. All rights reserved.
> 自己紹介
3
• 辰濱健一
• 徳島生まれ、奈良育ち
• 2回転職するも、いずれも徳島県内勤務
• Tokushima.app 主催
(徳島でのスマホアプリの勉強会)
• Sansan株式会社所属
• 古民家を改修した神山ラボ勤務
• 名刺アプリ Eight Android 版の開発
• Kotlin, RxJava, Realm, … を使ってます
• リモートワーク
• 趣味は楽器演奏
Copyright © 2014 Sansan, Inc. All rights reserved.
> Sansan神山ラボ
4
Copyright © 2014 Sansan, Inc. All rights reserved.
> 趣味
5
• 楽器演奏(エレクトーン・トランペット)
• 県内のイベントでちらほら演奏する機会を頂いてます
(明日もイベント出演です)
Copyright © 2014 Sansan, Inc. All rights reserved.
> Tokushima.app
6
• http://tokushima-app.connpass.com
• 徳島のスマホアプリ開発の勉強会
• 基本もくもく会、たまにハンズオン
• 場所は徳島市内、10:00〜16:00
• 初心者でも OK、入退出自由、参加費無料
• 月1ペースで開催(したいと思ってはいる)
• 辰濱が東京の勉強会で仕入れてきた情報なども共有します
• 要望あれば、近隣に出張ハンズオンなども始めようかな…とか思っている。
Copyright © 2014 Sansan, Inc. All rights reserved.
開発時に使いたい
ライブラリやサービス
7
Copyright © 2014 Sansan, Inc. All rights reserved.
> Support Library
8
• https://developer.android.com/topic/libraries/sup
port-library/index.html
• プラットフォーム本体の機能のバックポート
• Fragment, Loader, **Compat
• プラットフォーム本体には存在しない機能の追加
• Design Support Library
• Floating Action Button
• Navigation View
• Tab Layout
• 後方互換性担保のためにも、基本的に使おう!
Copyright © 2014 Sansan, Inc. All rights reserved.
> Support Annotations
9
• http://tools.android.com/tech-docs/support-
annotations
• Support Library 群の1つ
• 引数の制約などを定義し、制約違反の場合は Android
Studio 上に警告を出すことができる
Copyright © 2014 Sansan, Inc. All rights reserved.
> Stetho
10
• http://facebook.github.io/stetho/
• Facebook 製のライブラリ
• Chrome DevTools を使って、以下のことができる
• Network Inspection
• Database Inspection
• View Hierarchy
Copyright © 2014 Sansan, Inc. All rights reserved.
> Stetho Network Inspection
11
• 時系列の通信状況やレスポンスがわかる
• OkHttp などの通信クライアントに Stetho をかますと使える
Copyright © 2014 Sansan, Inc. All rights reserved.
> Stetho Database Inspection
12
• 端末内 DB の SQLite のテーブルの内容が確認できる
• 端末内キャッシュ(SharedPreference)も同様に確認できる
• 値の書き換えも可能(だったはず…)
Copyright © 2014 Sansan, Inc. All rights reserved.
> Stetho View Hierarchy
13
↓エミュレータ
(横に並べただけ)
• View 階層を確認でき、各要素のプロパティも確認できる
• 選択中の要素が端末上で色が付く
• 値の書き換え&反映も可能
Copyright © 2014 Sansan, Inc. All rights reserved.
> Realm
14
• https://realm.io/jp/
• 高速に動作し、使いやすく、無料の DB
• 暗号化、変更通知、マイグレーション対応
• 日本語でのサポート対応
• シリアライズされた DB ファイルは、iOS / Android
などどのプラットフォームでも利用可能
Copyright © 2014 Sansan, Inc. All rights reserved.
> Realm
15
• SQL の記述は不要
• クエリ文も簡潔
Copyright © 2014 Sansan, Inc. All rights reserved.
> Stetho-Realm
16
• https://github.com/uPhyca/stetho-realm
• Stetho で Realm DB を扱えるようになる
• uPhyca の @zaki50 さん製
• Sansan 株式会社の Android の技術顧問
• 先日の Google I/O 2016 Extended 四国
にいらっしゃってました。
Copyright © 2014 Sansan, Inc. All rights reserved.
> Jenkins
17
• https://jenkins.io/
• CI です。
• 決まり切った手順は人手でやらず自動化
• ビルドやテストなどのジョブの定期実行
• テストバイナリの作成・配信
• 本番バイナリの作成
• ジョブ(手順)を登録しておくと、定義したタイミングで実行
してくれる
• コミットがあったとき
• 定刻
• 手動
• 同様のサービス:Circle CI
Copyright © 2014 Sansan, Inc. All rights reserved.
> Lint
18
• http://tools.android.com/tips/lint
• Android SDK tools に同梱されている、静的コード解
析ツール
• 検出内容
• 未翻訳文言
• レイアウトパフォーマンス
• 未使用文言
• などなど
• コマンドライン(や Gradle)から実行できる
• ./gradlew lint
Copyright © 2014 Sansan, Inc. All rights reserved.
> Jenkins Android Lint Plugin
19
• https://wiki.jenkins-
ci.org/display/JENKINS/Android+Lint+Plugin
• Jenkins の Lint Plugin
• Lint の結果の推移をグラフィカルに表示
Copyright © 2014 Sansan, Inc. All rights reserved.
> Android Studio Inspect Code
20
• Android Studio の静的コード解析ツール
• Analyze > Inspect Code
• Lint よりも検査項目が多い
• IDE による修正アシストもある
Copyright © 2014 Sansan, Inc. All rights reserved.
> Android Studio Inspect Code
21
• IDE による修正アシスト
Alt + Enter
不要な null チェックが除去される
Copyright © 2014 Sansan, Inc. All rights reserved.
> Infer
22
• http://fbinfer.com/
• Facebook 製、静的コード解析ツール
• 指摘内容
• CONTEXT_LEAK
• NULL_DEREFERENCE
• RESOURCE_LEAK
• 結果は CSV, Json で出力される
• Android Studio Inspect Code での内容と重複するとこ
ろもあるが、Inspect Code にない指摘もある
Copyright © 2014 Sansan, Inc. All rights reserved.
> QARK
23
• https://github.com/linkedin/qark
• LinkedIn 製、セキュリティチェックツール
• 指摘内容
• export されたコンポーネント
• WebView の設定
• Intent のセキュリティ
• 弱い暗号方式の利用
など…
• 結果は html で出力される
Copyright © 2014 Sansan, Inc. All rights reserved.
> Genymotion
24
• https://www.genymotion.com/
• 軽量なエミュレータ
(最近は本家のエミュレータも進化してる)
• Android Studio からもデバッグ可能
• ウィンドウサイズを変えると画面が縮小してくれるの
が好き
• ※Android N の マルチウィンドウのリサイズのことではない
Copyright © 2014 Sansan, Inc. All rights reserved. 25
Copyright © 2014 Sansan, Inc. All rights reserved.
> Firebase – Authentication
26
• https://firebase.google.com/docs/auth/
• Google I/O 2016 で新バージョンが発表された
• 色んな機能がある
• 様々な認証機能を簡単に組み込むことができる
• 大手:Facebook, GitHub, Google, Twitter
• パスワード:ユーザ登録&認証
• 自前の認証機構
Copyright © 2014 Sansan, Inc. All rights reserved.
> Firebase – Realtime Database
27
• https://firebase.google.com/docs/database/
• NoSQL JSON データベース
• 同じデータを持っている端末に即座に同期してくれる
• オフライン編集でも、オンラインになったら同期して
くれる
• ファイルへのアクセス権制御は、
前述の Firebase Authentication を使う
• 利用シーン
• 端末をまたいだ、ユーザ設定値(Key, Value)の同期
Copyright © 2014 Sansan, Inc. All rights reserved.
> Firebase – Storage
28
• https://firebase.google.com/docs/storage/
• ファイルのアップロード・ダウンロード機能を提供
• ファイルへのアクセス権制御は、
前述の Firebase Authentication を使う
• Upload, Download の接続が中断されても自動で再開
できる
• ペタバイトのデータを保存できる
Copyright © 2014 Sansan, Inc. All rights reserved.
> Firebase – Remote Config
29
• https://firebase.google.com/docs/remote-config/
• Firebase 側の値を変更のみで、アプリの動作をカスタ
マイズできる
• セグメント毎に値を変更することも可能
• 日本国内のユーザ:Value1、海外:Value2
• Android 5.0 以上の男性のユーザ:…
• 利用シーン
• A/B テスト
• 閾値の変更
• メンテナンスモードへの切り替え
Copyright © 2014 Sansan, Inc. All rights reserved.
テスト時に使いたい
ライブラリやサービス
30
Copyright © 2014 Sansan, Inc. All rights reserved.
> Robolectric
31
• http://robolectric.org
• Android Test だと、テスト用アプリをビルドして実機
に転送して実行していた。
• Android フレームワークに依存しない、ロジック部分
のテストを JVM 上で実行させる
• これにより、
・テストビルドの高速化
・テストの高速実行
が実現する
Copyright © 2014 Sansan, Inc. All rights reserved.
> Espresso
32
• https://google.github.io/android-testing-support-
library/docs/espresso/
• UI 操作や UI の状態のテストを記述できるライブラリ
• Android Studio 2.2 からは、Excel のマクロ記録のよ
うに、Record Espresso Test が可能に!
“Steve” を入力
ボタンクリック
表示チェック
Copyright © 2014 Sansan, Inc. All rights reserved.
> Fabric - beta
33
• https://get.fabric.io
• 色んな機能があるが、テスターに開発中のバイナリを
配信するのに便利
• Gradle プラグインがあり、ビルドしたものを自動的に
Fabric へのアップロードまでしてくれる
• テスターがバイナリを端末にインストールするのも簡
単
• バイナリのクラッシュ状況を確認できる
• 同等サービス:Google Play α版/β版 テスト
Copyright © 2014 Sansan, Inc. All rights reserved.
> Fabric 端末へのイントール
34
• 専用アプリへテストバイナリの配信情報が来る
• テストアプリを選択して、バイナリを選択するとインストールさ
れる
• iOS アプリの配信も可能
Copyright © 2014 Sansan, Inc. All rights reserved.
> Fabric
35
• テスト版配布のダッシュボード
テスター 進捗
クラッシュ状況
Copyright © 2014 Sansan, Inc. All rights reserved.
> Fabric
36
• クラッシュ情報
スタックトレース
端末情報
↑件数
時間→
件数・人数
Copyright © 2014 Sansan, Inc. All rights reserved.
> AWS Device Farm
37
• https://aws.amazon.com/jp/device-farm/
• クラウド上の実機でテストが行える
• テスト端末を買わなくても時間借りができる
(0.17$/Device・minute)
• Espresso 等で書いた UI テストの実行に最適
• テストを書かなくても、リモートアクセスも可能
(ブラウザからジェスチャ等の操作ができる)
• 同様のサービス:Firebase Test Lab
Copyright © 2014 Sansan, Inc. All rights reserved.
> AWS Device Farm – Remote Access (beta)
38
• ブラウザ上のマウスで操作可能
↑アプリをアップロード
↑物理ボタン
Copyright © 2014 Sansan, Inc. All rights reserved. 39
Copyright © 2014 Sansan, Inc. All rights reserved.
> Firebase Test Lab
40
• https://firebase.google.com/docs/test-lab/
• ほぼ、AWS Device Farm と同様
(リモートアクセスはないかも…)
Copyright © 2014 Sansan, Inc. All rights reserved.
> Google Play 段階的公開(アップデート)
41
• https://support.google.com/googleplay/android-
developer/answer/6346149
• 一定の割合のユーザのみにアップデートを配信する
• 割合の調整はできるが、ターゲットの選定はできない
• 時間をかけて徐々に配信することで、アップデート版
の品質を監視しながらリリースできる
Copyright © 2014 Sansan, Inc. All rights reserved.
運用時に使いたい
ライブラリやサービス
42
Copyright © 2014 Sansan, Inc. All rights reserved.
> Fabric - Crashlytics
43
• https://get.fabric.io
• 前述のテスト版配信のように色んな機能があるが、ク
ラッシュ状況やイベントの状況を確認できる
• クラッシュが一定数を超えるとメールで知らせてくれ
る
クラッシュ箇所
アプリバージョン
期間
Copyright © 2014 Sansan, Inc. All rights reserved.
> Fabric - Answers
44
• https://get.fabric.io
• DAU, MAU などの推移を確認できる
• イベントトラッキングも行える
Copyright © 2014 Sansan, Inc. All rights reserved. 45
Copyright © 2014 Sansan, Inc. All rights reserved.
> Firebase – Analytics
46
• 様々な分析を統合的に行える
(今まではそれぞれ別々のサービスで提供されて
いることが多く、連携が難しかった)
• アプリ内の行動分析
• 広告やキャンペーンの効果分析
• クラッシュレポート
• ログの保存は無制限で無料
• データエクスポートも可能
Copyright © 2014 Sansan, Inc. All rights reserved. 47
ライブラリやサービスを使って
アプリの開発・運用を
速く・楽にしよう!
Copyright © 2014 Sansan, Inc. All rights reserved. 48
Copyright © 2014 Sansan, Inc. All rights reserved. 49
これらのライブラリやサービスの
ハンズオンやるかも?
Tokushima.app
http://tokushima-app.connpass.com

More Related Content

What's hot

スマホアプリ自動テストサービス
スマホアプリ自動テストサービススマホアプリ自動テストサービス
スマホアプリ自動テストサービスKoh Uehara
 
Linuxサーバーのセキュリティ対策 part4
Linuxサーバーのセキュリティ対策 part4Linuxサーバーのセキュリティ対策 part4
Linuxサーバーのセキュリティ対策 part4Kazunori Inaba
 
Linuxサーバのセキュリティ対策 part3 - ファイル転送編
Linuxサーバのセキュリティ対策 part3 - ファイル転送編Linuxサーバのセキュリティ対策 part3 - ファイル転送編
Linuxサーバのセキュリティ対策 part3 - ファイル転送編Kazunori Inaba
 
サーバー設定のお話
サーバー設定のお話サーバー設定のお話
サーバー設定のお話Kazunori Inaba
 
ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10Yasuharu Suzuki
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いたAkihiro Kuwano
 
Windows Server + VPNのAWS移行事例
Windows Server + VPNのAWS移行事例Windows Server + VPNのAWS移行事例
Windows Server + VPNのAWS移行事例Kazunori Inaba
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例gree_tech
 
IaaSクラウド比較
IaaSクラウド比較IaaSクラウド比較
IaaSクラウド比較Kazunori Inaba
 
Linuxサーバのセキュリティ対策 part2 - Apache編
Linuxサーバのセキュリティ対策 part2 - Apache編Linuxサーバのセキュリティ対策 part2 - Apache編
Linuxサーバのセキュリティ対策 part2 - Apache編Kazunori Inaba
 
Terraformをいじってみて
TerraformをいじってみてTerraformをいじってみて
Terraformをいじってみてssuser11d6e6
 
AWA with Realm
AWA with RealmAWA with Realm
AWA with RealmYuji Hato
 
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件今城 善矩
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupToshiaki Maki
 
さくらのインフラコード
さくらのインフラコードさくらのインフラコード
さくらのインフラコードYukihiko SAWANOBORI
 
Asakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test DriverAsakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test Driverapirakun
 
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話しDevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話しAkira Nagata
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Tokuhiro Matsuno
 

What's hot (20)

スマホアプリ自動テストサービス
スマホアプリ自動テストサービススマホアプリ自動テストサービス
スマホアプリ自動テストサービス
 
Linuxサーバーのセキュリティ対策 part4
Linuxサーバーのセキュリティ対策 part4Linuxサーバーのセキュリティ対策 part4
Linuxサーバーのセキュリティ対策 part4
 
Linuxサーバのセキュリティ対策 part3 - ファイル転送編
Linuxサーバのセキュリティ対策 part3 - ファイル転送編Linuxサーバのセキュリティ対策 part3 - ファイル転送編
Linuxサーバのセキュリティ対策 part3 - ファイル転送編
 
サーバー設定のお話
サーバー設定のお話サーバー設定のお話
サーバー設定のお話
 
ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10ネットゲーム開発者がサーバレスしてみたver1.10
ネットゲーム開発者がサーバレスしてみたver1.10
 
実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた実環境にTerraform導入したら驚いた
実環境にTerraform導入したら驚いた
 
Windows Server + VPNのAWS移行事例
Windows Server + VPNのAWS移行事例Windows Server + VPNのAWS移行事例
Windows Server + VPNのAWS移行事例
 
Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例Amazon EKS によるスマホゲームのバックエンド運用事例
Amazon EKS によるスマホゲームのバックエンド運用事例
 
AWS Lambda in Golang
AWS Lambda in GolangAWS Lambda in Golang
AWS Lambda in Golang
 
IaaSクラウド比較
IaaSクラウド比較IaaSクラウド比較
IaaSクラウド比較
 
Linuxサーバのセキュリティ対策 part2 - Apache編
Linuxサーバのセキュリティ対策 part2 - Apache編Linuxサーバのセキュリティ対策 part2 - Apache編
Linuxサーバのセキュリティ対策 part2 - Apache編
 
Terraformをいじってみて
TerraformをいじってみてTerraformをいじってみて
Terraformをいじってみて
 
AWA with Realm
AWA with RealmAWA with Realm
AWA with Realm
 
SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件SansanのEightアプリでRealmを導入した件
SansanのEightアプリでRealmを導入した件
 
Ansible softlayer
Ansible softlayer Ansible softlayer
Ansible softlayer
 
Java + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetupJava + React.jsでSever Side Rendering #reactjs_meetup
Java + React.jsでSever Side Rendering #reactjs_meetup
 
さくらのインフラコード
さくらのインフラコードさくらのインフラコード
さくらのインフラコード
 
Asakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test DriverAsakusaソースコードリーディング #4 – Asakusa Test Driver
Asakusaソースコードリーディング #4 – Asakusa Test Driver
 
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話しDevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
DevLOVE関西2016.2.5 地道にAWS構築自動化に取り組んでいるお話し
 
Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用Lineにおけるspring frameworkの活用
Lineにおけるspring frameworkの活用
 

Viewers also liked

地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり健一 辰濱
 
第2回webデザイナー向けcake php勉強会
第2回webデザイナー向けcake php勉強会第2回webデザイナー向けcake php勉強会
第2回webデザイナー向けcake php勉強会Shusuke Otomo
 
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例TechGardenSchool
 
CakePHP PHP Framework
CakePHP PHP FrameworkCakePHP PHP Framework
CakePHP PHP Frameworkryota ichie
 
Cake Php開発事例
Cake Php開発事例Cake Php開発事例
Cake Php開発事例柴田 篤志
 
リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌
リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌
リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌Takehito Tanabe
 
CakePHP を使ってよかったこと
CakePHP を使ってよかったことCakePHP を使ってよかったこと
CakePHP を使ってよかったことWataru Terada
 
ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発Takakiyo Tanaka
 
JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code ReadingShinobu Okano
 
JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御OSSラボ株式会社
 
【 ITベンチャーを支えるテクノロジー 】チャットワークを支える技術|Chatwork株式会社
【 ITベンチャーを支えるテクノロジー 】チャットワークを支える技術|Chatwork株式会社【 ITベンチャーを支えるテクノロジー 】チャットワークを支える技術|Chatwork株式会社
【 ITベンチャーを支えるテクノロジー 】チャットワークを支える技術|Chatwork株式会社leverages_event
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例健一 辰濱
 
Sbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞYoshitaka Fujii
 
DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法tkawashita
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Kengo Suzuki
 
Master of Canvas
Master of CanvasMaster of Canvas
Master of CanvasMima Yuki
 
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法Takao Sumitomo
 
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京Masayuki Abe
 
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応ak_shio_555
 

Viewers also liked (20)

地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
地方のサテライトオフィスで働くエンジニアの仕事と地域との関わり
 
第2回webデザイナー向けcake php勉強会
第2回webデザイナー向けcake php勉強会第2回webデザイナー向けcake php勉強会
第2回webデザイナー向けcake php勉強会
 
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
[超初心者向け無料セミナー] 1時間でまるわかり!CakePHP概説&WordPress応用事例
 
CakePHP PHP Framework
CakePHP PHP FrameworkCakePHP PHP Framework
CakePHP PHP Framework
 
Cake Php開発事例
Cake Php開発事例Cake Php開発事例
Cake Php開発事例
 
リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌
リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌
リモート勤務でエンジニアをやっているワケ 〜 AWS ジャパンツアー 2014年 夏 札幌
 
CakePHP を使ってよかったこと
CakePHP を使ってよかったことCakePHP を使ってよかったこと
CakePHP を使ってよかったこと
 
ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発ついに始まるJava EE 7時代のアプリケーション開発
ついに始まるJava EE 7時代のアプリケーション開発
 
JobScheduler Code Reading
JobScheduler Code ReadingJobScheduler Code Reading
JobScheduler Code Reading
 
JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御JobSchedulerでのジョブの多重実行・排他制御
JobSchedulerでのジョブの多重実行・排他制御
 
【 ITベンチャーを支えるテクノロジー 】チャットワークを支える技術|Chatwork株式会社
【 ITベンチャーを支えるテクノロジー 】チャットワークを支える技術|Chatwork株式会社【 ITベンチャーを支えるテクノロジー 】チャットワークを支える技術|Chatwork株式会社
【 ITベンチャーを支えるテクノロジー 】チャットワークを支える技術|Chatwork株式会社
 
Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例Sansan における Android アプリ自動テスト導入事例
Sansan における Android アプリ自動テスト導入事例
 
Sbtのマルチプロジェクトはいいぞ
SbtのマルチプロジェクトはいいぞSbtのマルチプロジェクトはいいぞ
Sbtのマルチプロジェクトはいいぞ
 
DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法DroidKaigi2016 windows環境での効率的なアプリ開発手法
DroidKaigi2016 windows環境での効率的なアプリ開発手法
 
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
Androidのセキュア開発について考えてみた(明日、敗訴しないためのセキュアコーディング.ver2)
 
Master of Canvas
Master of CanvasMaster of Canvas
Master of Canvas
 
用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法用途に合わせたアニメーションの実装方法
用途に合わせたアニメーションの実装方法
 
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
未来のwebに欠かせないREST APIをApache Solr + Drupal8で実装しよう@PHPカンファレンス2016 東京
 
パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応パーミッションモデルの過渡期への対応
パーミッションモデルの過渡期への対応
 
Diseño de mezclas
Diseño de mezclasDiseño de mezclas
Diseño de mezclas
 

Similar to Android 開発, 運用時に使いたいライブラリやサービスの紹介

Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト健一 辰濱
 
アプリの不具合を少なくするために
アプリの不具合を少なくするためにアプリの不具合を少なくするために
アプリの不具合を少なくするために健一 辰濱
 
Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730YoshiyukiKonno
 
AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)Akio Katayama
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しAkira Nagata
 
クラウドセキュリティ基礎
クラウドセキュリティ基礎クラウドセキュリティ基礎
クラウドセキュリティ基礎Masahiro NAKAYAMA
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampMasahiro NAKAYAMA
 
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack HinemosソリューションHinemos
 
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccampIoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccampMasahiro NAKAYAMA
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)NTT Resonant Technology Inc.
 
アプリ開発作業の効率改善
アプリ開発作業の効率改善アプリ開発作業の効率改善
アプリ開発作業の効率改善健一 辰濱
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbixsoftlayerjp
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menusharoid
 
楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由Rakuten Group, Inc.
 
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyPaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyKatsunori Kawaguchi
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)TIS Inc.
 
新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました
新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました
新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみましたSatoshi Yokoi
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 

Similar to Android 開発, 運用時に使いたいライブラリやサービスの紹介 (20)

Robotium を使った UI テスト
Robotium を使った UI テストRobotium を使った UI テスト
Robotium を使った UI テスト
 
アプリの不具合を少なくするために
アプリの不具合を少なくするためにアプリの不具合を少なくするために
アプリの不具合を少なくするために
 
DroidKaigi_devicefarm
DroidKaigi_devicefarmDroidKaigi_devicefarm
DroidKaigi_devicefarm
 
Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730Softlayerを申込んでみた参考資料 140730
Softlayerを申込んでみた参考資料 140730
 
AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)AWS re:Invent 2013 参加報告(新サービスとセッション)
AWS re:Invent 2013 参加報告(新サービスとセッション)
 
サーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話しサーバーレスで ガチ本番運用までやってるお話し
サーバーレスで ガチ本番運用までやってるお話し
 
クラウドセキュリティ基礎
クラウドセキュリティ基礎クラウドセキュリティ基礎
クラウドセキュリティ基礎
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
【HinemosWorld2014】B1-4_NTTデータ先端技術のOpenStack Hinemosソリューション
 
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccampIoT時代のセキュアなクラウドインフラ構築術 #seccamp
IoT時代のセキュアなクラウドインフラ構築術 #seccamp
 
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)リモート・スマホ・レンタル(第2回 Androidテスト祭り)
リモート・スマホ・レンタル(第2回 Androidテスト祭り)
 
アプリ開発作業の効率改善
アプリ開発作業の効率改善アプリ開発作業の効率改善
アプリ開発作業の効率改善
 
Automation with SoftLayer and Zabbix
Automation with SoftLayer and ZabbixAutomation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由楽天がCloud foundryを選んだ理由
楽天がCloud foundryを選んだ理由
 
PaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happyPaaS / Cloud Foundry makes you happy
PaaS / Cloud Foundry makes you happy
 
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
Scalable Generator: Using Scala in SIer Business (ScalaMatsuri)
 
新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました
新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました
新事業がどんどん出来て組織が拡大中のフェーズのランサーズがどんな感じでプロジェクトを回しているのかまとめてみました
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
Heroku Inside
Heroku InsideHeroku Inside
Heroku Inside
 

More from 健一 辰濱

地方創生ワカモノ会合
地方創生ワカモノ会合地方創生ワカモノ会合
地方創生ワカモノ会合健一 辰濱
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン健一 辰濱
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O 健一 辰濱
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について健一 辰濱
 
Android 開発の昔と今
Android 開発の昔と今Android 開発の昔と今
Android 開発の昔と今健一 辰濱
 
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩健一 辰濱
 
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支えるFirebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える健一 辰濱
 
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-onGDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on健一 辰濱
 
Firebase Summit 2019 Recap
Firebase Summit 2019 RecapFirebase Summit 2019 Recap
Firebase Summit 2019 Recap健一 辰濱
 
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話健一 辰濱
 
Firebase hands on in Matsuyama
Firebase hands on in MatsuyamaFirebase hands on in Matsuyama
Firebase hands on in Matsuyama健一 辰濱
 
インドのインターネット環境 との戦い方
インドのインターネット環境との戦い方インドのインターネット環境との戦い方
インドのインターネット環境 との戦い方健一 辰濱
 
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法健一 辰濱
 
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 ClosingDroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing健一 辰濱
 
企業スポンサー
企業スポンサー企業スポンサー
企業スポンサー健一 辰濱
 
参加したセッションの ピックアップ
参加したセッションのピックアップ参加したセッションのピックアップ
参加したセッションの ピックアップ健一 辰濱
 
CFP(Call For Paper) を出す話
CFP(Call For Paper)を出す話CFP(Call For Paper)を出す話
CFP(Call For Paper) を出す話健一 辰濱
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会健一 辰濱
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る健一 辰濱
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく健一 辰濱
 

More from 健一 辰濱 (20)

地方創生ワカモノ会合
地方創生ワカモノ会合地方創生ワカモノ会合
地方創生ワカモノ会合
 
Google Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオンGoogle Analytics のデータ分析ハンズオン
Google Analytics のデータ分析ハンズオン
 
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 Sansan Tech Meetup Androidエンジニアが振り返る Google I/O   Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
Sansan Tech Meetup Androidエンジニアが振り返る Google I/O
 
知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について知っておきたいFirebase の色んな上限について
知っておきたいFirebase の色んな上限について
 
Android 開発の昔と今
Android 開発の昔と今Android 開発の昔と今
Android 開発の昔と今
 
Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩Firebase Extensions はじめの一歩
Firebase Extensions はじめの一歩
 
Firebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支えるFirebase & BigQuery で Android アプリの成⻑を支える
Firebase & BigQuery で Android アプリの成⻑を支える
 
GDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-onGDG DevFest Tokyo 2019 Day2 Special Hands-on
GDG DevFest Tokyo 2019 Day2 Special Hands-on
 
Firebase Summit 2019 Recap
Firebase Summit 2019 RecapFirebase Summit 2019 Recap
Firebase Summit 2019 Recap
 
Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話Cloud Firestore を使って、Polling をやめたい話
Cloud Firestore を使って、Polling をやめたい話
 
Firebase hands on in Matsuyama
Firebase hands on in MatsuyamaFirebase hands on in Matsuyama
Firebase hands on in Matsuyama
 
インドのインターネット環境 との戦い方
インドのインターネット環境との戦い方インドのインターネット環境との戦い方
インドのインターネット環境 との戦い方
 
インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法インドの低速なネットワーク環境の攻略法
インドの低速なネットワーク環境の攻略法
 
DroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 ClosingDroidKaigi 2018 参加報告会 Closing
DroidKaigi 2018 参加報告会 Closing
 
企業スポンサー
企業スポンサー企業スポンサー
企業スポンサー
 
参加したセッションの ピックアップ
参加したセッションのピックアップ参加したセッションのピックアップ
参加したセッションの ピックアップ
 
CFP(Call For Paper) を出す話
CFP(Call For Paper)を出す話CFP(Call For Paper)を出す話
CFP(Call For Paper) を出す話
 
DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会DroidKaigi 2018 参加報告会
DroidKaigi 2018 参加報告会
 
DroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見るDroidKaigi アプリの内部を見る
DroidKaigi アプリの内部を見る
 
Java で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていくJava で書かれた Android アプリに Kotlin を適用させていく
Java で書かれた Android アプリに Kotlin を適用させていく
 

Android 開発, 運用時に使いたいライブラリやサービスの紹介

  • 1. Android 開発, 運用時に使いたい ライブラリやサービスの紹介 2016/07/02 オープンセミナー2016@香川 #osk2016 2016/07/02 @情報通信交流館 e-とぴあ かがわ 5F BBスクエア Tokushima.app & Sansan株式会社 辰濱健一
  • 2. Copyright © 2014 Sansan, Inc. All rights reserved. > Agenda 1 • 自己紹介 • ○○時に使いたい、ライブラリやサービスの紹介 • 開発 • テスト • 運用 ※あくまでも、ざっくりとした紹介のみです。 試用・導入にあたっては、本家のドキュメントを参照下さい。
  • 3. Copyright © 2014 Sansan, Inc. All rights reserved. 自己紹介 2
  • 4. Copyright © 2014 Sansan, Inc. All rights reserved. > 自己紹介 3 • 辰濱健一 • 徳島生まれ、奈良育ち • 2回転職するも、いずれも徳島県内勤務 • Tokushima.app 主催 (徳島でのスマホアプリの勉強会) • Sansan株式会社所属 • 古民家を改修した神山ラボ勤務 • 名刺アプリ Eight Android 版の開発 • Kotlin, RxJava, Realm, … を使ってます • リモートワーク • 趣味は楽器演奏
  • 5. Copyright © 2014 Sansan, Inc. All rights reserved. > Sansan神山ラボ 4
  • 6. Copyright © 2014 Sansan, Inc. All rights reserved. > 趣味 5 • 楽器演奏(エレクトーン・トランペット) • 県内のイベントでちらほら演奏する機会を頂いてます (明日もイベント出演です)
  • 7. Copyright © 2014 Sansan, Inc. All rights reserved. > Tokushima.app 6 • http://tokushima-app.connpass.com • 徳島のスマホアプリ開発の勉強会 • 基本もくもく会、たまにハンズオン • 場所は徳島市内、10:00〜16:00 • 初心者でも OK、入退出自由、参加費無料 • 月1ペースで開催(したいと思ってはいる) • 辰濱が東京の勉強会で仕入れてきた情報なども共有します • 要望あれば、近隣に出張ハンズオンなども始めようかな…とか思っている。
  • 8. Copyright © 2014 Sansan, Inc. All rights reserved. 開発時に使いたい ライブラリやサービス 7
  • 9. Copyright © 2014 Sansan, Inc. All rights reserved. > Support Library 8 • https://developer.android.com/topic/libraries/sup port-library/index.html • プラットフォーム本体の機能のバックポート • Fragment, Loader, **Compat • プラットフォーム本体には存在しない機能の追加 • Design Support Library • Floating Action Button • Navigation View • Tab Layout • 後方互換性担保のためにも、基本的に使おう!
  • 10. Copyright © 2014 Sansan, Inc. All rights reserved. > Support Annotations 9 • http://tools.android.com/tech-docs/support- annotations • Support Library 群の1つ • 引数の制約などを定義し、制約違反の場合は Android Studio 上に警告を出すことができる
  • 11. Copyright © 2014 Sansan, Inc. All rights reserved. > Stetho 10 • http://facebook.github.io/stetho/ • Facebook 製のライブラリ • Chrome DevTools を使って、以下のことができる • Network Inspection • Database Inspection • View Hierarchy
  • 12. Copyright © 2014 Sansan, Inc. All rights reserved. > Stetho Network Inspection 11 • 時系列の通信状況やレスポンスがわかる • OkHttp などの通信クライアントに Stetho をかますと使える
  • 13. Copyright © 2014 Sansan, Inc. All rights reserved. > Stetho Database Inspection 12 • 端末内 DB の SQLite のテーブルの内容が確認できる • 端末内キャッシュ(SharedPreference)も同様に確認できる • 値の書き換えも可能(だったはず…)
  • 14. Copyright © 2014 Sansan, Inc. All rights reserved. > Stetho View Hierarchy 13 ↓エミュレータ (横に並べただけ) • View 階層を確認でき、各要素のプロパティも確認できる • 選択中の要素が端末上で色が付く • 値の書き換え&反映も可能
  • 15. Copyright © 2014 Sansan, Inc. All rights reserved. > Realm 14 • https://realm.io/jp/ • 高速に動作し、使いやすく、無料の DB • 暗号化、変更通知、マイグレーション対応 • 日本語でのサポート対応 • シリアライズされた DB ファイルは、iOS / Android などどのプラットフォームでも利用可能
  • 16. Copyright © 2014 Sansan, Inc. All rights reserved. > Realm 15 • SQL の記述は不要 • クエリ文も簡潔
  • 17. Copyright © 2014 Sansan, Inc. All rights reserved. > Stetho-Realm 16 • https://github.com/uPhyca/stetho-realm • Stetho で Realm DB を扱えるようになる • uPhyca の @zaki50 さん製 • Sansan 株式会社の Android の技術顧問 • 先日の Google I/O 2016 Extended 四国 にいらっしゃってました。
  • 18. Copyright © 2014 Sansan, Inc. All rights reserved. > Jenkins 17 • https://jenkins.io/ • CI です。 • 決まり切った手順は人手でやらず自動化 • ビルドやテストなどのジョブの定期実行 • テストバイナリの作成・配信 • 本番バイナリの作成 • ジョブ(手順)を登録しておくと、定義したタイミングで実行 してくれる • コミットがあったとき • 定刻 • 手動 • 同様のサービス:Circle CI
  • 19. Copyright © 2014 Sansan, Inc. All rights reserved. > Lint 18 • http://tools.android.com/tips/lint • Android SDK tools に同梱されている、静的コード解 析ツール • 検出内容 • 未翻訳文言 • レイアウトパフォーマンス • 未使用文言 • などなど • コマンドライン(や Gradle)から実行できる • ./gradlew lint
  • 20. Copyright © 2014 Sansan, Inc. All rights reserved. > Jenkins Android Lint Plugin 19 • https://wiki.jenkins- ci.org/display/JENKINS/Android+Lint+Plugin • Jenkins の Lint Plugin • Lint の結果の推移をグラフィカルに表示
  • 21. Copyright © 2014 Sansan, Inc. All rights reserved. > Android Studio Inspect Code 20 • Android Studio の静的コード解析ツール • Analyze > Inspect Code • Lint よりも検査項目が多い • IDE による修正アシストもある
  • 22. Copyright © 2014 Sansan, Inc. All rights reserved. > Android Studio Inspect Code 21 • IDE による修正アシスト Alt + Enter 不要な null チェックが除去される
  • 23. Copyright © 2014 Sansan, Inc. All rights reserved. > Infer 22 • http://fbinfer.com/ • Facebook 製、静的コード解析ツール • 指摘内容 • CONTEXT_LEAK • NULL_DEREFERENCE • RESOURCE_LEAK • 結果は CSV, Json で出力される • Android Studio Inspect Code での内容と重複するとこ ろもあるが、Inspect Code にない指摘もある
  • 24. Copyright © 2014 Sansan, Inc. All rights reserved. > QARK 23 • https://github.com/linkedin/qark • LinkedIn 製、セキュリティチェックツール • 指摘内容 • export されたコンポーネント • WebView の設定 • Intent のセキュリティ • 弱い暗号方式の利用 など… • 結果は html で出力される
  • 25. Copyright © 2014 Sansan, Inc. All rights reserved. > Genymotion 24 • https://www.genymotion.com/ • 軽量なエミュレータ (最近は本家のエミュレータも進化してる) • Android Studio からもデバッグ可能 • ウィンドウサイズを変えると画面が縮小してくれるの が好き • ※Android N の マルチウィンドウのリサイズのことではない
  • 26. Copyright © 2014 Sansan, Inc. All rights reserved. 25
  • 27. Copyright © 2014 Sansan, Inc. All rights reserved. > Firebase – Authentication 26 • https://firebase.google.com/docs/auth/ • Google I/O 2016 で新バージョンが発表された • 色んな機能がある • 様々な認証機能を簡単に組み込むことができる • 大手:Facebook, GitHub, Google, Twitter • パスワード:ユーザ登録&認証 • 自前の認証機構
  • 28. Copyright © 2014 Sansan, Inc. All rights reserved. > Firebase – Realtime Database 27 • https://firebase.google.com/docs/database/ • NoSQL JSON データベース • 同じデータを持っている端末に即座に同期してくれる • オフライン編集でも、オンラインになったら同期して くれる • ファイルへのアクセス権制御は、 前述の Firebase Authentication を使う • 利用シーン • 端末をまたいだ、ユーザ設定値(Key, Value)の同期
  • 29. Copyright © 2014 Sansan, Inc. All rights reserved. > Firebase – Storage 28 • https://firebase.google.com/docs/storage/ • ファイルのアップロード・ダウンロード機能を提供 • ファイルへのアクセス権制御は、 前述の Firebase Authentication を使う • Upload, Download の接続が中断されても自動で再開 できる • ペタバイトのデータを保存できる
  • 30. Copyright © 2014 Sansan, Inc. All rights reserved. > Firebase – Remote Config 29 • https://firebase.google.com/docs/remote-config/ • Firebase 側の値を変更のみで、アプリの動作をカスタ マイズできる • セグメント毎に値を変更することも可能 • 日本国内のユーザ:Value1、海外:Value2 • Android 5.0 以上の男性のユーザ:… • 利用シーン • A/B テスト • 閾値の変更 • メンテナンスモードへの切り替え
  • 31. Copyright © 2014 Sansan, Inc. All rights reserved. テスト時に使いたい ライブラリやサービス 30
  • 32. Copyright © 2014 Sansan, Inc. All rights reserved. > Robolectric 31 • http://robolectric.org • Android Test だと、テスト用アプリをビルドして実機 に転送して実行していた。 • Android フレームワークに依存しない、ロジック部分 のテストを JVM 上で実行させる • これにより、 ・テストビルドの高速化 ・テストの高速実行 が実現する
  • 33. Copyright © 2014 Sansan, Inc. All rights reserved. > Espresso 32 • https://google.github.io/android-testing-support- library/docs/espresso/ • UI 操作や UI の状態のテストを記述できるライブラリ • Android Studio 2.2 からは、Excel のマクロ記録のよ うに、Record Espresso Test が可能に! “Steve” を入力 ボタンクリック 表示チェック
  • 34. Copyright © 2014 Sansan, Inc. All rights reserved. > Fabric - beta 33 • https://get.fabric.io • 色んな機能があるが、テスターに開発中のバイナリを 配信するのに便利 • Gradle プラグインがあり、ビルドしたものを自動的に Fabric へのアップロードまでしてくれる • テスターがバイナリを端末にインストールするのも簡 単 • バイナリのクラッシュ状況を確認できる • 同等サービス:Google Play α版/β版 テスト
  • 35. Copyright © 2014 Sansan, Inc. All rights reserved. > Fabric 端末へのイントール 34 • 専用アプリへテストバイナリの配信情報が来る • テストアプリを選択して、バイナリを選択するとインストールさ れる • iOS アプリの配信も可能
  • 36. Copyright © 2014 Sansan, Inc. All rights reserved. > Fabric 35 • テスト版配布のダッシュボード テスター 進捗 クラッシュ状況
  • 37. Copyright © 2014 Sansan, Inc. All rights reserved. > Fabric 36 • クラッシュ情報 スタックトレース 端末情報 ↑件数 時間→ 件数・人数
  • 38. Copyright © 2014 Sansan, Inc. All rights reserved. > AWS Device Farm 37 • https://aws.amazon.com/jp/device-farm/ • クラウド上の実機でテストが行える • テスト端末を買わなくても時間借りができる (0.17$/Device・minute) • Espresso 等で書いた UI テストの実行に最適 • テストを書かなくても、リモートアクセスも可能 (ブラウザからジェスチャ等の操作ができる) • 同様のサービス:Firebase Test Lab
  • 39. Copyright © 2014 Sansan, Inc. All rights reserved. > AWS Device Farm – Remote Access (beta) 38 • ブラウザ上のマウスで操作可能 ↑アプリをアップロード ↑物理ボタン
  • 40. Copyright © 2014 Sansan, Inc. All rights reserved. 39
  • 41. Copyright © 2014 Sansan, Inc. All rights reserved. > Firebase Test Lab 40 • https://firebase.google.com/docs/test-lab/ • ほぼ、AWS Device Farm と同様 (リモートアクセスはないかも…)
  • 42. Copyright © 2014 Sansan, Inc. All rights reserved. > Google Play 段階的公開(アップデート) 41 • https://support.google.com/googleplay/android- developer/answer/6346149 • 一定の割合のユーザのみにアップデートを配信する • 割合の調整はできるが、ターゲットの選定はできない • 時間をかけて徐々に配信することで、アップデート版 の品質を監視しながらリリースできる
  • 43. Copyright © 2014 Sansan, Inc. All rights reserved. 運用時に使いたい ライブラリやサービス 42
  • 44. Copyright © 2014 Sansan, Inc. All rights reserved. > Fabric - Crashlytics 43 • https://get.fabric.io • 前述のテスト版配信のように色んな機能があるが、ク ラッシュ状況やイベントの状況を確認できる • クラッシュが一定数を超えるとメールで知らせてくれ る クラッシュ箇所 アプリバージョン 期間
  • 45. Copyright © 2014 Sansan, Inc. All rights reserved. > Fabric - Answers 44 • https://get.fabric.io • DAU, MAU などの推移を確認できる • イベントトラッキングも行える
  • 46. Copyright © 2014 Sansan, Inc. All rights reserved. 45
  • 47. Copyright © 2014 Sansan, Inc. All rights reserved. > Firebase – Analytics 46 • 様々な分析を統合的に行える (今まではそれぞれ別々のサービスで提供されて いることが多く、連携が難しかった) • アプリ内の行動分析 • 広告やキャンペーンの効果分析 • クラッシュレポート • ログの保存は無制限で無料 • データエクスポートも可能
  • 48. Copyright © 2014 Sansan, Inc. All rights reserved. 47 ライブラリやサービスを使って アプリの開発・運用を 速く・楽にしよう!
  • 49. Copyright © 2014 Sansan, Inc. All rights reserved. 48
  • 50. Copyright © 2014 Sansan, Inc. All rights reserved. 49 これらのライブラリやサービスの ハンズオンやるかも? Tokushima.app http://tokushima-app.connpass.com