androidアプリ開発を楽にするために

25
辛いANDROIDアプリ開発を少しで も楽にするために。 株式会社エクストーン勉強会 2012/09/28 高谷秀一

Upload: shuichi-takaya

Post on 02-Jul-2015

2.154 views

Category:

Technology


4 download

DESCRIPTION

Android開発におけるノウハウ共有

TRANSCRIPT

Page 1: Androidアプリ開発を楽にするために

辛いANDROIDアプリ開発を少しでも楽にするために。

株式会社エクストーン勉強会 2012/09/28 高谷秀一

Page 2: Androidアプリ開発を楽にするために

自己紹介

主なお仕事: MyDocomoアプリのメンテナンスをしてます。 (https://play.google.com/store/apps/details?id=jp.co.nttdocomo.mydocomo) 略歴: デジタル放送 → iアプリ → ソーシャルゲーム → Androidアプリ(いまここ) Twitter ID:@stakaya

Page 3: Androidアプリ開発を楽にするために

アジェンダ

開発環境を改善しよう

仕様やデザインとのすり合わせをしよう

アプリをどう作るべきか

リリースしてから何をするべきか

補足

Page 4: Androidアプリ開発を楽にするために

開発環境を改善しよう

エミュレータが重い。

Page 5: Androidアプリ開発を楽にするために

Intel版のエミュレータを使おう

Intel版のエミュレータが出たおかけでエミュレータは実機並みのスピードになった

現状Android2.3・4.0・4.1のみですが、開発には充分。

Windows・Mac・Linuxに対応

使用するには別途アプリIntel® Hardware Accelerated Execution Managerをインストールが必要

WindowsはBios上でVTを有効に

Virtual Boxとは相性が悪い

Page 6: Androidアプリ開発を楽にするために

開発環境を改善しよう

共同作業がむずかしい。

Page 7: Androidアプリ開発を楽にするために

共同作業の準備をする

デバッグ用の署名を作る

SVN/GITにeclipseが自動生成するファイルをアップしないルールを周知する

Page 8: Androidアプリ開発を楽にするために

開発環境を改善しよう

機種が多くてテスト工数がハンパない。

Page 9: Androidアプリ開発を楽にするために

バグが出やすい機種からテスト

LGの機種(特にL-04C、L-06C)

シャープの機種全般(やや癖がある)

新OSがリリースされた機種

Sony、Samsungは開発しやすい

Page 10: Androidアプリ開発を楽にするために

仕様やデザインとのすり合わせをしよう

画面作るのが面倒くさい。

Page 11: Androidアプリ開発を楽にするために

画面は使い捨てと割り切る

レイアウトファイルを再利用するのは手間

毎回作り直したほうが早い

HTMLが書ければXMLのレイアウトファイルは難しくない

画面作成ツールはあてにならないので手書きで書くのが良い

Fragmentsは慣れるまで使わないほうが良い

Page 12: Androidアプリ開発を楽にするために

仕様やデザインとのすり合わせをしよう

解像度とか画面サイズが沢山あって統一感が保てない。

Page 13: Androidアプリ開発を楽にするために

デザインと同じには表示できない

レイアウトは伸縮性を考慮して

縦横に伸びた時にも見栄えがするデザインにする必要がある

画像は9patchを使う

Page 14: Androidアプリ開発を楽にするために

アプリをどう作るべきか

アプリが落ちたら。

Page 15: Androidアプリ開発を楽にするために

大体がメモリ不足か AndroidManifestファイルの問題

アプリが異常終了する時はManifestファイルを確認する

次にレイアウトファイルを確認(idのミスが結構多い)

異常終了しないで終了しない場合はメモリ不足

Page 16: Androidアプリ開発を楽にするために

アプリをどう作るべきか

動作がもっさりする。

Page 17: Androidアプリ開発を楽にするために

普段から意識すること

使い終わった変数にはnullを入れる

ダイアログ表示以外でActivityのthisは引数として渡さない

Contextの参照はApplicationContextを使う

画面は5秒以内にレスポンスを返す(UIスレッドで重い処理をしない)

BuildConfigを使ってデバッグとリリースのコードを切り分けておく

Page 18: Androidアプリ開発を楽にするために

WebViewでUIを作ると遅い

WebViewを過信しない

WebView上でオーバレイしない

フリックイベントはJavascriptでハンドリングしない

Javascriptは極力使わないで、jqueryも必要な部分だけ読み込む

HTMLを何度も読み込まない

Page 19: Androidアプリ開発を楽にするために

リリースしてから何をするべきか

太っていると嫌われる。

Page 20: Androidアプリ開発を楽にするために

容量の大きいアプリはすぐ消される

リソースの大半が画像

画像は必要な部分だけ作る

解像度(mdpi・hdpi・xhdpi)・レイアウト(land・port)・画面幅(large・xlarge)を確認

jpeg mini等を使って画像の容量を削る

Page 21: Androidアプリ開発を楽にするために

リリースしてから何をするべきか

人の話をよく聞く。

Page 22: Androidアプリ開発を楽にするために
Page 23: Androidアプリ開発を楽にするために

Google Playのコメントをよく読む

大体はどうでもいいコメント

稀に的確な指摘が混じっている

マメにコメントを読んで優秀なユーザのコメントを真摯に受け止める

リリース後はバグ報告が無いかチェックする

権限変更にはかなりセンシティブ

Page 24: Androidアプリ開発を楽にするために

まとめ

開発環境は日進月歩で改善されている

だが時間と共に機種も増える

OSや機種の変化も早い

全ての機種に対応するのは不可能!

開発サイクルも早くなり、機能を継ぎ足しで開発を進めがち

初期開発時にロードマップを作成しておくと良い(どのような機能が追加される可能性があるかを考えておく)