SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Androidアプリ開発
2015/02/12(Thu)
しくみ製作所 VP kamoc
Android開発経験
2011 2013 2014 2014 2015 鋭意制作中!
即興でマスクを作
成できるカメラアプ
リ
あの花っぽいライ
ブ壁紙アプリ
歌うルンバ
アプリ
移動距離でポイン
トが貯まって懸賞
に応募できるアプ
リ
動画リアルタイム
配信プラットフォー
ム
Contents
各開発フェーズを簡単に紹介
1. 要件定義
2. 設計
3. 開発
4. テスト
5. リリース
1. 要件定義
Android開発でよくある要望と対策
よくある要望
1. スマホ/タブレット両対応させてほしい
2. 古い端末でも動くようにしてほしい
3. iOSでも同じサービスを提供したい
できるだけたくさんの人が使えるように!
カバー率とコストはトレードオフ
● 実装コスト
○ カバー率を上げるための実装が増える
● 試験コスト
○ 試験実施にかかるコスト
○ 試験端末の用意にかかるコスト
● サポートコスト
○ 「中華パッドで動かない!ふざけるな!」 ...orz
必要なのは「切り捨てる勇気」
● 絞り込む要素
○ Platform Version
○ 画面解像度
○ 端末機能の有無
● アプリケーション側で定義
○ 対象外端末ではPlayStoreからインストールできない
Platform Version
● Android APIのVersion
● Versionが上がると...
○ 新機能の追加
○ 非推奨機能の削除
● 変更があったAPIを利用する場
合、各Versionに合わせた分岐が
必要
Platform Version の選定
● 公式で各Versionのシェアを公開
● シェアと実装コストを考慮して対象を限定
2015/02/08時点での Platform Version のシェア
引用元: https://developer.android.com/about/dashboards/index.html
Androidアプリの実装方式
● ネイティブアプリ
○ Android API を利用してJavaで実装
○ 端末の性能をフルに活用することができる
○ iOSとは完全に別実装
● WebViewを用いたアプリ
○ アプリにブラウザを埋め込んだような感じ
○ HTML/CSS/JavaScript で実装
○ iOSと共通化しやすい
2. 設計
マテリアルデザインに苦しむ開発者達
Google謹製のアプリに変化が...
マテリアルデザイン
● Googleが提唱したデザインのガイドライン
○ ガイドラインに従ったアプリケーションを開発することが
Google様より推奨されている
● Platform Version 5(lolipop)からAPI利用可
○ lolipopの普及率 1.6 %
○ lolipop未満でもマテリアルデザインに準拠しなければな
らない(これが鬼畜)
マテリアルデザインガイドライン
http://www.google.com/design/spec/material-design/introduction.html
作者を苦しめるマテリアルデザイン
● lolipop用実装とそれ未満の実装の両方が必要
● lolipop未満でマテリアルデザインを実現するた
めのライブラリ/サンプルが多数存在
○ ライブラリの比較検討は慎重に
■ ライセンスは?
■ やりたいことは実現できるのか?
■ 手を加えやすいのか?(まともな作りなのか)
○ 自前実装は最終手段
3. 開発
Androidアプリを構成するファイル達
Androidアプリの構成
1. Manifest
a. アプリが何者なのかを定義するファイル
2. Source
a. Javaプログラム
3. Resource
a. レイアウト定義ファイル
b. 画像ファイル
c. 定数ファイル
Manifest
● AndroidManifest.xml
○ アプリ自身を定義するXMLファイル
■ 動作条件の定義
● Platform Version
● 利用するハードウェア
● 利用する機能(例: ネットワーク通信を行う)
■ バージョン情報
■ Activity情報(後述)
Activityとは
● アプリの1画面を表すもの
画面
Activityの存在を定義 Activityの挙動を定義
Activityのレイアウトを
定義
AndroidManifest.xml AirtimeActivity.java
Manifest Source Resource
airtime_activity.xml
良いActivityとは
● SourceとResouceを適切に切り分けている
○ Sourceでのレイアウト調整は保守性を下げる
■ JSでレイアウトをいじるのと一緒
● レイアウトの値をハードコードしない
○ 要素のpadding値などはアプリ内で共通
■ 定数ファイルに定義して利用する
開発環境(Android Studio vs Eclipse)
● Android Studio
○ Google が提供するAndroid開発用IDE
● Eclipse + Android Plugin
○ Java開発の王道
Android Studioが断然オススメ
● Source, Resource, Manifest 間の依存関係の
理解が優秀
○ Eclipseだとリネーム時に依存関係が壊れる
● Maven Repositoryの使い勝手が良い
○ gradleファイルに1行追加するだけ
動作確認
● エミュレータ(仮想デバイス)を利用
○ SDKデフォルトのエミュレータは重すぎる
○ Genymotionを使いましょう
■ https://www.genymotion.com/
4. テスト
テストに使うツールの紹介
テスティングツール
● JUnit
○ Javaの単体試験フレームワーク
● Espresso
○ UI試験ツール
○ Google MapsやDriveの試験にも使われたらしい
テストコード書かないと...orz
5. リリース
Google Play Developer Console 紹介

