Androidプログラミング パーフェクトマスター

概 要

Android端末向けのアプリケーション開発手順を図解で詳しく紹介した解説書です。Androidは無償で公開されており、アプリケーションの開発キットも無償で入手することができ、プログラミングスキルを磨くのにもうってつけです。その一方で、開発環境のセットアップが煩雑だったり、XMLを併用しなければならないなどの障害もあります。本書は、Android開発環境の導入手順を図解で詳しく解説し、さらにユーザインターフェースの作成、通信やデータベースの操作など、アプリケーション作成に必要な知識やテクニックを広範囲にわたってじっくり、図解で解説しています。サンプルプログラムのダウンロードサービス付き。Android4/3/2/1対応。

著者 金城俊哉
価格 本体2800円(税別)
ISBN 978-4-7980-3372-3
発売日 2012/6/14
判型 B5変
色数 4色
ページ数 812
CD/DVD
対象読者 中級
シリーズ パーフェクトマスター
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter 1 Androidとスマートフォン

1.1 Androidの概要

1.1.1 Androidとその他のスマートフォン用OS

1.1.2 Androidの実態

コラム プログラム、コンポーネント、アプリケーション

1.1.3 AndroidとiPhoneの違い

1.1.4 Android端末の機種

コラム Google Play

コラム Androidの歴史

1.1.5 Androidのバージョン

Chapter 2 開発ツールの準備

2.1 開発ツールのダウンロードとインストール

2.1.1 Java Development Kit(JDK)のインストール

Java Development Kit(JDK)をダウンロードする

JDKをインストールする

コラム JDKでインストールされるコンポーネント

コラム Eclipse

2.1.2 Eclipseのインストール

Eclipseをダウンロードする

Eclipseをインストールする

2.1.3 Eclipseの日本語化を行うプラグインのインストール

「Pleades-Eclipse プラグイン日本語化プラグイン」を入手する

「Pleades-Eclipse プラグイン日本語化プラグイン」をインストールする

コラム 「Notepad++」を入手する

