Androidアプリ開発 パーフェクトマスター[最新版]


Androidアプリ開発パーフェクトマスター[最新版] (Perfect Master)


秀和システム


著者:金城俊哉


Chapter 0 ゼロからスタート!
0.1 ところでAndroidアプリを作ると何がウレシイの
Androidにはいいことがいっぱい
0.2 プログラミングの知識がなくても大丈夫!!
「Java A to Z」でプログラミングテクニックをマスター
まずはツールを用意する
0.3 Androidプログラミングをゼロからスタート!
順番に読まなくたっていい!
コラム 売れ筋Android端末を紹介!

Chapter 1 Androidで何ができるのか?
1.1 Androidって何ですか?
1.1.1 スマホとガラケーって何が違うの?
スマホって何?
1.1.2 そもそもAndroidって何?
Androidは何をするものなの
1.1.3 Androidアプリを作るってどういうこと?
Androidアプリはこうやって作る!
1.2 Androidとはスマホ用OSです(Androidの概要)
1.2.1 スマホ用OSの二大巨頭はAndroidとiOS
スマートフォン用OS
1.2.2 Androidは何がスゴイのか
メモ Androidの歴史
1.2.3 Androidの中身
アプリケーション
アプリケーションフレームワーク
ライブラリ
Linuxカーネル
コラム Android Marketへのアクセス統計によるバージョンごとの世界シェア
1.2.4 AndroidとiPhoneの違いはこんなにある
AndroidとiPhoneの基本機能
ハード的な性能の違いと特徴
キャリア(通信事業者)の違い
アプリの開発環境に大きな違い
というわけでAndroidアプリを選びました

Chapter 2 開発環境をPC上に用意する
2.1 最新の開発環境Android Studioを無償でインストール(Windows編)
2.1.1 開発ツールはJavaがないと動かない?!(JDKのダウンロードとインストール)
JDKをダウンロードしてインストールする
JDKのインストール
メモ JDK関連の用語
2.1.2 開発環境を動かすための下準備(環境変数「PATH」の設定)
JDKがインストールされている位置を登録する(Windows環境変数の設定)
メモ JAVA_HOMEとPATHという2つの環境変数
2.1.3 Android Studioのダウンロードとインストール
Android Studioを無償でダウンロード
2ステップでAndroid Studioをインストール
Android Studioを最新の状態にしよう
2.2 最新の開発環境Android Studioを無償でインストール(Mac編)
JDK8のダウンロードとインストール
コラム MacにJavaがインストールされているかを確認する
2.2.1 Mac版Android Studioのダウンロードとインストール
Mac版Android Studioを無償でダウンロード
ドラッグ操作で簡単インストール
Mac版Android Studioを起動しよう
Android Studioを最新の状態にする

Chapter 3 Android Studioを設定する
3.1 Android Studioの操作画面を表示する(プロジェクトの作成)
3.1.1 Android Studioの起動前に必ず現れる画面
3.1.2 Android SDKとJDKが使える状態になっているか確認する
Project Structureで確認する
3.1.3 プロジェクトを作成してAndroid Studioの画面を表示する
[New Project]ウィザードを起動する
画面の見た目を決める
アクティビティの名前を決めてウィザードを終了する
いよいよAndroid Studioの画面が表示される
3.2 Android Studioのセッティング
3.2.1 Android Studioのアップデートが公開されていないかチェックしよう
[Help]メニューからアップデートを確認
コラム バージョンアップで気を付けたいこと
3.2.2 Android SDKの別バージョンをインストールする
「Android SDK Manager」を起動する
他のバージョンのAndroid APIをインストールする
メモ 単体のSDK Managerを使用する
3.2.3 Android アプリをPC上でエミュレーションできるようにする(仮想デバイスの作成)
AVDを作成する前にAndroid OSのプラットフォームとABIを用意する
ワンポイント PCのCPUがIntel以外だったら?
ワンポイント.4ビット版ABI
仮想デバイスを作る
Java A to Z プログラミング的な話① パッケージのインポート