Weitere ähnliche Inhalte

Andere mochten auch

Andere mochten auch (10)

Webサービスを分類してみた
Webサービスを分類してみたWebサービスを分類してみた
Webサービスを分類してみた
 
コミュニティーマネージャー
コミュニティーマネージャーコミュニティーマネージャー
コミュニティーマネージャー
 
クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介クライアントサイドjavascript簡単紹介
クライアントサイドjavascript簡単紹介
 
マジシャン視点で考える心理術
マジシャン視点で考える心理術マジシャン視点で考える心理術
マジシャン視点で考える心理術
 
Vim活用術 初級編
Vim活用術 初級編Vim活用術 初級編
Vim活用術 初級編
 
グロースハックのマインドセット
グロースハックのマインドセットグロースハックのマインドセット
グロースハックのマインドセット
 
Startup Science ⑤
Startup Science ⑤Startup Science ⑤
Startup Science ⑤
 
Startup Science ④
Startup Science ④Startup Science ④
Startup Science ④
 
解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS
 
ネイティブアプリにおける、UI/インタラクションのトレンド
ネイティブアプリにおける、UI/インタラクションのトレンドネイティブアプリにおける、UI/インタラクションのトレンド
ネイティブアプリにおける、UI/インタラクションのトレンド
 

Ähnlich wie Androidアプリ開発

第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
Shuichi Yukimoto
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
Tak Inamori
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
sharoid
 
smartphone test (know how & tools)
smartphone test (know how & tools)smartphone test (know how & tools)
smartphone test (know how & tools)
Yukio Andoh
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_like
Yutaka Tsumori
 

Ähnlich wie Androidアプリ開発 (20)

iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会第2回ビジネスモバイル研究会
第2回ビジネスモバイル研究会
 
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
もう怖くないモバイルアプリ開発!【デブサミ関西2014】もう怖くないモバイルアプリ開発!【デブサミ関西2014】
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
 
ABC2012Spring 20120324
ABC2012Spring 20120324ABC2012Spring 20120324
ABC2012Spring 20120324
 
20110824 android apps_tanaka
20110824 android apps_tanaka20110824 android apps_tanaka
20110824 android apps_tanaka
 
Androidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーションAndroidが起こしたオープン・イノベーション
Androidが起こしたオープン・イノベーション
 
Sharoid Service Menu
Sharoid Service MenuSharoid Service Menu
Sharoid Service Menu
 
smartphone test (know how & tools)
smartphone test (know how & tools)smartphone test (know how & tools)
smartphone test (know how & tools)
 
Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)Androidリリース作業の効率化(2)
Androidリリース作業の効率化(2)
 
HTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminarHTML5/JavaScriptで作るAndroidアプリ開発seminar
HTML5/JavaScriptで作るAndroidアプリ開発seminar
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
Android Wearアプリ開発経験談
Android Wearアプリ開発経験談Android Wearアプリ開発経験談
Android Wearアプリ開発経験談
 
iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術iPhone/Android アプリをまとめて省エネ開発する技術
iPhone/Android アプリをまとめて省エネ開発する技術
 
Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談Cordova利用アプリ開発経験談
Cordova利用アプリ開発経験談
 
プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1プロ文.com 勉強会 Phase 1
プロ文.com 勉強会 Phase 1
 
スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向スマートフォンアプリケーション開発の最新動向
スマートフォンアプリケーション開発の最新動向
 
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
iアプリつくろうぜ!~20101020 DevLOVE Android勉強会~
 
20120922 wdc with_ms_like
20120922 wdc with_ms_like20120922 wdc with_ms_like
20120922 wdc with_ms_like
 
内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー内蔵化、モバイル化に向かうDepthセンサー
内蔵化、モバイル化に向かうDepthセンサー
 

Androidアプリ開発