2.1.4 Android SDK(Software Developer's Kit)のインストール

Android SDKをダウンロードする

Android SDKをインストールする

Android SDKのパッケージのインストール

Android SDKのパッケージの追加

コラム パッケージとは

2.1.5 Eclipseの起動とワークスペース用フォルダーの作成

Eclipseを起動してワークスペース用フォルダーを作成する

2.1.6 Android Development Tools(ADT)のインストール

ADTをインストールする

Eclipseの再起動後の操作

コラム ADBに関する用語解説

2.2 開発ツールのセッティング

2.2.1 Android SDKの位置の登録

Android SDKの位置を登録する

2.2.2 仮想デバイスの登録

仮想デバイスを登録する

コラム AndroidのバージョンとAPIレベル

エミュレーターを起動する

コラム [Android Virtual Device Manager]の機能

コラム エミュレーターの向きの切り替え

コラム エミュレーターの操作

2.2.3 エミュレーターの日本語化

エミュレーターを日本語化する

2.2.4 文字コードのエンコード方式の設定

Eclipseで使用するエンコード方式を設定する

コラム 文字コードに関する用語解説

コラム Windows7のユーザー名が日本語の場合の措置

コラム ADTの更新

Chapter 3 はじめてのAndroidアプリケーションの作成

3.1 サンプルアプリケーション「HelloWorld」の作成

3.1.1 Androidアプリケーションの作成

プロジェクトの新規作成

コラム 「アプリケーション情報」における設定項目

作成されたファイルを確認する

コラム ProGuard(http://proguard.sourceforge.net/)

プロジェクトと仮想デバイスを関連付ける

コラム 起動構成の新規作成

コラム クラス、メソッド、名前空間、アセット

3.1.2 エミュレーターと実機におけるプログラムの実行

作成したアプリケーションをエミュレーターで実行する

コラム 画面のロック

実機でのテスト

コラム 接続されている携帯端末の情報を見る

コラム USBドライバーがうまく認識されない場合

3.1.3 「HelloWorld」プログラムの変更

表示する文字列を変更する①(リソースファイルを使用)

表示する文字列を変更する②(ソースコードの記述)

ソースコードを見る

コラム 用語解説

3.1.4 デバッグ

ブレークポイントを設定する

デバッグを開始する

Chapter 4 Android徹底解説

4.1 Androidの構造

4.1.1 Androidを構成するコンポーネント

Androidの全体像を見る

コラム OSに関する用語解説

4.1.2 LinuxカーネルとHAL

LinuxカーネルとHALについて見る

4.1.3 ライブラリーに搭載されているプログラム

Librariesの中身を見る

コラム Java VM(Virtual Machine)

コラム API(Application Program Interface)

コラム プラットフォーム

コラム リレーショナルデータベース(Relational Database System : RDBS)

コラム SQL(Structured Query Language)

4.1.4 Application Frameworkの構造

Activity Manager

コラム onSaveInstanceState()メソッドとonRestoreInstanceState()メソッド

コラム アクティビティーの遷移

Content Provider

Content Provider以外のフレームワーク

コラム Application Frameworkの主要なフレームワーク

4.1.5 Application層のコンポーネント

アプリケーションのコンポーネント

Activity

Service

Content Provider

intent

コンポーネントのプロセス

4.2 AndroidのXMLファイル

4.2.1 AndroidManifesto.xml

AndroidManifesto.xmlの仕組み

4.2.2 main.xmlとstrings.xml

main.xml

strings.xml

Chapter 5 ユーザーインターフェースの作成(基本編)

5.1 レイアウトの基本

5.1.1 アクティビティークラスを利用した画面の作成

Androidアプリケーションの開発過程

ビューとビューグループ

画面上の余分な文字列を消す

5.2 イベントの処理

5.2.1 イベント処理の仕組み

Androidにおけるイベント処理

ボタンクリック時の処理を記述する

コラム findViewById()メソッド

コラム Rクラス

コラム コールバックメソッドの種類

コラム レイアウトファイルにメソッド呼び出しを埋め込む

コラム strings.xmlファイルを使ってテキストをコントロールする

コラム レイアウトファイルを使わない

コラム アクティビティーにインプリメントする

5.2.2 様々なイベントへの対処

ボタンクリック時の複数のイベントをまとめて処理する

コラム タッチ関連のメソッドとタッチイベント

画面のタッチを処理する

コラム アクティビティーにイベントリスナーをインプリメントしない場合

Chapter 6 ユーザーインターフェースの作成(ウィジェット編)

6.1 ウィジェットの配置

6.1.1 ボタンの配置

ボタンを配置する

ボタンクリックでテキストを表示する

コラム イベントリスナーとコールバックメソッド

コラム デフォルトのイベントハンドラー

インターフェースを明示的に実装する

イベントリスナーをレイアウトファイルに登録する

ロングクリック時のイベントを処理する

コラム コールバックメソッドの戻り値

コラム ボタンにアニメーションを設定する

コラム Javaのプログラムコードでボタンを扱う

6.1.2 トーストの表示

アプリの起動時にトーストを表示する

アクティビティーの遷移の状況をトーストに表示する

ボタンクリックでトーストに現在日時を表示する

6.1.3 チェックボックスの配置

チェックボックスを配置する

コラム Javaのプログラムコードでチェックボックスを扱う

6.1.4 ラジオボタンの配置

ラジオボタンを配置する

コラム Javaのプログラムコードでラジオボタンを扱う

コラム ラジオボタンを横並びで表示する

6.1.5 トグルボタンの配置

トグルボタンを配置する

コラム onProgressChanged()メソッド

6.1.6 シークバーの配置

シークバーを配置する

6.1.7 レイティングバーの配置

レイティングバーを配置する

コラム onRatingChanged()メソッド

6.1.8 プログレスバー

プログレスバーを配置する

コラム プログレスバーの仕組み

コラム SetIndeterminate()属性

6.2 メニューの配置

6.2.1 オプションメニューの配置

オプションメニューを配置する(XML編)

コラム 拡張メニュー

コラム switchによる定数分岐

オプションメニューを配置する(プログラム編)

コラム アイテムの数が6を超えたらどうなる?

プログラムを使ってアイテムにアイコンを表示する

6.2.2 サブメニューの配置

サブメニューを配置する

コラム ジェネリックスとは

6.2.3 スピナーの配置

スピナーの配置

コラム Javaのプログラムコードでスピナーを表示する

コラム スピナーの表示方法

6.2.4 コンテキストメニュー

コンテキストメニューを設定する

コラム HTMLで定義されている基本色

6.3 便利アイテムの表示

6.3.1 アナログ時計の表示

アナログ時計を表示する

コラム アナログ時計を画面上部に表示する

6.3.2 デジタル時計の表示

デジタル時計を表示する

コラム RGB値

6.3.3 クロノメーターの表示

クロノメーターを利用したプログラムの作成

コラム android:layout_gravityによる表示位置の指定

Chapter 7 ユーザーインターフェースの作成(ダイアログボックス編)

7.1 アラートダイアログの表示

7.1.1 アラートダイアログの表示

アラートダイアログを表示する

コラム Builderクラスのボタン

Yes/Noボタンが付いたダイアログを作成する

コラム 連続してダイアログを表示するワザ

7.1.2 リスト型アラートダイアログの表示

リスト型のアラートダイアログを表示する

7.1.3 ラジオボタン型アラートダイアログの表示

ラジオボタン型のアラートダイアログを表示する

7.1.4 チェックボックス型アラートダイアログの表示

チェックボックス型のアラートダイアログを表示する

7.1.5 オリジナルのダイアログ

オリジナルのダイアログを作成する

コラム 「android:scaleType」属性の値

7.2 プログレスダイアログの表示

7.2.1 アプリ起動時におけるプログレスダイアログの表示

アプリの起動時にプログレスダイアログを表示する

コラム 水平のプログレスバーを表示する

プログレスバーに進捗状況をを表示する

7.2.2 別スレッドで実行するプログレスダイアログの作成

プログレスダイアログを別スレッドで実行する

コラム プログレスバーをタイトルバーに表示する

コラム プログレスダイアログのメソッド

7.3 日付設定、時刻設定ダイアログ

7.3.1 日付入力ダイアログと時刻設定ダイアログ

日付の入力と時刻の入力を行うプログラムを作成する

Chapter 8 ユーザーインターフェースの作成(リストビュー編)

8.1 リストビューの表示

8.1.1 XMLファイルでタイトルを管理するリストビューの作成

リストビューのクリックイベントを検知する

コラム コンストラクターArrayAdapter()の構造

コラム setTextFilterEnabled()メソッド

コラム リストビューのロングクリックイベントを検知する

8.1.2 プログラムによるリストビューの表示

Javaのコードだけでリストビューを表示する

8.2 スクロールの制御

8.2.1 スクロール用のタブの配置

リストビューにスクロール用のサムを配置する

8.2.2 スクロールの制御

リストビューのスクロールを自動化する

最後までスクロールしたことを通知する

コラム OnScrollListenerインターフェース

コラム リストビューの自動スクロール

スクロールの状況をログに書き出す

コラム ログを出力するためのコード

8.3 リストビューのカスタマイズ

8.3.1 ヘッダーとフッターの表示

リストビューにヘッダーとフッターを表示する

8.3.2 リストビューの2段組表示

リストビューのアイテムを2段組で表示する

コラム 配列の使い方

コラム ArrayListクラス

コラム HashMapクラス

コラム アイテムを縦2段組で表示する

Chapter 9 ユーザーインターフェースの作成(レイアウト編)

9.1 リニアレイアウト(XML使用)

9.1.1 XMLファイルによるレイアウトの設定

XMLファイルによるシンプルなレイアウト

コラム ネストクラス「attr」

コラム リソースの種類

9.1.2 垂直方向のリニアレイアウト

要素を縦に並べて配置する

9.1.3 水平方向のリニアレイアウト

要素を横に並べて配置する

コラム ウィジェットが画面の横幅に収まりきらない場合

9.1.4 絶対的なサイズ指定

単位を使ってビューのサイズを指定する

9.1.5 layout_weightの利用

layout_weight属性を指定して余白をなくす

コラム ピクセルとドットの違い

コラム サイズを指定する単位

9.1.6 layout_gravityの利用

layout_gravity属性による垂直方向の位置指定

layout_gravity属性による水平方向の位置指定

9.1.7 余白の設定

LinearLayoutに余白を設定する

ボタン内部に余白を設定する

コラム サイズ指定したボタンにおける余白の設定

9.2 テーブルレイアウト(XML使用)

9.2.1 TableLayoutを利用したレイアウト

ビューをタイル状に並べて配置する

コラム 1個のセルが空白になっている場合

コラム 1個のボタンのサイズを指定した場合の他のボタンに対する影響

9.2.2 空欄の設定

テーブルの1個のセルを空欄にする

9.2.3 ストレッチ

テーブルを横へ引き伸ばす

9.2.4 スパン

テーブルの1つの要素だけを引き伸ばす

9.3 相対レイアウト(XML使用)

9.3.1 画面全体に対する相対的なレイアウト

画面全体に対する相対的な位置指定を行う

9.3.2 親要素に対する相対的なレイアウト

親要素を指定した相対的なレイアウト

コラム RelativeLayoutを基準とした相対配置を行うための属性

コラム 特定のビューを基準とした相対配置を行うための属性

9.4 レイアウトエディターを利用したレイアウト

9.4.1 レイアウトエディターにおけるビューの追加

ビューを追加して属性を設定する

9.4.2 レイアウトエディターにおけるビューグループの配置

ビューグループを配置してビューを追加する

コラム 不要なビューを取り除く

9.5 プログラムによるレイアウト

9.5.1 プログラムコードを使用したレイアウト

Javaプログラムだけでアプリケーションを作成する

9.6 画面全体の操作

9.6.1 タブの表示

プログラム作成の準備

リソースファイルの編集

main.xmlの編集

Javaコードの記述

9.6.2 スライダー画面の組み込み

スライダー画面を組み込む

コラム スクロールビュー

9.6.3 フルスクリーン化

タスクバーを非表示にする

タイトルバーを非表示にする

フルスクリーンにする

コラム タイトルバーのテキストカラーを設定する

コラム タイトルバーにアイコンを表示する

Chapter 10 テキストの操作

10.1 カスタムビューの作成

10.1.1 カスタムビューの定義

カスタムビューのためのクラスの作成

スタイルを設定してテキストを描画する

10.2 メモ用アプリケーションの作成

10.2.1 メモ用アプリケーションの作成

保存機能付きのメモアプリケーションを作成する

Chapter 11 グラフィックスの操作

11.1 イメージの表示

11.1.1 XMLを利用したイメージの制御

イメージを表示する

コラム イメージを画面中央に表示する

イメージをリサイズして表示する

イメージのサイズを取得する

イメージを並べて表示する(GridViewの利用)

ギャラリーの作成

コラム XMLだけでグリッドを設定する

11.1.2 Javaを利用したイメージの制御

イメージを表示する

イメージを拡大・縮小する

イメージを回転させる

イメージが回転するアニメーションを作る

イメージが拡大するアニメーションを作る

11.2 グラフィックスの描画

11.2.1 点の描画

点を描画する

11.2.2 直線の描画

直線を描画する

コラム 画面に余計な文字が表示される場合

11.2.3 四角形の描画

四角形を描画する

11.2.4 円の描画

円を描画する

11.2.5 楕円の描画

楕円を描画する

11.2.6 弧の描画

弧を描画する

11.2.7 ラインの描画

ラインを描画する

Chapter 12 SQLiteの利用

12.1 テキストファイルの読み書き

12.1.1 テキストファイルの読み書きを行うプログラムの作成

入力したテキストをファイルに保存する

コラム ファイルシステムのセキュリティ対策

12.2 SQLiteを利用したデータベースの処理

12.2.1 データの読み書きを行うデータベースアプリ

データの読み書きを行うデータベースアプリを作成する

コラム SQLiteの主な命令文

コラム SQLiteOpenHelperクラス

コラム データベースの保存場所を指定するには

12.2.2 データの検索を行うデータベースアプリ

データの検索を行うデータベースアプリを作成する

コラム 特定の文字列を検索するには

コラム データの並べ替えを行うには

Chapter 13 Webビューとマップビューの操作

13.1 Webビューの操作

13.1.1 Webビューの配置とWebページの表示

Webページを表示する

13.1.2 Webブラウザーの作成

Webページ表示用のメニューを組み込んだアプリの作成

13.2 Mapビューを利用した地図情報の表示

13.2.1 地図情報を表示するアプリの作成

MD5フィンガープリントを入手する

Maps API Keyを取得する

Mapビューアプリ用のプロジェクトを作成する

アプリケーションを作成する

Mapビュー専用のエミュレーターを作成する

アプリケーションを実行する

13.2.2 地図情報を切り替えるアプリの作成

地図を衛星写真と交通情報に切り替える

13.2.3 メニューに登録された位置の表示

メニューに登録された位置を表示する

13.2.4 現在位置の表示

現在位置の地図を自動で表示する

Chapter 14 マルチメディアファイルとカメラの制御

14.1 サウンドファイルの再生と音声の記録

14.1.1 サウンドの再生

サウンドファイルを再生する

14.1.2 音声の記録

サウンドレコーダーで録音する

14.2 静止画と動画の撮影

14.2.1 静止画の撮影

静止画を撮影する

14.2.2 動画の撮影

動画を撮影する

Chapter 15 アクティビティー間の通信とアプリケーション間の通信

15.1 アクティビティー間の通信

15.1.1 複数のアクティビティーのコントロール

3つのアクティビティーを切り替えて表示する

コラム インテントとは

15.1.2 アクティビティー間の通信

入力したデータを別のアクティビティーに送信する

15.2 アプリケーション間の通信

15.2.1 アプリケーション呼び出し

エディットテキストから別のアプリを呼び出す

インテントで電話を起動する

15.2.2 ブロードキャストレシーバーの取得

バッテリーの残量を取得する

15.2.3 サービスの利用

バックグラウンドで動作するアプリの作成

Chapter 16 タッチパネルと端末の情報

16.1 タッチパネル上で発生するイベントの処理

16.1.1 ジェスチャーの処理

タッチパネル上で発生するジェスチャーを記録する

タッチイベントに対応して図形を移動する

16.2 端末に関する情報の取得

16.2.1 端末に記録された情報の取得

カーネルのバージョンを取得する

地域と言語の設定情報を取得する

システム時刻を取得する

端末が起動してからの経過時間を取得する

スクリーンの明るさを取得する

バッテリーの残量を取得する

16.2.2 加速度センサーと地磁気センサー

現在の方位を取得する

PR

秀和システム