Chapter 4 はじめてのAndroidアプリ開発!
4.1 まっさらな状態からAndroidアプリを作って実行する
4.1.1 作成したばかりのプロジェクトのアプリを実行する
まったく手付かずの状態のアプリを起動する
AVDについての補足
AVDの言語圏を日本に設定
4.1.2 PCならではのAVDの便利な使い方
エミュレーターの向きを横向きにしてみよう
AVDの操作パネルのボタン
4.2 「Hello world!」の表示を「こんにちはAndroid!」にする
4.2.1 「Hello world!」がプログラムのどこにあるのかを見付ける
Androidアプリの画面はXMLで作る
画面のレイアウト作業はDesignエディターで行う
レイアウトを設定しているファイルの中身を見る
4.2.2 XMLファイルの中身を書き換えて「こんにちはAndroid!」と表示する
表示する文字列を書き換えてみよう
書き換えた文字列が画面に表示されるか確認しよう
プロジェクトを閉じる
再びプロジェクトを開く
Java A to Z プログラミング的な話② ソースコードの書き方
Java A to Z プログラミング的な話③ 値の保管場所――変数
Java A to Z プログラミング的な話④ 変数の形――データ型

Chapter 5 Androidアプリ開発完全理解!
5.1 オブジェクト指向でAndroidプログラミング
5.1.1 端末に搭載されているOSのバージョンは?
スマホがどんな使われ方をしているのかを知りたい(/procのファイル)
5.1.2 これから作成するアプリの画面を作っておこう
アプリの画面を作る
5.1.3 Androidアプリのソースコードを見る(MainActivity.javaのソースコード)
ソースファイルの構造を見る
MainActivityクラスのメソッド
MainActivityクラスのメソッドの中身
5.1.4 アプリを動かすためにやるべきこと(クラスのインスタンス化)
Javaプログラミングは「クラス」を呼び出すことから
API
クラスを呼び出すにはどうすればよいのか
5.1.5 プログラムはどこから開始されるの?(プログラムのエントリポイント)
onCreate()メソッドは誰が呼び出したの?
メソッドを呼び出すためのインスタンスは誰が作ったの?
5.1.6 インスタンスを作ったら何か入ってた(コンストラクターによる初期化)
ファイルから文字を読み込むためのクラス(FileReaderクラス)
インスタンスを作ったら文字列が入ってた
5.1.7 インスタンスのインスタンス(ラッパークラス)
FileReaderクラスの処理を効率化するBufferReaderクラス
バッファーに文字列を一気に格納
5.1.8 たまったものを取り出して別のものに入れる(変数への代入)
バッファーの文字列を移し変えるためには変数が必要
バッファーの文字列を読み込む
インスタンスがあればメソッドが呼び出せる
5.1.9 Textエディターで実際にコードを入力
これまでのコードを入力
ソースコードに表示されたエラーの原因
1つ目と2つ目のエラーを消す(インポート文の追加)
最後のエラーを消す(例外処理の記述)
例外を処理するコードを記述する
例外が発生したときの具体的な処理を行う部分
インスタンスがなくても呼び出せるメソッド
例外処理完成!
5.1.10 画面表示を行うコードを入力してアプリを起動する
テキストビューは内部でインスタンス化されている
テキストビューのインスタンスを取得する
取得したインスタンスにOSのバージョン情報を表示する
ヒント エラー処理について
アプリを実行する
Java A to Z プログラミング的な話⑤ 形を変えよ――型のキャスト
Java A to Z プログラミング的な話⑥ 数値を数字にせよ――String型への変換
Java A to Z プログラミング的な話⑦ 実行不可能!――例外処理
5.2 端末が起動してからの経過時間を表示するアプリ
5.2.1 端末の稼働時間を調べる
メソッドを呼び出すと端末の稼働時間が返ってくる
稼働時間を時、分、秒単位でそれぞれ表示
5.2.2 プロジェクトを作成して画面を作る
アプリの画面を作る
メモ システムの稼働時間を取得する
5.2.3 起動後の経過時間を表示するためのコードを書く
MainActivity.javaにソースコードを入力する
アプリを実行する
Java A to Z オブジェクト指向的な話① プログラムの部品――クラス
Java A to Z オブジェクト指向的な話② プログラム部品の記憶装置――フィールド①
Java A to Z オブジェクト指向的な話③ プログラム部品の記憶装置――フィールド②
Java A to Z オブジェクト指向的な話④ 「プログラム部品の稼動部――メソッド」
Java A to Z オブジェクト指向的な話⑤ 「呼んだら何か返ってきた――メソッドの戻り値」
5.3 現在の日時を画面に表示するアプリ(システム時刻)
5.3.1 システム時刻の取り出し方(Calendarオブジェクトの取得)
現在時刻を知らせるインスタンスは1つしかない
get()メソッドで必要なデータを取り出す
メモ オブジェクト生成時に設定される初期化値
5.3.2 プロジェクトを作成して画面を作る
アプリの画面を作る
5.3.3 システム時刻を調べて表示するためのコードを書く
MainActivity.javaにソースコードを入力する
アプリを実行する
Java A to Z オブジェクト指向的な話⑥ 立ち上げ準備!――コンストラクター
Java A to Z オブジェクト指向的な話⑦ 自動作成――デフォルトコンストラクター
Java A to Z オブジェクト指向的な話⑧ 呼び分ける――コンストラクターのオーバーロード
メモ AndroidバージョンとAPIレベル

