Androidアプリ開発 パーフェクトマスター

概 要

Androidスマホのアプリを開発したい。アプリを販売して儲けたい。アプリ開発を経験して将来プログラマになりたい。でも、プログラミングの知識はまったくない。そんなあなたでも大丈夫です。本書は、Androidアプリ開発に必要な「AndroidStudio」の使い方から、JavaやXMLの仕組み、アプリ開発の実際、アプリをストアに登録するまでをフルカラーの紙面でわかりやすく完全解説しています。あなたのひらめきを実装しましょう!

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

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

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

サポート

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

サポート情報へのリンク

目次

Chapter 0 ゼロからスタート!

0.1 ところでAndroidアプリを作ると何がウレシイの

Androidにはいいことがいっぱい

0.2 プログラミングの知識がなくても大丈夫!!

この本の仕組み

まずはツールを用意する

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 開発環境を動かすための下準備(環境変数「JAVA_HOME」の設定)

JDKがインストールされている位置を登録する(Windows環境変数の設定)

2.1.3 Android Studioのダウンロードとインストール

Android Studioを無償でダウンロード

2ステップでAndroid Studioをインストール

Android Studioを起動しよう

Android Studioを最新の状態にしよう

コラム バージョンアップで気を付けたいこと

2.2 最新の開発環境Android Studioを無償でインストール(Mac編)

JDK7のダウンロードとインストール

コラム MacにJavaがインストールされているかを確認する

2.2.1 Mac版Android Studioのダウンロードとインストール

Mac版Android Studioを無償でダウンロード

ドラッグ操作で簡単インストール

Mac版Android Studioを起動しよう

Android Studioを最新の状態にする

どのバージョンのJavaが最適?

Java A to Z プログラミング的な話① パッケージのインポート

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 SDKをインストールする

AndroidSDKのバージョンアップについて

3.2.3 Android アプリをPC上でシミュレーションできるようにする(仮想デバイスの作成)

仮想デバイスを作る

Chapter 4 はじめてのAndroidアプリ開発!

4.1 まっさらな状態からAndroidアプリを作って実行する

4.1.1 作成したばかりのプロジェクトのアプリを実行する

まったく手付かずの状態のアプリを起動する

AVDについての補足

「AVDが起動しない」「AVDでアプリが実行されない」ときの対処法

AVDの言語圏を日本に設定

4.1.2 PCならではのAVDの便利な使い方

エミュレーターの向きを横向きにしてみよう

AVDの操作パネルのボタン

4.2 「Hello world!」の表示を「こんにちはAndroid!」にする

4.2.1 「Hello world!」がプログラムのどこにあるのかを見付ける

Androidアプリの画面はXMLで作る

画面のレイアウト作業はDesignエディターで行う

レイアウトを設定しているファイルの中身を見る

ついに「Hello world!」発見!

4.2.2 XMLファイルの中身を書き換えて「こんにちはAndroid!」と表示する

表示する文字列を書き換えてみよう

書き換えた文字列が画面に表示されるか確認しよう

プロジェクトを閉じる

再びプロジェクトを開く

4.2.3 実機を使ってアプリを実行する

実機を接続するための準備

実機のデベロッパーモードを有効にする

実機のデバイスドライバーを入手する

実機のデバイスドライバーをパソコンにインストールする(Windowsのみ)

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クラスの3つのメソッド

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 オブジェクト指向的な話③ プログラム部品の記憶装置??フィールド②

5.3 端末に設定されている地域情報と言語圏を表示するアプリ

5.3.1 地域や言語に関する情報を調べる

現在設定されているロケールデータを入手する

ロケールデータのインスタンスから情報を取り出す

5.3.2 プロジェクトを作成して画面を作る

アプリの画面を作る

5.3.3 地域情報と言語圏を表示するためのコードを書く

MainActivity.javaにソースコードを入力する

アプリを実行する

Java A to Z オブジェクト指向的な話④ 「プログラム部品の稼動部??メソッド」

Java A to Z オブジェクト指向的な話⑤ 「呼んだら何か返ってきた??メソッドの戻り値」

5.4 現在の日時を画面に表示するアプリ(システム時刻)

5.4.1 システム時刻の取り出し方(Calendarオブジェクトの取得)

現在時刻を知らせるインスタンスは1つしかない

get()メソッドで必要なデータを取り出す

5.4.2 プロジェクトを作成して画面を作る

