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