Chapter 6 Androidの構造と仕組みを知る
6.1 Androidの構造
6.1.1 Androidを構成するコンポーネント
Androidの全体像を見る
各レイヤーを見る
コラム OSに関する用語と解説
6.1.2 LinuxカーネルとかHALとか
Linuxの中核にある部品をAndroidに流用
6.1.3 ライブラリ(Libraries)に搭載されているプログラム
ライブラリの中身を見てみよう
MediaFramework
コラム 用語解説
ARTを詳しく見る
コラム 用語解説
6.1.4 アプリケーションフレームワークのActivity Manager
画面の起動から終了まで(アクティビティのライフサイクル)
アクティビティの始まりと終わり
実行中のアクティビティの状態は2つ
プロセスを停止した場合
ヒント onSaveInstanceState()メソッドとonRestoreInstanceState()メソッド
6.1.5 アクティビティの状態がわかるプログラムを作ってみよう
アクティビティの状態によって呼び出されるメソッドを確認する
アプリを実行してログを確認する
6.1.6 データの共有を実現するContent Providers
Androidのデータ管理機能
データの共有を実現するContent ProvidersのAPI
6.1.7 コンテンツプロバイダーを使って画面の明るさを調べてみる
コンテンツプロバイダーへの問い合わせは「コンテンツリゾルバー」で
プロジェクトを作成して画面を作る
MainActivity.javaにソースコードを入力する
6.1.8 アプリケーションフレームワークには有用な部品がぎっしり
UI部品を提供するView System
Androidアプリを管理するPackage Manager
リソースを管理するResource Manager
まだあるApplication Frameworkの主要なフレームワーク
6.1.9 バックグラウンドの処理を行うコンポーネント(Service)
Service
サービスの開始と終了
サービスのライフサイクル
6.1.10 Application Frameworkのコンポーネント「Intent」
アクティビティのインスタンス化にnewは使わない
インテントの種類
インテントによるコンポーネントの呼び出し
ブロードキャストレシーバー
メモ Settings.Systeクラスの定数
メモ コンポーネントのプロセス
6.1.11 ブロードキャストを受け取るプログラム(バッテリーの残量を取得)
バッテリー残量を取得するブロードキャストレシーバーを作成する
インテントを受信したときに呼び出されるメソッドをオーバーライドする
匿名クラスでブロードキャストレシーバーをインスタンス化
インテントフィルターにブロードキャストレシーバーを登録
ブロードキャストレシーバーの登録を解除
プロジェクトを作成して画面を作る
MainActivity.javaにソースコードを入力する
Java A to Z プログラミング的な話⑧ もしも・・・――if文
Java A to Z オブジェクト指向的な話⑨ 自分自身――this参照
メモ 複数のコンストラクターを持つクラス
6.2 AndroidのXMLファイル
6.2.1 AndroidManifest.xml
AndroidManifest.xmlの仕組み
AndroidManifest.xml
マニフェストファイルを解剖する
Java A to Z オブジェクト指向的な話⑩ クラス一(いち)族――継承
Java A to Z オブジェクト指向的な話⑪ 引継ぎの引継ぎ――サブクラスの継承
Java A to Z オブジェクト指向的な話⑫ 情報伝達――継承におけるコンストラクターの扱い
Java A to Z オブジェクト指向的な話⑬ メソッドの入れ換え――オーバーライド
ヒント Javaとポインター