アプリの画面を作る

5.4.3 システム時刻を調べて表示するためのコードを書く

MainActivity.javaにソースコードを入力する

アプリを実行する

警告が表示された場合

メモ オブジェクト生成時に設定される初期化値

Java A to Z オブジェクト指向的な話⑥ 立ち上げ準備!??コンストラクター

Java A to Z オブジェクト指向的な話⑦ 自動作成??デフォルトコンストラクター

Java A to Z オブジェクト指向的な話⑧ 呼び分ける??コンストラクターのオーバーロード

Chapter 6 Androidの構造と仕組みを知る

6.1 Androidの構造

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

Androidの全体像を見る

各レイヤーを見る

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

6.1.2 LinuxカーネルとかHALとか

Linuxの中核にある部品をAndroidに流用

6.1.3 ライブラリー(Libraries)に搭載されているプログラム

ライブラリーの中身を見てみよう

MediaFramework

コラム 用語解説

Davik VMを詳しく見る

コラム 用語解説

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

サービスの開始と終了

サービスのライフサイクル

メモ ART(Android RunTime)

6.1.10 Application Frameworkのコンポーネント「Intent」

アクティビティのインスタンス化にnewは使わない

インテントの種類

インテントによるコンポーネントの呼び出し

ブロードキャストレシーバー

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

6.1.11 ブロードキャストを受け取るプログラム(バッテリーの残量を取得)

バッテリー残量を取得するブロードキャストレシーバーを作成する

インテントを受信したときに呼び出されるメソッドをオーバーライドする

匿名クラスでブロードキャストレシーバーをインスタンス化

インテントフィルターにブロードキャストレシーバーを登録

ブロードキャストレシーバーの登録を解除

プロジェクトを作成して画面を作る

MainActivity.javaにソースコードを入力する

Java A to Z プログラミング的な話⑧ もしも・・・??if文

Java A to Z オブジェクト指向的な話⑨ 自分自身??this参照

メモ 複数のコンストラクターを持つクラス

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

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

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とポインター

Q&A

Chapter 7 イベントを処理する

7.1 レイアウトの基本

7.1.1 アクティビティを利用した画面の作成

Androidアプリの開発過程

「①レイアウトの作成」について

「②アクティビティが表示されるときの処理を記述」について

「③ビューに関する処理を記述」について

7.1.2 ビューとビューグループ

MainActivity.javaのコードを見る

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に書き込む

メモ LinearLayoutとRelativeLayout

7.5 イベントリスナー専用のクラスを作る

7.5.1 イベントリスナー専用のクラスを作る

MainActivity.javaの記述

これまでのイベント処理で結局どれが一番いいの?

7.6 複数のイベントに対処する

7.6.1 ボタンがクリックされて放されるまでの一連の処理を行う

OnTouchListenerインターフェイスを実装したクラスの作成と組み込み

タッチイベントの種類を調べる

7.6.2 プログラムの作成

プログラムコードの入力(MainActivity.java)

アプリを実行する

Java A to Z オブジェクト指向的な話⑮ 匿名クラス

Java A to Z オブジェクト指向的な話⑯ 「完結していないクラス」??抽象クラス

メモ タッチ関連のメソッドとタッチイベント

Java A to Z オブジェクト指向的な話⑰ 「依頼の窓口」??インターフェイス

メモ AndroidのバージョンとAPIレベル

Chapter 8 ウィジェットを配置する

8.1 画面にウィジェットを配置していろいろな機能を持たせよう

8.1.1 クリックされた回数をカウントしよう(ボタン)

ウィジェットを配置するにはエディターを使う? それとも手入力?

画面を作る

ボタンがクリックされた回数を表示する

アプリを実行する

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

インターフェイスをMainActivityクラスで実装してみる

レイアウトもすべてJavaのソースコードで書いてみる

8.1.2 ロングクリック時のイベントを処理してみよう(ボタン)

「長押し」イベントはOnLongClickListenerインターフェイスで調べる

画面を作る

プログラムコードの入力(Activity1.java)

アプリを実行する

8.1.3 ボタンにアニメーションをさせてみよう

アニメーションは専用のオブジェクトを使って実行する

画面を作る

ソースコードを入力する

アプリを実行する

8.1.4 画面上にメッセージをポップアップさせる(トースト)

画面にポップアップメッセージを表示するには

