井形 圭介 著
上中 正統 著
尾古 豊明 著
加藤 勝也 著
小林 慎治 著
瀬戸 健二 著
高木 基成 著
日高 正博 著
夜子まま 著
2011年2月にリリースされたAndroid SDK 3は、斬新なインターフェイスやウィジェットなど、タブレット機能に特化したOSです。市場では2011年4月以降、各メーカーからAndroid SDK 3を搭載したデバイスが続々とリリースされています。本書は、Android SDK 3の特徴であるタブレット機能を活かしたアプリ開発手法をサンプルを交えて解説した書籍です。完成サンプルを通じて、特徴的なタブレット機能の開発方法を要点を押さえて学ぶことができます。加えてスマートフォンアプリ開発との違いや利用できる開発手法についても解説していますので、すでにスマートフォンのAndroidアプリ開発に携わっている方でも学べる内容となっています。
第1章 Android SDK 3 の特徴
1-1 Android タブレット端末と市場の拡がり
1-1-1 盛り上がるタブレット端末市場
1-1-2 iPad とAndroid タブレット端末の違い
1-1-3 Android SDK 3.1 の登場
1-1-4 Android SDK 3.2 の登場
1-2 Android SDK 3.0/3.1/3.2 の機能
1-2-1 Fragment(UI)
1-2-2 ActionBar(UI)
1-2-3 System clipboard(機能)
1-2-4 Drag and Drop(機能)
1-2-5 AppWidget(UI)
1-2-6 Status bar notifications(UI)
1-2-7 Bluetooth A2DP and headset API(機能)
1-2-8 Animation Framework(機能)
1-2-9 RenderScript(機能)
1-2-10 Open Accessory(機能)
1-2-11 複数のディスプレイサイズに最適化
第2章 Android タブレットアプリ開発環境の構築
2-1 Android タブレットアプリの開発環境を構築する
2-1-1 JDK(Java SE Development Kit)のインストール
2-1-2 Android SDK のインストール
2-1-3 Android SDK パッケージのダウンロード
2-1-4 Eclipse のダウンロードと日本語化
2-1-5 ADT Plugin for Eclipse のインストール
2-2 実機を用いてデバッグを行う
2-2-1 MOTOROLA 製XOOM とは
2-2-2 USBドライバのインストール
2-2-3 実機(XOOM)をデバッグ可能に設定する
2-2-4 プロジェクトを実機デバッグ可能に設定する
第3章 Android タブレットアプリ開発で利用する機能とAPI
3-1 Android SDK 3.0 以降で追加されたタブレット向けAPI
3-1-1 タブレットアプリ開発で必要なAPI の知識
3-1-2 本章で紹介するサンプルアプリケーションについて
3-2 タブレットアプリとスマートフォンアプリ開発の違い
3-2-1 Fragment とActionBar による大画面ディスプレイに最適化されたUI
3-2-2 Fragment とActionBar の登場
3-3 ClipboardManager を利用する
3-3-1 サンプルアプリケーションの概要
3-3-2 テキスト/ Intent のコピー機能を実装する
3-3-3 Uri のコピー機能を実装する
3-3-4 コピーしたデータを取得する
3-4 ActionBar を利用する
3-4-1 サンプルアプリケーションの概要
3-4-2 ActionBar にオプションメニューを配置する
3-4-3 レイアウトファイルを使用する
3-4-4 ActionBar にタブを配置する
3-4-5 ActionBar のタブにListener を追加する
3-4-6 ActionBar のレイアウトを変更する
3-4-7 ActionBar にandroid.widget クラスのオブジェクトを配置する
3-5 SearchView を利用する
3-5-1 サンプルアプリケーションの概要
3-5-2 SearchView で検索処理を実装する
3-6 StackView を利用する
3-6-1 サンプルアプリケーションの概要
3-6-2 StackView をAppWidget として実装する
3-6-3 アイテムを格納するクラスを作成する
3-6-4 AppWidget の本体のクラスを作成する
3-6-5 マニフェストファイルを修正する
3-7 Loader を利用する
3-7-1 サンプルアプリケーションの概要
3-7-2 Loader を使用してデータを読み込む
3-8 アニメーションを利用する その1
3-8-1 サンプルアプリケーションの概要
3-8-2 画面の背景色がグラデーションにより変化する
3-8-3 「 タップした場所からボールが落下し、地面で跳ね返って戻り、消える」動きを実装する
3-9 アニメーションを利用する その2
3-9-1 サンプルアプリケーションの概要
3-9-2 [ Play][Cancel][End]ボタンをタップして、アニメーションの開始や中断、終了を行う
3-9-3 アニメーション実行中に各種イベントが発生する
3-10 アニメーションを利用する その3
3-10-1 サンプルアプリケーションの概要
3-10-2 4 つのチェックボックスにそれぞれチェックを入れるとアニメーションが付加される
3-10-3 [CustomAnimation]のチェックボックスにチェックを入れると、複雑なアニメーションが付加される
3-11 アニメーションを利用する その4
3-11-1 サンプルアプリケーションの概要
3-11-2 [Flip]ボタンをタップするとリストが反転(フリップ)する
3-11-3 紹介できなかったその他のAPI
3-12 Drag and Drop を利用する
3-12-1 サンプルアプリケーションの概要
3-12-2 ドットをタッチすると、ドラッグを開始する
3-12-3 ドラッグからドロップまでのイベント
3-12-4 Drag and Drop サンプルで使用しているその他のメソッド
3-13 複数選択モードリスト
3-13-1 サンプルアプリケーションの概要
3-13-2 リストの項目をタッチすると、複数選択モードに遷移する
3-13-3 リストを選択すると、項目ごとに配置されたチェックボックスにチェックが入る
第4章 Fragment を使った情報表示アプリの開発
4-1 サンプルアプリケーションの概要
4-1-1 サンプルアプリケーションの概要
4-1-2 Fragment のバックスタックの仕組みを学ぶサンプル(4-11 節)
4-2 Fragment の概要とその種類
4-2-1 Fragment とディスプレイサイズ
4-2-2 Fragment クラスの種類
4-3 Fragment のライフサイクル
4-3-1 Fragment のライフサイクルを実装するメソッド
4-4 Fragment の使い方の基礎
4-4-1 FrameLayout を使用してFragment を配置する
4-5 Fragment にContextMenu を加える
4-5-1 ContextMenu の実装
4-6 ListFragment でリスト表示をする
4-6-1 ListFragment を使用する
4-7 DialogFragment で情報を通知する
4-7-1 DialogFragment を使用する
4-8 フェードイン/アウトのアニメーションをFragment に設定する
4-8-1 フェードイン/アウトのアニメーションの実装
4-9 Fragment で他のActivity からデータを受け取る
4-9-1 Fragment クラスのonActivityResult メソッドでデータを受け取る
4-10 PreferenceFragment で設定画面を作る
4-10-1 PreferenceFragment を使用する
4-11 実行中のFragment をバックスタックに入れる
4-11-1 Fragment をバックスタックに入れる
4-11-2 特定のFragmentTransaction を指定して戻る
4-11-3 1 つのトランザクションの中で複数のFragment の置き換えを行う
第5章 RenderScript を使った3D 描画アプリの開発
5-1 サンプルアプリケーションの概要
5-1-1 サンプル「Chapter05_sample01」の概要
5-1-2 サンプル「Chapter05_sample02」の概要
5-1-3 サンプル「Chapter05_sample03」の概要
5-1-4 サンプル「Chapter05_sample04」の概要
5-1-5 サンプル「Chapter05_sample05」の概要
5-2 RenderScript を利用したアプリケーションの構成
5-2-1 RenderScript とは
5-2-2 アプリケーションの構成
5-2-3 RenderScript のHello! World
5-2-4 RenderScript のメモリ参照
5-3 RenderScript Layer と通信を行う
5-3-1 RenderScript Layer との連係
5-3-2 RenderScript Layer の関数
5-3-3 RenderScript Layer とのメッセージ通信
5-4 RenderScript を利用してテクスチャを描画する
5-4-1 OpenGL と3D 描画について
5-4-2 描画領域の設定
5-4-3 正射影と透視法射影
5-4-4 頂点(ProgramVertex)の設定
5-4-5 フラグメント(ProgramFragment とProgramStore)の設定
5-4-6 テクスチャの貼り付け
5-4-7 Sampler のモード
5-4-8 図形を描画する
5-5 メッシュを作成してテクスチャを貼り付ける
5-5-1 メッシュを使用した描画
5-5-2 ポリゴンメッシュの設定
5-5-3 ポリゴンメッシュの作成
5-6 3D ポリゴンメッシュを作成する
5-6-1 3D ポリゴンメッシュの作成
5-6-2 メッシュの拡大縮小と回転
5-6-3 RenderScriptAPI のこれから
第6章 Google Map API を使った地図情報アプリの開発
6-1 サンプルアプリケーションの概要
6-1-1 サンプルアプリケーションの概要
6-2 Google Maps を利用する準備
6-2-1 Maps API Key の取得
6-2-2 プロジェクトのプロパティとマニフェストファイルの設定
6-3 foursquare とは
6-3-1 foursquare は位置情報連係サービス
6-3-2 foursquare の専門用語について
6-3-3 公開されているウェブAPI について
6-4 OAuth2.0 による認証
6-4-1 OAuth2.0 とは
6-4-2 OAuth2.0 の処理フロー
6-4-3 foursquare にOAuth2.0 で認証する
6-5 現在地を表示する
6-5-1 マップ上に画像を表示するには?
6-5-2 MyLocationOverlay を使う
6-5-3 現在地を取得したタイミングで処理を実行する
6-6 ウェブAPI アクセス用クラスの定義
6-6-1 GET 用とPOST 用のメソッドの定義
6-6-2 各API 用のメソッドの定義
6-7 周辺スポット情報の取得と表示
6-7-1 周辺スポット情報を取得する
6-7-2 ItemizedOverlay の利用
6-7-3 マップアプリ用のレイアウト
6-8 スポットにチェックインする
6-8-1 スポットの詳細情報を表示する
6-8-2 スポットにチェックインする
6-9 スポットを追加する
6-9-1 Overlay を使用する
6-9-2 スポットを追加する
6-10 リリース用の設定について
6-10-1 リリース用API Key の取得
6-10-2 デバッグ用レイアウトとリリース用レイアウト作成
6-10-3 デバッグ時とリリース時で読み込むレイアウトを自動で切り替える
第7章 アプリ内課金システムを使ったメディアプレイヤーの開発
7-1 サンプルアプリケーションの概要
7-1-1 サンプルアプリケーションの概要
7-2 タブレット端末に適したメディアプレイヤー
7-2-1 Fragment を活用した画面レイアウト
7-2-2 音楽の再生機能の実装
7-3 カスタムNotification(ノーティフィケーション)
7-3-1 Notification 上にボタンを配置する
7-4 アプリ内課金を実装する
7-4-1 アプリ内課金とは
7-4-2 アプリ内課金の仕組み
7-4-3 アプリ内課金の要件と制限
7-4-4 アプリ内課金メッセージ
7-4-5 メッセージ処理シーケンス
7-4-6 MarketBillingService インターフェース
7-4-7 プロジェクトにAIDL ファイルを追加する
7-4-8 その他ソースコードのコピー
7-4-9 マニフェストファイルの設定
7-4-10 アプリ内課金リクエストの共通処理
7-4-11 REQUEST_PURCHASE リクエストの処理をする
7-4-12 IN_APP_NOTIFY メッセージの処理をする
7-4-13 GET_PURCHASE_INFORMATION リクエストの処理をする
7-4-14 PURCHASE_STATE_CHANGED メッセージの処理をする
7-4-15 CONFIRM_NOTIFICATIONS リクエストの処理をする
7-5 アプリ内課金をテストする
7-5-1 静的レスポンスを利用したテスト
7-5-2 独自のプロダクトID を使ったテスト
7-6 セキュリティ対策について
7-6-1 アプリ内課金アプリケーションのセキュリティと設計で必要な8 つのポイント
第8章 HTML5 を使った電子雑誌アプリの開発
8-1 サンプルプログラムの概要
8-1-1 ウェブ技術を利用したタブレットアプリ開発
8-1-2 ウェブ技術を利用する理由
8-1-3 本章がターゲットとする開発者
8-1-4 サンプルアプリケーションの概要
8-2 Android で活用できるウェブ技術
8-2-1 HTML5 に代表されるウェブ技術の進化
8-2-2 Android 3.0 以降のHTML5 対応状況
8-2-3 ウェブ技術を使ったAndroid アプリのアーキテクチャ
8-2-4 開発環境の構築
8-2-5 デバッグの方法
8-2-6 HTML5 を活用したAndroid アプリ開発のプロセス
8-3 WebView を使ってウェブコンテンツを利用する
8-3-1 WebView の使い方
8-3-2 JavaScript とJava の連係
8-3-3 WebView を利用する場合の注意点
8-4 HTML5 の機能を活用して電子雑誌を作る
8-4-1 電子雑誌を実現するTreesaver
8-4-2 レイアウトを定義するファイルを作る
8-4-3 左メニューのコンテンツを作成する
8-4-4 メインコンテンツを作る
8-5 HTML5 の機能を使ったウェブコンテンツ
8-5-1 SVG(Scalable Vector Graphics)
8-5-2 Canvas
8-5-3 Application Cache
8-5-4 Web Storage
8-5-5 Geolocation
8-5-6 Audio
8-5-7 Sensor
8-5-8 ウェブ技術を使いこなすために
8-5-9 HTML5 を使ったAndroid アプリ開発のこれから
第9章 マルチタッチ機能を使った対戦ゲームアプリの開発
9-1 マルチタッチとセンサーを活用するゲームを作る
9-1-1 サンプルアプリケーションの概要
9-2 マルチタッチ機能を使いこなす
9-2-1 入力インターフェース
9-2-2 タッチイベントを検出する
9-2-3 タッチイベントを制御するonTouchEvent メソッド
9-2-4 タッチイベントを理解する
9-2-5 アクションの取得
9-2-6 入力デバイスの判定
9-2-7 マルチタッチの検出
9-2-8 タッチを判別する
9-3 マルチタッチ制御を実装する
9-3-1 エアホッケーゲームのクラス関係
9-3-2 マルチタッチを受け取る
9-3-3 プレイヤーの位置を更新する
9-3-4 イベント処理の精度を上げるために必要なこと
9-4 ゲームロジックを組み込む
9-4-1 ゲームはアプリの主役
9-4-2 エアホッケーゲームを作る
9-4-3 エアホッケーゲームの構成
9-4-4 描画手法を選択する
9-4-5 SurfaceView を実装する
9-4-6 ホッケーの移動と衝突判定
9-5 ハードウェアデバイスをエフェクトに活用する
9-5-1 ハードウェアデバイスを使う
9-5-2 バイブレーション機能を使う
9-5-3 センサーを使いこなす
9-6 USB 機器を接続する
9-6-1 Android 端末とUSB
9-6-2 USB ホストモード
9-6-3 USB アクセサリーモード
9-6-4 Android Open Accessory Development Kit(ADK)の利用
9-6-5 Android ADK と連係する
Profile
索引
付属データはこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
発生刷 | ページ数 | 書籍改訂刷 | 電子書籍訂正 | 内容 | 登録日 | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1刷 | 040 図3-5 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 044 図3-7 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 062 図3-18 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 066 本文上から1行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 070 図3-22 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 072 表3-8,表3-9 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 073 注釈[7]のクラス名 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 074 本文最後の行 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 075 本文上から2行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 075 本文の下から2,3,6行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 076 3-10-3の見出しと、本文下から3行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 078 本文上から1行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 078 注釈[9] |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 088 本文上から4行目,5行目(下から6行目,5行目) |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 090 本文上から5行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 133 本文下から1,2行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 139 本文下から2行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 141 本文上から9行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 143 本文下から2行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 154 本文下から4行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 155 本文上から3行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 157 表5-6 右側の4 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 157 本文リード |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 201 本文2行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 292 ウェブアプリの短所と長所の4行目 |
未 | 未 |
|
2011.10.28 | ||||||
1刷 | 326 本文上から2行目 |
未 | 未 |
|
2011.10.28 |