Chapter 7 イベントを処理する
7.1 レイアウトの基本
7.1.1 アクティビティを利用した画面の作成
Androidアプリの開発過程
「①レイアウトの作成」について
「②アクティビティが表示されるときの処理を記述」について
「③ビューに関する処理を記述」について
7.1.2 ビューとレイアウトビュー
activity_main.xmlのコードを見る
レイアウトビュー
7.2 ボタンをタップしたときにメッセージを表示したい(イベントの処理)
7.2.1 イベント処理の仕組み
イベントドリブン型プログラムの作成
7.2.2 ボタンタップでメッセージを表示するアプリを作る
画面にテキストビューとボタンを配置する
画面を作っているXMLのコードを確認しておこう
ボタンタップを処理するJavaのコードを入力しよう
findViewById()メソッドでテキストビューのインスタンスをゲット
findViewById()メソッドでボタンのインスタンスをゲット
クリックイベントの監視を開始(イベントリスナーの組み込み)
呼ばれたらこれやっといて(コールバックメソッドの実装)
アプリを実行する
7.2.3 イベントリスナーのインスタンスをビューに登録するってどういうこと?
ネストしたクラスやインターフェイス
クラスの中のクラス(ネストしたクラスやインターフェイスの宣言と使い方)
イベントリスナーが組み込まれる仕組みを確認しておこう
Viewクラスのその他のコールバックメソッド
7.2.4 インスタンスの架け橋(Rクラスの内部クラスid)
ビューを配置したときのidクラスの記述を見る
7.2.5 レイアウトファイルにメソッド呼び出しを埋め込む
XMLファイルのButton要素にイベントを検知する属性を設定
Java側ではコールバックメソッドのみを用意
7.2.6 strings.xmlファイルを使ってテキストをコントロールする
activity_main.xmlの記述
strings.xmlの記述
7.3 イベントリスナーを直接アクティビティに登録する
7.3.1 どのボタンがクリックされたか検出する
ボタンを3つ配置した画面を作る
3個のボタンで処理を振り分けるJavaプログラム
アプリを実行する
7.3.2 直接setOnClickListener()に匿名クラスを渡す
Javaのソースコードを記述
ヒント 匿名クラスを使うメリット
匿名クラスのインスタンスをボタンに登録する処理
7.4 Javaだけでレイアウトから処理までをすべてまかなう
7.4.1 Javaプログラムでビューを配置する
レイアウトビューの設定
テキストビューを作って画面に貼り付ける
ボタンをリニアレイアウトの上に貼り付けてイベントリスナーを登録する
コールバックメソッドのオーバーライド
これまでのコードをMainActivity.javaに書き込む
7.5 イベントリスナー専用のクラスを作る
7.5.1 イベントリスナー専用のクラスを作る
MainActivity.javaの記述
これまでのイベント処理で結局どれが一番いいの?
7.6 複数のイベントに対処する
7.6.1 ボタンがクリックされて放されるまでの一連の処理を行う
OnTouchListenerインターフェイスを実装したクラスの作成と組み込み
タッチイベントの種類を調べる
7.6.2 プログラムの作成
プログラムコードの入力(MainActivity.java)
アプリを実行する
Java A to Z オブジェクト指向的な話⑭ 「完結していないクラス」――抽象クラス
メモ タッチ関連のメソッドとタッチイベント