画面とプログラムの作成

入力するプログラムコード

アプリを実行する

8.1.5 アクティビティのライフサイクルをトーストに表示する

画面とプログラムの作成

アプリを実行する

8.1.6 ボタンクリックで現在日時をポップアップ表示する

現在日時を表示する手順

画面を作る

トーストに現在日時を表示するソースコードを入力する

アプリを実行する

8.1.7 好きなだけ選択させる?チェックボックス

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

チェックボックスの状態を調べるソースコードを入力する

ソースコードのポイント

アプリを実行する

Javaのソースコードでチェックボックスを配置する

8.1.8 1つだけ選択させる?ラジオボタンのオンとオフ

ラジオボタンはビューグループにまとめて配置

ソースコードを入力する

ソースコードのポイント

アプリを実行する

ヒント ラジオボタンとチェックボックスの使い分け

メモ デフォルトでどれかのボタンをオンにしておくには

Javaのソースコードだけでラジオボタンを処理する

ソースコードのポイント

8.1.9 オン/オフできるスイッチを配置する??トグルボタン

トグルボタンを配置する

トグルボタンの状態を通知するソースコードを入力する

ソースコードのポイント

アプリを実行する

8.1.10 スライド式のつまみを配置する??シークバー

シークバーを配置する

シークバーの動作を通知するコードを入力する

プログラムコードの解説

アプリを実行する

8.1.11 星の数で操作する?レイティングバーの配置

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

選択された星の数を通知するコードを入力する

プログラムコードの解説

アプリを実行する

メモ 0を選択できるようにする

8.1.12 横棒の長さで値を表示する??プログレスバー

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

シークバーの動作を通知するコードを入力する

ソースコードのポイント

アプリを実行する

8.2 3種類のメニューを使いこなそう

8.2.1 アクションバーでオプションメニューを表示

メニューのアイテム用のテキストを「strings.xml」ファイルに登録しよう

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

アプリの画面にメニューの操作結果を表示させよう

メニューが選択されたときの処理を記述しよう

プログラムコードの解説(MainActivity.java)

アプリを実行する

イベントリスナーによるメニューの処理

オプションメニューをJavaで配置する

プログラムコードの解説(MainActivity.java)

Javaで作成したオプションメニューにリスナーを組み込む

Java A to Z プログラミング的な話⑨ どれかに一致??switch文

8.2.2 ドロップダウンメニューの配置(スピナー)

スピナーのアイテム用のテキストを「strings.xml」ファイルに登録する

画面を作る

ソースコードの入力

ソースコードのポイント

プログラムから動的にアイテムを追加する

Java A to Z オブジェクト指向的な話⑱ 扱う型を限定する??ジェネリックス

8.2.3 画面中央に開くコンテキストメニュー

メニューに表示するテキストを「strings.xml」ファイルに登録する

コンテキストメニューの構造を設定するXMLファイルの作成とXMLコードの記述

メインのレイアウトファイルの編集

画面タッチでメニューを表示して項目の選択に対応するコードを記述する

8.3 便利アイテムの表示

8.3.1 アナログ時計の表示

アナログ時計を表示する

8.3.2 テキスト式時計の表示

TextClockを表示する

8.3.3 簡易型ストップウォッチの作成

画面を作る

計測の開始と停止、リセットを行うコードを入力する

ソースコードのポイント

クロノメーターの実行結果

メモ ところでウィジェットとビューはどう違うの?

メモ RGB値

Chapter 9 ダイアログボックスを利用する

9.1 画面にポップアップするダイアログを使う

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

画面の作成

アラートダイアログを生成して処理を行うコードの入力

ソースコードを確認

アプリを実行してダイアログを表示してみよう

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

連続してダイアログを出す

9.1.2 リスト形式のダイアログの表示

ソースコードのポイント

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

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

ソースコードのポイント

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

画面の作成

チェックボックスボックス型ダイアログを表示するコードの入力

ソースコードのポイント

9.1.5 オリジナルのダイアログを作ってみる

アプリの画面を作る

ダイアログの画面を作る

オリジナルダイアログの処理を行うコードを記述する

ソースコードのポイント

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

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

アプリ起動と同時にプログレスダイアログを一定の時間表示する

ソースコードのポイント

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

プログレスダイアログをアプリの上部に表示する

メモ プログレスダイアログのメソッド

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

アプリの画面を作る

