概要
Androidアプリケーション開発の競争が激化する中,限られた時間と資源でいかに効率よく開発を行うか……開発者にはそのためのアイデアやテクニックが強く求められています。
本書は月刊誌「Software Design」の人気記事の中から,Androidアプリケーションの開発ノウハウや,ADK/ADBを使ったハードとソフト両方の知識を持つエンジニアになるための基礎などをオムニバス形式で1冊にまとめました。
さらに渾身の書き下ろしは,開発者にとって生命線ともなる開発環境について,開発の効率をあげるツールの使い方を詳しく紹介します。使い慣れた環境を見直すにはそれなりの時間と労力が必要ですが,UIのデザインやテスト,コードに含まれる潜在的な問題の検出,パフォーマンス測定,実機を使った検証など,OSのバージョン以上に細かくアップデートされている開発環境を一度チェックしてみてください!
こんな方におすすめ
- Androidアプリ開発を仕事にしている,もしくはしようとしている方
- Androidアプリ開発の知識をハードウェア制御に生かしてみたい方
著者リスト
江川 崇/有山 圭二/日高 正博/谷口 岳/藤瀬 邦彦/新田 健/高橋 輝/竹本 浩/正 健太朗/中西 葵/重村 浩二/嶋崎 聡/高木 基成/寺園 聖文/渡辺 知男/新里 祐教/吉田 研一
目次
Chapter1
開発環境を見直して開発効率を上げよう!
- Section1:ツールを使いこなしてサクサク開発! 開発効率を向上させるAndroid開発ツールの機能……江川 崇
- Section2:推定するな。測定せよ パフォーマンス測定ツールとアプリの改善……有山 圭二
- Section3:最終段階の品質向上やパフォーマンス改善に! 開発に実機を活用する……日高 正博
Chapter2
2.x世代を考慮した受託開発に学ぶ
- Section1:“安く,早く,高品質に”の三重苦との闘い Androidアプリ受託開発の実情……谷口 岳
- Section2:UIや画面サイズの違い/カメラやGPSは機種依存あり! 機種の差異による動作不良を避けるテクニック……藤瀬 邦彦,新田 健
- Section3:既存のWebの資産を活かせてメンテもしやすい WebView有効活用のススメ……高橋 輝
- Section4:データ設計/クラス設計/難読化/アップデート通知 バージョンアップを考慮した初期開発の重要性……藤瀬 邦彦
- Section5:画面作成/デモ作成/製品化に備えた単体テスト プロトタイプ開発で使う「Titanium Mobile」……竹本 浩
- Section6:改良の継続がアプリの魅力を高める 「Flurry Analytics」でアプリ統計情報を分析しよう……正 健太朗
- Section7:Androidアプリ開発を楽しい仕事にするために 技術を仕事に結びつける10のヒント……中西 葵
Chapter3
プラグイン対応アプリの作り方
- Section1:twiccaとSimejiに学ぶ 拡張可能なアプリ設計手法[前編]……重村 浩二
- Section2:twiccaとSimejiに学ぶ 拡張可能なアプリ設計手法[後編]……重村 浩二
Chapter4
マルチプラットフォーム開発の活用
- Section1:JavaScript/Ruby/Lua/C#/C++ 多彩なマルチプラットフォーム開発環境を知ろう……嶋崎 聡
- Section2:Rhodes入門 Rubyで作るAndroidアプリ[前編]……嶋崎 聡
- Section3:Rhodes入門 Rubyで作るAndroidアプリ[後編]……嶋崎 聡
- Section4:コンシューマゲーム機市場に参入できる! PlayStation VitaとAndroidゲームの同時開発……嶋崎 聡
Chapter5
Androidが身近にするハードウェア制御
- Section1:Arduinoや自作ロボットの制御をしてみよう 知っておきたいADKの基礎知識[前編]……高木 基成,寺園 聖文
- Section2:Arduinoや自作ロボットの制御をしてみよう 知っておきたいADKの基礎知識[後編]……寺園 聖文
- Section3:ADK+Arduino+Socket.IO Webブラウザから制御する製品のプロトタイプを作ってみる……渡辺 知男
- Section4:Kinectのような入力を制御する Androidで始めるNUIアプリケーション……新里 祐教
- Section5:古いAndroidケータイを活用できる ADB接続でかんたんフィジカルコンピューティング[前編]……吉田 研一
- Section6:古いAndroidケータイを活用できる ADB接続でかんたんフィジカルコンピューティング[後編]……吉田 研一
Chapter6
ソースコードリーディング
- Section1:Android SDKこそ生きた教材 ホームアプリのソースコードで学ぶ良いアプリの書き方[#1]……嶋崎 聡
- Section2:Android SDKこそ生きた教材 ホームアプリのソースコードで学ぶ良いアプリの書き方[#2]……嶋崎 聡
- Section3:Android SDKこそ生きた教材 ホームアプリのソースコードで学ぶ良いアプリの書き方[#3]……嶋崎 聡
サポート
ダウンロード
記事で紹介したアプリケーションのサンプルコードがダウンロードできます。zipファイルを解凍し,開発環境が整ったEclipseでプロジェクトファイルを読み込んでお使いください。詳細は記事をご参照のこと。
P.80 Chapter 3 - Section 1
- ダウンロード
- ClipKeyword.zip
- ClipRoom.zip
P.87 Chapter 3 - Section 2
- ダウンロード
- MashApp.zip
- CountApp.zip
- CountServer.zip
正誤表
弊社発行物「Androidエンジニア養成読本 Vol.2」に以下の誤りがありました。
謹んで訂正いたしますとともに,読者および関係者の皆様にご迷惑をおかけしたことを深くお詫び申し上げます。
(2013年12月6日更新)
P.24 リスト4 正しくは以下のようになります
リスト4 StringBufferの解放(sbの内容をjsonに格納した後,削除している)
正 |
public static Forecast getForecast(String cityCode) throws JSONException, IOException {
Debug.startMethodTracing("getForecastString-" + cityCode);
TrafficStats.setThreadStatsTag(TRAFFIC_TAG_DATA);
String url = getRequestUrl(cityCode);
AndroidHttpClient client
= AndroidHttpClient.newInstance(USER_AGENT);
HttpGet request = new HttpGet(url);
HttpResponse response = client.execute(request);
StringBuffer sb = new StringBuffer();
BufferedReader br = new BufferedReader(
new InputStreamReader(response.getEntity()
.getContent()));
String line = null;
while ((line = br.readLine()) != null) {
sb.append(line);
}
br.close();
client.close();
String json = sb.toString();
sb.delete(0, sb.length());
Forecast result = new Forecast(new JSONObject(json));
TrafficStats.clearThreadStatsTag();
Debug.stopMethodTracing();
return result;
}
|