Chapter 8 ウィジェットを配置する
8.1 画面にウィジェットを配置していろいろな機能を持たせよう
8.1.1 タップされた回数をカウントしよう(ボタン)
ウィジェットを配置するにはエディターを使う? それとも手入力?
画面を作る
ボタンがクリックされた回数を表示する
アプリを実行する
イベントリスナーとコールバックメソッド
インターフェイスをMainActivityクラスで実装してみる
レイアウトもすべてJavaのソースコードで書いてみる
8.1.2 画面上にメッセージをポップアップさせる(トースト)
画面にポップアップメッセージを表示するには
画面とプログラムの作成
入力するプログラムコード
アプリを実行する
8.1.3 アクティビティのライフサイクルをトーストに表示する
画面とプログラムの作成
アプリを実行する
8.1.4 ボタンクリックで現在日時をポップアップ表示する
現在日時を表示する手順
画面を作る
トーストに現在日時を表示するソースコードを入力する
アプリを実行する
8.1.5 好きなだけ選択させる―チェックボックス
チェックボックスを配置する
チェックボックスの状態を調べるソースコードを入力する
ソースコードのポイント
アプリを実行する
8.1.6.1 つだけ選択させる―ラジオボタンのオンとオフ
ラジオボタンはビューグループにまとめて配置
ソースコードを入力する
ソースコードのポイント
アプリを実行する
ヒント ラジオボタンとチェックボックスの使い分け
メモ デフォルトでどれかのボタンをオンにしておくには
8.1.7 オン/オフできるスイッチを配置する――トグルボタン
トグルボタンを配置する
トグルボタンの状態を通知するソースコードを入力する
ソースコードのポイント
アプリを実行する
8.1.8 スライド式のつまみを配置する――シークバー
シークバーを配置する
シークバーの動作を通知するコードを入力する
プログラムコードの解説
アプリを実行する
8.1.9 星の数で操作する―レイティングバーの配置
レイティングバーを配置する
選択された星の数を通知するコードを入力する
プログラムコードの解説
アプリを実行する
メモ 0を選択できるようにする
8.23 種類のメニューを使いこなそう
8.2.1 ツールバーでオプションメニューを表示
メニューのアイテム用のテキストを「strings.xml」ファイルに登録しよう
メニューが選択されたときの処理を記述しよう
プログラムコードの解説(MainActivity.java)
アプリを実行する
イベントリスナーによるメニューの処理
Java A to Z プログラミング的な話⑨ どれかに一致――switch文
8.2.2 ドロップダウンメニューの配置(スピナー)
スピナーのアイテム用のテキストを「strings.xml」ファイルに登録する
画面を作る
ソースコードの入力
ソースコードのポイント
プログラムから動的にアイテムを追加する
8.2.3 画面中央に開くコンテキストメニュー
メニューに表示するテキストを「strings.xml」ファイルに登録する
コンテキストメニューの構造を設定するXMLファイルの作成とXMLコードの記述
メインのレイアウトファイルの編集
画面タッチでメニューを表示して項目の選択に対応するコードを記述する
8.3 便利アイテムの表示
8.3.1 テキスト式時計の表示
TextClockを表示する
8.3.2 簡易型ストップウォッチの作成
画面を作る
計測の開始と停止、リセットを行うコードを入力する
ソースコードのポイント
クロノメーターの実行結果
FAQ

Chapter 9 ダイアログボックスを利用する
9.1 画面にポップアップするダイアログを使う
9.1.1 アラートダイアログの表示
画面の作成
アラートダイアログを生成して処理を行うコードの入力
ソースコードを確認
アプリを実行してダイアログを表示してみよう
Yes/Noボタンが付いたダイアログを作成する
連続してダイアログを出す
9.1.2 リスト形式のダイアログの表示
ソースコードのポイント
9.1.3 ラジオボタン型アラートダイアログの表示
ラジオボタン型のアラートダイアログを表示する
ソースコードのポイント
9.1.4 チェックボックス型アラートダイアログの表示
画面の作成
チェックボックスボックス型ダイアログを表示するコードの入力
ソースコードのポイント
9.2 プログレスダイアログの表示
9.2.1 アプリ起動時にプログレスダイアログを表示する
アプリ起動と同時にプログレスダイアログを一定の時間表示する
ソースコードのポイント
プログレスバーに進捗状況を表示する
9.2.2 別スレッドで実行するプログレスダイアログの作成
アプリの画面を作る
アプリで使用するテキストの登録
ソースコードの入力
ソースコードのポイント
9.3 日付設定、時刻設定ダイアログ
9.3.1 日付入力ダイアログと時刻設定ダイアログ
アプリの画面を作る
日付の入力と時刻の入力を行うプログラムを作成する
ソースコードのポイント
9.3.2 「時間になったらお知らせアプリ」を作ってみる
ヒント 日本語キーボードの設定
メモ ところでウィジェットとビューはどう違うの?
メモ RGB値