アプリで使用するテキストの登録

ソースコードの入力

ソースコードのポイント

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

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

アプリの画面を作る

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

ソースコードのポイント

Chapter 10 リストビューを利用する

10.1 リスト形式のメニューを使って10個以上の選択肢を提供する

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

リストアイテム用のレイアウトファイルを作成する

リストアイテムのテキストをXMLファイルに登録する

リストビューを表示するコードを入力する

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

リストビューのロングクリックイベントを処理する

10.1.2 Javaのプログラムでリストビューを作る

ソースコードの入力

メモ ListViewのイベント処理を行うメソッド

10.2 スクロールの制御

10.2.1 スクロール用のフックを配置する

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

ソースコードの入力

10.2.2 スクロールの制御

アプリの画面を作る

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

プログラムコードの入力(Activity1.java)

自動スクロールのポイント

10.3 オリジナルのリストビューを表示する

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

アプリの画面を作る

リストビューにヘッダーとフッターを追加するコードを入力する

10.3.2 リストビューを2段組で表示する

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

アプリの画面にリストビューを配置する

リストビューを表示するコードを入力する

ソースコードのポイント

メモ ArrayAdapterクラス

Java A to Z プログラミング的な話⑩ 変数のグループ??配列

メモ ArrayListクラス

メモ HashMapクラス

10.3.3 リストビューを縦2段組で表示する

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 画面全体に対する相対的な位置取りを行う

親要素からの相対的な位置を指定してボタンを配置する

親要素を基準とした相対配置を行うための属性

11.3.2 特定のウィジェットを基準にしたレイアウト

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

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

メモ 最もシンプルな「FrameLayout」

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

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

Javaだけでアプリを作成する

レイアウトのポイント

11.5 画面全体の操作

11.5.1 画面全体をスクロールさせる

スクロールビューを画面に組み込む

11.5.2 フルスクリーン化

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

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

フルスクリーンにする

11.6 フラグメントによるレイアウト

11.6.1 フラグメントの仕組みと使いどころ

フラグメントを使うメリット

フラグメントのライフサイクル

11.6.2 1つのアクティビティに2つのフラグメントを配置する

レイアウトファイルの作成

ソースファイルの作成

メモ フラグメント用のクラス

アプリを実行する

11.6.3 ダイアログフラグメントを利用する

レイアウトファイルの作成

ソースファイルの作成

アプリを実行する

11.6.4 ボタンクリックでフラグメントを表示する

レイアウトファイルの作成

ソースファイルの作成

アプリを実行する

Chapter 12 テキストを表示/保存する

12.1 カスタムビューの作成

12.1.1 テキスト表示用の画面を自作する(カスタムビューの作成)

カスタムビュー用のソースファイルを作ろう

カスタムビュークラスに必要な要素を確認しておこう

カスタムビューでスタイルを設定してテキストを描画しよう

12.2 メモ用アプリの作成

12.2.1 メモ用アプリの作成

アプリの画面を作る

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

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

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

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

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

13.1 イメージの表示

13.1.1 イメージを画面に表示する

イメージファイルを保存するフォルダーを作成する

イメージファイルを用意する

イメージビューを配置してイメージを表示する

メモ 解像度別に用意されているフォルダー

ワンポイント イメージのサイズがリサイズされたくない場合

メモ Androidアプリ用のイメージはPNGを使おう

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

イメージファイルを用意してアプリの画面を作る

イメージをリサイズして表示するコードを入力する

リサイズのポイント

13.1.3 表示中のイメージのサイズを取得する

イメージファイルを用意してアプリの画面を作る

イメージを表示してサイズを取得するコードを入力する

サイズを取得するポイント

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

イメージファイルを用意してアプリの画面を作る

グリッドを表示するための専用のクラスを作成する

グリッドビューをアクティビティに表示するコードを入力する

13.1.5 XMLでグリッドを設定する

GridLayout要素を使用してグリッド上の配置を行う

ヒント GridLayout

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

イメージを表示するコードを入力する

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

イメージのサイズを切り替えるコードを入力する

イメージのサイズを切り替えるソースコードのポイント

13.1.8 イメージを回転させる

ソースコードの入力

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

ソースコードの入力

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

ソースコードの入力

13.2 グラフィックスの描画

13.2.1 点の描画

点の描画を行うメソッド

プログラムコードの入力(MainActivity.java)

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

13.2.2 直線の描画

