androidアプリ開発を楽にするために
DESCRIPTION
Android開発におけるノウハウ共有TRANSCRIPT
![Page 1: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/1.jpg)
辛いANDROIDアプリ開発を少しでも楽にするために。
株式会社エクストーン勉強会 2012/09/28 高谷秀一
![Page 2: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/2.jpg)
自己紹介
主なお仕事: MyDocomoアプリのメンテナンスをしてます。 (https://play.google.com/store/apps/details?id=jp.co.nttdocomo.mydocomo) 略歴: デジタル放送 → iアプリ → ソーシャルゲーム → Androidアプリ(いまここ) Twitter ID:@stakaya
![Page 3: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/3.jpg)
アジェンダ
開発環境を改善しよう
仕様やデザインとのすり合わせをしよう
アプリをどう作るべきか
リリースしてから何をするべきか
補足
![Page 4: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/4.jpg)
開発環境を改善しよう
エミュレータが重い。
![Page 5: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/5.jpg)
Intel版のエミュレータを使おう
Intel版のエミュレータが出たおかけでエミュレータは実機並みのスピードになった
現状Android2.3・4.0・4.1のみですが、開発には充分。
Windows・Mac・Linuxに対応
使用するには別途アプリIntel® Hardware Accelerated Execution Managerをインストールが必要
WindowsはBios上でVTを有効に
Virtual Boxとは相性が悪い
![Page 6: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/6.jpg)
開発環境を改善しよう
共同作業がむずかしい。
![Page 7: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/7.jpg)
共同作業の準備をする
デバッグ用の署名を作る
SVN/GITにeclipseが自動生成するファイルをアップしないルールを周知する
![Page 8: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/8.jpg)
開発環境を改善しよう
機種が多くてテスト工数がハンパない。
![Page 9: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/9.jpg)
バグが出やすい機種からテスト
LGの機種(特にL-04C、L-06C)
シャープの機種全般(やや癖がある)
新OSがリリースされた機種
Sony、Samsungは開発しやすい
![Page 10: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/10.jpg)
仕様やデザインとのすり合わせをしよう
画面作るのが面倒くさい。
![Page 11: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/11.jpg)
画面は使い捨てと割り切る
レイアウトファイルを再利用するのは手間
毎回作り直したほうが早い
HTMLが書ければXMLのレイアウトファイルは難しくない
画面作成ツールはあてにならないので手書きで書くのが良い
Fragmentsは慣れるまで使わないほうが良い
![Page 12: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/12.jpg)
仕様やデザインとのすり合わせをしよう
解像度とか画面サイズが沢山あって統一感が保てない。
![Page 13: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/13.jpg)
デザインと同じには表示できない
レイアウトは伸縮性を考慮して
縦横に伸びた時にも見栄えがするデザインにする必要がある
画像は9patchを使う
![Page 14: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/14.jpg)
アプリをどう作るべきか
アプリが落ちたら。
![Page 15: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/15.jpg)
大体がメモリ不足か AndroidManifestファイルの問題
アプリが異常終了する時はManifestファイルを確認する
次にレイアウトファイルを確認(idのミスが結構多い)
異常終了しないで終了しない場合はメモリ不足
![Page 16: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/16.jpg)
アプリをどう作るべきか
動作がもっさりする。
![Page 17: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/17.jpg)
普段から意識すること
使い終わった変数にはnullを入れる
ダイアログ表示以外でActivityのthisは引数として渡さない
Contextの参照はApplicationContextを使う
画面は5秒以内にレスポンスを返す(UIスレッドで重い処理をしない)
BuildConfigを使ってデバッグとリリースのコードを切り分けておく
![Page 18: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/18.jpg)
WebViewでUIを作ると遅い
WebViewを過信しない
WebView上でオーバレイしない
フリックイベントはJavascriptでハンドリングしない
Javascriptは極力使わないで、jqueryも必要な部分だけ読み込む
HTMLを何度も読み込まない
![Page 19: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/19.jpg)
リリースしてから何をするべきか
太っていると嫌われる。
![Page 20: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/20.jpg)
容量の大きいアプリはすぐ消される
リソースの大半が画像
画像は必要な部分だけ作る
解像度(mdpi・hdpi・xhdpi)・レイアウト(land・port)・画面幅(large・xlarge)を確認
jpeg mini等を使って画像の容量を削る
![Page 21: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/21.jpg)
リリースしてから何をするべきか
人の話をよく聞く。
![Page 22: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/22.jpg)
![Page 23: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/23.jpg)
Google Playのコメントをよく読む
大体はどうでもいいコメント
稀に的確な指摘が混じっている
マメにコメントを読んで優秀なユーザのコメントを真摯に受け止める
リリース後はバグ報告が無いかチェックする
権限変更にはかなりセンシティブ
![Page 24: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/24.jpg)
まとめ
開発環境は日進月歩で改善されている
だが時間と共に機種も増える
OSや機種の変化も早い
全ての機種に対応するのは不可能!
開発サイクルも早くなり、機能を継ぎ足しで開発を進めがち
初期開発時にロードマップを作成しておくと良い(どのような機能が追加される可能性があるかを考えておく)
![Page 25: Androidアプリ開発を楽にするために](https://reader033.vdocuments.pub/reader033/viewer/2022052908/559533321a28ab965f8b4663/html5/thumbnails/25.jpg)
補足
よく見ているサイト
(http://y-anz-m.blogspot.jp/)
インテルのHAXMダウンロードサイト(http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/)