Chapter.10 リストビューを利用する
10.1 リスト形式のメニューを使って10個以上の選択肢を提供する
メモ ArrayAdapterクラス
10.1.1 MXLファイルで管理するリストビューの作成
リストアイテム用のレイアウトファイルを作成する
リストアイテムのテキストをXMLファイルに登録する
リストビューを表示するコードを入力する
入力したソースコードのポイント
メモ ListViewのイベント処理を行うメソッド
リストビューのロングクリックイベントを処理する
10.2 スクロールの制御
メモ プログレスダイアログのメソッド
10.2.1 スクロール用のフックを配置する
リストビューにスクロール用のフックを配置する
ソースコードの入力
ヒント 指定した位置まで自動でスクロールさせる
10.3 オリジナルのリストビューを表示する
10.3.1 リストビューにヘッダーとフッターを表示して「単語記憶アプリ」を作ろう!
アプリの画面を作る
リストビューにヘッダーとフッターを追加するコードを入力する
Java A to Z プログラミング的な話⑩ 変数のグループ??配列
メモ ArrayListクラス
メモ HashMapクラス
メモ フローティングボタンを使ってみる

Chapter.11 XMLでレイアウトする
11.1 リニアレイアウト(XML使用)
メモ リソースの種類
11.1.1 XMLファイルによるレイアウトの設定
XMLによるシンプルなレイアウト
ソースコードの入力
XMLによるレイアウトはAndroidアプリの基本
XMLのレイアウトをJava側で使う仕組み
メモ ビューグループという名前のもとは「ViewGroup」クラス
11.1.2 垂直方向のリニアレイアウト
ウィジェットを縦に並べて配置する
XMLのコードの内容を確認しよう
11.1.3 水平方向のリニアレイアウト
要素を横に並べて配置する
ウィジェットが画面の横幅に収まりきれない場合
11.1.4 絶対的なサイズ指定
単位を使ってウィジェットのサイズを指定する
ボタンのサイズ指定を確認する
サイズを指定する単位について
11.1.5 自動でサイズを調整して余白をなくす(layout_weight)
layout_weight属性を指定して余白をなくす
XMLコードのポイント
11.1.6 左詰め、右詰め、中央揃えの設定(layout_gravity属性)
layout_gravity属性による横方向の位置指定
メモ ピクセルとドットの違い
11.1.7 上詰め、下詰め、中央の設定(layout_gravity属性)
layout_gravity属性による縦方向の位置指定
メモ Androidのレイアウトで使用する単位
11.1.8 余白の設定
LinearLayoutに余白を設定する
XMLコードのポイント
11.1.9 ボタン内部に余白を設定する
ボタン内部にパディングを設定してテキストとの間に余白を入れる
XMLコードのポイント
ヒント ボタンに余白を設定する意味
サイズ指定したボタンにおける余白の設定
余白のサイズがボタンのサイズを超えている場合
11.2 テーブルレイアウト
11.2.1 ウィジェットをタイル状に並べて配置する
XMLのルート要素をTableLayoutにする
6個のボタンを3.2 のマス目に配置する
テーブルを利用した不規則な配置
11.2.2 空のセルを作る
テーブルの真ん中のセルを空ける
XMLコードのポイント
11.2.3 ストレッチ
テーブルの2列目を横方向へ引き伸ばす
11.2.4 スパン
テーブルの1つの要素だけを引き伸ばす
11.3 相対レイアウト
11.3.1 画面全体に対する相対的な位置取りを行う
親要素からの相対的な位置を指定してボタンを配置する
親要素を基準とした相対配置を行うための属性
ワンポイント [Properties]ウィンドウで設定する場合
11.3.2 特定のウィジェットを基準にしたレイアウト
親要素を指定した相対的なレイアウト
特定のビューを基準とした相対配置を行うための属性
メモ 最もシンプルな「FrameLayout」
11.4 フラグメントによるレイアウト
11.4.1 フラグメントの仕組みと使いどころ
フラグメントを使うメリット
フラグメントのライフサイクル
11.4.2.1 つのアクティビティに2つのフラグメントを配置する
レイアウトファイルの作成
ソースファイルの作成
アプリを実行する
メモ フラグメント用のクラス
11.4.3 ダイアログフラグメントを利用する
レイアウトファイルの作成
ソースファイルの作成
アプリを実行する
11.4.4 フラグメントを利用して「運試しアプリ」を作ってみよう
レイアウトファイルの作成
ソースファイルの作成
アプリを実行する
Java A to Z オブジェクト指向的な話⑮ 扱う型を限定する――ジェネリックス