直線を描画する

ヒント 高速で描画を行うSurfaceView

13.2.3 四角形の描画

四角形を描画する

13.2.4 円の描画

円を描画する

13.2.5 楕円の描画

楕円を描画する

13.2.6 弧の描画

弧を描画する

13.2.7 ラインの描画

ラインを描画する

ソースコードのポイント

Q&A

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ファイルの編集

アプリの画面を作成する

URLを指定してWebページを開くコードを入力する

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

リンクの呼び出しをWebビューで行えるようにする

メモ Webビューを利用したアプリ

15.1.2 メニュー操作によるWebページの表示

Manifestファイルの編集

アプリの画面を作成する

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

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

アプリを実行する

Chapter 16 Googleマップを利用する

16.1 Google Mapsを利用した地図情報の表示

16.1.1 Google Mapsを利用するための準備

Maps API Keyの入手からWebビューアプリの開発まで

SHA1フィンガープリントを作成する

Maps API Keyを取得する

Google Mapsに必要なコンポーネントをインストールする

16.1.2 Google Mapsアプリ専用のプロジェクトとAVDの作成

Google Maps対応のプロジェクトを作成する

Google Maps用のAPIキーを登録する

Google Maps専用のエミュレーターを作成する

作成直後のプロジェクトをコンパイルして実行してみる

デフォルトで記述されたソースコードを確認しておこう

16.1.3 アプリに銀座四丁目の地図を表示する

アプリの画面はデフォルトの設定をそのまま使用

表示する場所と地図の倍率を指定するコードを入力する

MapsActivity.javaのコードを確認しよう

アプリを実行する

16.1.4 Googleマップにピン型のマーカーを表示する

コードを入力してGoogleマップにマーカーを表示する

アプリを実行する

16.1.5 マップを回転させてから傾斜を付けて表示する

マップの北と南の位置を逆転させて若干傾斜を付ける

アプリを実行する

16.2 地図情報の切り替え

16.2.1 地図を衛星写真や渋滞情報に切り替える

地図を衛星写真や渋滞情報に切り替えるコードの入力

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

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

メモ 「Google Maps API v3」って何?

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

LocationClientクラス

LocationListenerインターフェイス

Locationクラス

Androidにおける位置情報サービス

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

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

Chapter 17 サウンドとカメラを利用する

17.1 サウンドファイルの再生

17.1.1 簡易型サウンドプレーヤーを作成する

MP3ファイルの用意

画面の作成とプログラムコードの入力(MainActivity.java)

17.2 静止画と動画の撮影

チップス Webカメラでエミュレーションする

17.2.1 静止画の撮影

アプリの画面の作成

ソースコードの入力

カメラ機能を有効にしたAVDの作成

アプリを実行する

17.2.2 動画の撮影

アプリの画面の作成

ソースコードの入力

アプリを実行する

Chapter 18 アクティビティ間で通信する

18.1 アクティビティ間の通信

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

インテントとは

4つのアクティビティ用の画面を作る

メインのアクティビティのコードを入力する

呼び出される側のアクティビティのコードを入力する

マニフェストファイルを編集する

アプリを実行する

18.1.2 アクティビティ間の通信

メイン画面の作成

2つ目の画面の作成

メインのアクティビティのコードを入力する

もう1つのアクティビティのコードを入力する

マニフェストファイルの編集(AndroidManifest.xml)

アプリを実行する

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

18.2.1 他のアプリを呼び出してアクティビティに表示する

アプリの画面を作成する

ボタンクリックでアプリを呼び出すためのコードを入力する

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

アプリを実行する

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

ソースコードの入力

アプリを実行する

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

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

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

メモ インテントは情報伝達のための「箱」

18.2.4 サービスの利用

PendingIntent

AlarmManager

NotificationManager

マニフェストファイルの編集(AndroidManifest.xml)

メインアクティビティのコードを入力する

サービスを実行するクラスを定義する(MessageService.java)

アプリを実行する

Appendix 資料編

Appendix 1 Androidの進化の歴史を見る

Appendix 2 リリース用のapk形式ファイルの作成

Android Studioで電子署名付きのapk形式ファイルを作成する

Appendix 3 Google Playに開発者として登録する

Google Playに開発者として登録する

Google Playにアプリをアップロードする

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

Appendix 4 用語索引

Appendix 5 目的別索引

PR

秀和システム