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

概 要

Androidアプリは、JavaとXMLという言語で開発されています。Javaを使いこなすにはプログラミングの知識に加えて、オブジェクト指向というちょっと難しい考え方が必要ですが、尻込みする必要はありません。本書は、無料のAndroid Studio 2を使ってアプリ開発しながら、JavaとXMLの基礎を完全解説します。また、学習がスムーズに進むように随所にコラム形式でプログラミングのテクニックやJavaに関するトピックを掲載しました。

著者 金城俊哉
価格 本体3200円(税別)
ISBN 978-4-7980-4847-5
発売日 2016/11/29
判型 B5変
ページ数 940
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

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

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

サポート

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

サポート情報へのリンク

目次

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.0 リストビューを利用する

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.1 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.2 テキストを表示/保存する

12.1 メモアプリの作成

12.1.1 メモアプリを作成しよう

オプションメニュー用のレイアウトファイル「main.xml」を編集する

ファイルの読み書きを行うソースコードの入力

入力したソースコードのポイント

アプリを実行してファイルの読み書きを行ってみる

Java A to Z オブジェクト指向的な話⑯ クラスに1個だけ――静的メンバー

メモ 文字を囲むときの「'」と「"」の使い分け

Chapter.3 グラフィックスを操作する

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.4 SQLiteを利用する

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

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

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

入力したソースコードのポイント

アプリを実行する

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

14.2 SQLiteを利用したデータベースプログラミング

メモ SQLiteの主な命令文

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

データベースの用意

SQLiteOpenHelperクラスを継承したDatabaseHelperサブクラスを定義

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

入力したソースコードのポイント

メモ SQLiteOpenHelperクラス

メモ データベースの保存場所を指定するには

アプリを実行する

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

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

入力したソースコードのポイント

ヒント 特定の文字列を検索するには

アプリを実行する

Chapter.5 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.6 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.7 サウンドの再生、アプリ間の通信タッチイベントと各種センサーの処理

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にアプリをアップロードする

ヒント 開発用の端末を用意する

PR

秀和システム