Chapter.12 テキストを表示/保存する
12.1 メモアプリの作成
12.1.1 メモアプリを作成しよう
オプションメニュー用のレイアウトファイル「main.xml」を編集する
ファイルの読み書きを行うソースコードの入力
入力したソースコードのポイント
アプリを実行してファイルの読み書きを行ってみる
Java A to Z オブジェクト指向的な話⑯ クラスに1個だけ――静的メンバー
メモ 文字を囲むときの「’」と「"」の使い分け

Chapter.13 グラフィックスを操作する
13.1 イメージの表示
13.1.1 イメージを画面に表示する
イメージファイルを保存するフォルダーを作成する
イメージファイルを用意する
イメージビューを配置してイメージを表示する
メモ Androidアプリ用のイメージはPNGを使おう
13.1.2 イメージをリサイズして表示する
イメージファイルを用意してアプリの画面を作る
イメージをリサイズして表示するコードを入力する
リサイズのポイント
13.1.3 表示中のイメージのサイズを取得する
イメージファイルを用意してアプリの画面を作る
イメージを表示してサイズを取得するコードを入力する
サイズを取得するポイント
13.1.4 イメージをスクリーンのレイアウトにフィットさせる
13.1.5 アプリの背景イメージを連続して表示する
13.1.6 XMLでグリッドを設定する
GridLayout要素を使用してグリッド上の配置を行う
ヒント GridLayout
13.1.7 Javaを利用したイメージの制御
イメージを表示するコードを入力する
13.1.8 イメージを拡大・縮小する
イメージのサイズを切り替えるコードを入力する
イメージのサイズを切り替えるソースコードのポイント
13.1.9 イメージを回転させる
ソースコードの入力
13.1.10 イメージが回転するアニメーションを作る
ソースコードの入力
13.1.11 イメージが拡大するアニメーションを作る
ソースコードの入力
13.1.12 アプリのアイコンを自作のアイコンにする
メモ AVDにインストールされたアプリがいっぱいになったら
ヒント 高速で描画を行うSurfaceView
FAQ

Chapter.14 SQLiteを利用する
14.1 テキストファイルの読み書き
14.1.1 テキストファイルの読み書きを行うプログラムの作成
入力したテキストをファイルに保存する
入力したソースコードのポイント
アプリを実行する
メモ ファイルシステムのセキュリティ対策
14.2 SQLiteを利用したデータベースプログラミング
メモ SQLiteの主な命令文
14.2.1 データの読み書きを行うデータベースアプリ
データベースの用意
SQLiteOpenHelperクラスを継承したDatabaseHelperサブクラスを定義
データの読み書きを行うデータベースアプリを作成する
入力したソースコードのポイント
メモ SQLiteOpenHelperクラス
メモ データベースの保存場所を指定するには
アプリを実行する
14.2.2 データの検索を行うデータベースアプリ
データの検索を行うデータベースアプリを作成する
入力したソースコードのポイント
ヒント 特定の文字列を検索するには
アプリを実行する

Chapter.15 Webビューでサイトを表示する
15.1 Webビューの操作
15.1.1 Webビューの配置とWebページの表示
Manifestファイルの編集
アプリの画面を作成する
メモ Webビューを利用したアプリ
URLを指定してWebページを開くコードを入力する
入力したコードのポイント
リンクの呼び出しをWebビューで行えるようにする
15.1.2 メニュー操作によるWebページの表示
Manifestファイルの編集
アプリの画面を作成する
Webページ表示用のメニューを組み込んだアプリの作成
入力したソースコードのポイント
アプリを実行する
Java A to Z オブジェクト指向的な話⑰ 「依頼の窓口」――インターフェイス
ヒント インターフェイスの用途

Chapter.16 Googleマップを利用する
16.1 Google Mapsを利用した地図情報の表示
16.1.1 Google Mapsを利用するための準備
Maps API Keyの入手からWebビューアプリの開発まで
メモ SHA1フィンガープリントを作成してAPIキーへのアクセスを制限する
Google Maps Android APIの APIキーを取得する
Google Mapsに必要なコンポーネントをインストールする
16.1.2 Google Mapsアプリ専用のプロジェクトとAVDの作成
Google Maps対応のプロジェクトを作成する
Google Maps Android API用のAPIキーを登録する
Google Maps専用のエミュレーターを作成する
作成直後のプロジェクトをコンパイルして実行してみる
デフォルトで記述されたソースコードを確認しておこう
メモ 地図を表示しても「Google」のロゴしか表示されない!
16.1.3 アプリに銀座四丁目の地図を表示する
アプリの画面はデフォルトの設定をそのまま使用
表示する場所と地図の倍率を指定するコードを入力する
MapsActivity.javaのコードを確認しよう
アプリを実行する
16.1.4 Googleマップにピン型のマーカーを表示する
コードを入力してGoogleマップにマーカーを表示する
アプリを実行する
16.1.5 マップを回転させてから傾斜を付けて表示する
マップの北と南の位置を逆転させて若干傾斜を付ける
アプリを実行する
16.2 地図情報の切り替え
16.2.1 地図を衛星写真や渋滞情報に切り替える
地図を衛星写真や渋滞情報に切り替えるコードの入力
メモ 「Google Maps API.3」って何?
16.2.2 メニューに登録された位置を表示する
メニューに登録された位置を表示するようにしてみよう

Chapter.17 サウンドの再生、アプリ間の通信タッチイベントと各種センサーの処理
17.1 サウンドファイルの再生
17.1.1 簡易型サウンドプレーヤーを作成する
MP3ファイルの用意
画面の作成とプログラムコードの入力(MainActivity.java)
17.2 アクティビティ間の通信
17.2.1 複数のアクティビティのコントロール
インテントとは
4つのアクティビティ用の画面を作る
メインのアクティビティコードを入力する
ヒント AVDがなかなか起動しない
呼び出される側のアクティビティのコードを入力する
マニフェストファイルを編集する
アプリを実行する
17.2.2 アクティビティ間の通信
メイン画面の作成
2つ目の画面の作成
メインのアクティビティコードを入力する
もう1つのアクティビティコードを入力する
マニフェストファイルの編集(AndroidManifest.xml)
アプリを実行する
17.3 アプリケーション間の通信
17.3.1 他のアプリを呼び出してアクティビティに表示する
アプリ画面を作成する
ボタンクリックでアプリを呼び出すためのコードを入力する
入力したコードのポイント
アプリを実行する
17.3.2 インテントで電話を起動する
ソースコードの入力
アプリを実行する
17.3.3 静止画の撮影
アプリ画面の作成
ソースコードの入力
メモ インテントは情報伝達のための「箱」
アプリを実行する
17.3.4 ブロードキャストレシーバーの取得
バッテリーの残量を取得する
入力したソースコードのポイント
17.3.5 サービスの利用
NotificationManager
マニフェストファイルの編集(AndroidManifest.xml)
メインアクティビティのコードを入力する
サービスを実行するクラスを定義する(MessageService.java)
サービス上で一定間隔で実行するタスクを定義する
アプリを実行する
17.4 タッチパネルで発生するイベントや各種センサーの処理
17.4.1 ジェスチャーの処理
17.4.2 タッチイベントに対応して図形を移動する
17.4.3 加速度センサーと地磁気センサー
Java A to Z オブジェクト指向的な話⑱ 匿名クラス
メモ LinearLayoutとRelativeLayout

Appendix 資料編
Appendix 1 リリース用のapk形式ファイルの作成
Android Studioで電子署名付きのapk形式ファイルを作成する
Appendix 2 Google Playに開発者として登録
Google Playに開発者として登録しよう
Google Playにアプリをアップロードする
ヒント 開発用の端末を用意する

Index 1 用語索引
Index 2 目的別索引

書籍目次

Posted by shi-n