書籍概要

基礎から学ぶAndroidアプリ開発の教科書
――JavaAndroid Studioで自分だけのアプリを作ろう

著者
発売日
更新日

概要

本書はJavaとAndroid studioでAndroidを基礎の基礎から学ぶための本です。AndroidアプリはFlutter,Kotlinなどを使用した開発が職業プログラマ向けには多くなってます。しかしAndroidアプリの開発は技術習得の難易度が高く,学生や初学者にとってハードルが高いものになってしましました。本書はプロ向けではなく,まず一番簡単に使える環境でAndroidアプリの開発を素朴な疑問レベルから親切丁寧に解説をしていきます。特徴は次のとおりです。

①概念図やクラス図が豊富

②開発ノウハウを盛り込んだ実践的説明と実用的例示

③Javaの基礎知識だけで理解できる平易な説明

こんな方におすすめ

  • Androidスマホのアプリを作ってみたい初心者

サンプル

samplesamplesamplesamplesample

目次

第1部 入門編 Androidアプリを作ってみよう

第1章 Androidアプリを構成するコンポーネント

1.1 コンポーネントの役割
1.2 コンポーネントの連携のしくみ

第2章 Androidアプリの作成手順

2.1 プロジェクトを開設する
2.2 リソースを登録する
2.3 レイアウトを作成する
2.4 コンポーネントを作成する
2.5 マニフェストを作成する
2.6 テストする

第3章 画面レイアウトを作る

3.1 画面レイアウト作成の手順
3.2 UIコンポーネントの配置計画
3.3 UIコンポーネントの実装

第4章 画面を制御するクラスを作る

4.1 アクティビティクラスを作る
  • 4.1.1 アクティビティクラスの構成
4.2 イベントリスナークラスを作る
  • 4.2.1 イベントリスナーの基本構成
  • 4.2.2 onClick()メソッドで行うイベント処理

第5章 業務処理を分離する

5.1 LoginAction クラスを作る

第6章 データストアを分離する

6.1 データベース型DAOクラスを作る
  • 6.1.1 SQLiteデータベースの制御構造
  • 6.1.2 CustomOpenHelperクラスの作成
  • 6.1.3 DAOクラスの作成
  • 6.1.4 DTOクラスの作成
  • 6.1.5 実装例「友達名簿プロジェクト」
6.2 ファイル型DAOクラスを作る
  • 6.2.1 ファイル入力の制御構造
  • 6.2.2 ファイル入力の手順..77
  • 6.2.3 ファイル出力の制御構造
  • 6.2.4 ファイル出力の手順..79
  • 6.2.5 DAOファイル型への変更例

第7章 リスト型画面を作る

7.1 ListViewで静的リストを作る
7.2 ListViewで動的リストを作る
7.3 ListViewにイベントリスナーを追加する.
  • 7.3.1 OnItemClickListenerを継承したクラス

第8章 ダイアログとトーストを使う

8.1 アラートダイアログ(AlertDialog)を使う
  • 8.1.1 アラートダイアログの実装例
8.2 トースト(Toast)を使う..121
  • 8.2.1 トーストの実装例

第9章 画面を遷移する

9.1 画面遷移のイメージ
9.2 結果を要求しない遷移
  • 9.2.1 遷移先へのデータの添付なし
  • 9.2.2 遷移先へのデータの添付あり
  • 9.2.3 結果を要求しない遷移の実装例
  • 9.2.4 マニフェストへの遷移先の登録
9.3 結果を要求する遷移
  • 9.3.1 遷移先へのデータの添付あり
  • 9.3.2 結果を要求する遷移の実装例
9.4 リスト型画面と単票型画面の間の遷移
  • 9.4.1 友人名簿管理のクラス構成
  • 9.4.2 メソッド間の対応関係
  • 9.4.3 クラスのコード

第10章 デバッグする

10.1 ブレークポイントを使ったデバッグ
10.2 ログを使ったデバッグ
  • 10.2.1 ログレベル
  • 10.2.2 ログメソッドの記述方法
  • 10.2.3 Logcatツール画面の使い方
  • 10.2.4 検索条件の指定方法

第2部 実用編 実用性の高いAndroidアプリの開発技術を学ぶ

第11章 アクティビティコンポーネントを整理する

11.1 アクティビティコンポーネントの基本構造
11.2 単票型画面で使用されるウィジェット
11.3 単票型画面の標準的なレイアウト部品
11.4 単票型画面でよく使用されるダイアログ

第12章 ViewスーパークラスとTextView

12.1 UIコンポーネントのクラス構成
12.2 基幹となるViewクラスの属性とメソッド
12.3 TextViewの属性とメソッド

第13章 EditTextを使いこなす

13.1 よく使用されるEditText固有の属性とメソッド
13.2 属性inputTypeを活用する
13.3 EditTextをカスタマイズ
  • 13.3.1 shapeファイルの活用
  • 13.3.2 styleファイルの活用

第14章 Buttonを使いこなす

14.1 よく使用されるButtonの属性とメソッド
14.2 Buttonをカスタマイズする
  • 14.2.1 shapeファイルの活用
  • 14.2.2 styleファイルの活用

第15章 RadioButtonを使いこなす

15.1 よく使用されるRadioButton/RadioGroupの属性とメソッド
15.2 RadioButtonとRadioGroupを実装する

第16章 CheckBoxを使いこなす

16.1 よく使用されるCheckBoxの属性とメソッド
16.2 CheckBoxとLinearLayoutを実装する

第17章 Spinnerを使いこなす

17.1 よく使用されるSpinnerの属性とメソッド
17.2 Spinnerを実装する

第18章 Dialogを使いこなす

18.1 ダイアログの基本構成
18.2 アラートダイアログ(AlertDialog)を使う
  • 18.2.1 アラートダイアログを実装する
18.3 リスト選択型のダイアログを作る
18.4 ラジオボタン型のダイアログを作る
18.5 チェックボックス型のダイアログを作る
18.6 テキストボックス型のダイアログを作る
18.7 デイトピッカーダイアログ(DatePickerDialog)を作る
18.8 タイムピッカーダイアログ(TimePickerDialog)を使う
18.9 トースト(Toast)を使う

第19章 ConstraintLayoutを使いこなす

19.1 ガイドラインの活用
19.2 ベースラインで整合
19.3 チェーン機能で整列
19.4 インクルードで画面を合成する
  • 19.4.1 includeタグの実装
19.5 スクロールする画面を作る
  • 19.5.1 縦のスクロールを実装する
  • 19.5.2 横のスクロールを設定する

第20章 リスト型アクティビティを作る

20.1 リスト型画面を作るウィジェット
  • 20.1.1 リスト型アクティビティの基本構成
  • 20.1.2 DS層のスタブ
20.2 ListViewを使う
  • 20.2.1 ListViewのメソッドと属性
  • 20.2.2 ListViewで動的リスト画面を作画する
  • 20.2.3 標準のアダプタと行レイアウトを使用する
  • 20.2.4 標準のアダプタとカスタムレイアウトを使用する
  • 20.2.5 カスタムアダプタとカスタムレイアウトを使用する
20.3 ListViewにイベントリスナーを追加する
  • 20.3.1 ListViewのリスナー関連のメソッドと属性
  • 20.3.2 イベントリスナーを実装する

第21章 RecyclerViewを使いこなす

21.1 RecyclerViewの基本
  • 21.1.1 ListViewと制御の流れで比較したRecyclerViewの特長
  • 21.1.2 RecyclerViewの周辺構成
  • 21.1.3 RecyclerViewと関連ウィジェットの継承状況
21.2 RecyclerViewを使う
  • 21.2.1 RecyclerViewのメソッドと属性
  • 21.2.2 RecyclerAdapterクラスの構成
21.3 RecyclerViewにクリックリスナーを追加する
  • 21.3.1 コールバック方式で組み込む
  • 21.3.2 直接方式で組み込む

第22章 Intentを活用する

22.1 インテントの構成要素
22.2 明示的インテントと暗黙的インテント
  • 22.2.1 明示的インテント(explicit intent)
  • 22.2.2 暗黙的インテント(implicit intent)
  • 22.2.3 インテントの発行メソッド
  • 22.2.4 明示的インテントと暗黙的インテントの使い分け
  • 22.2.5 暗黙的インテントとインテントフィルター
22.3 インテントの設計と実装
  • 22.3.1 アクション要素
  • 22.3.2 カテゴリ要素
  • 22.3.3 データ要素
  • 22.3.4 追加データ要素
  • 22.3.5 フラグ要素
22.4 インテントの発行と応答受信
  • 22.4.1 インテント発行メソッド
  • 22.4.2 ランチャーを使った画面遷移
  • 22.4.3 ランチャーの実装

第23章 SQLiteデータベースを使いこなす

23.1 SQLiteデータベースの制御構造
23.2 SQLiteデータベースとSQL
  • 23.2.1 SQLiteで使用できるSQL
  • 23.2.2 テーブルの生成と消去
  • 23.2.3 テーブルの検索
  • 23.2.4 レコードの追加
  • 23.2.5 レコードの更新
  • 23.2.6 レコードの削除

第24章 Content Providerを作る

24.1 コンテンツプロバイダとクライアント
24.2 コンテンツプロバイダを作る
  • 24.2.1 コンテンツプロバイダクラスの構成
  • 24.2.2 コンテンツプロバイダのメソッド
24.3 コンテンツプロバイダにアクセスするDAOを作る
  • 24.3.1 コンテンツリゾルバクラスの構成
  • 24.3.2 コンテンツリゾルバクラスのメソッド
  • 24.3.3 コンテンツリゾルバクラスを使用するDAO
24.4 マニフェストを作る
  • 24.4.1 プロバイダ側のマニフェスト

付録1 Android studioをインストールする

1.1 インストールPCの条件
1.2 Android Studioサイトからのダウンロード
1.3 Android Studioをインストールする
1.4 Android Studioメインウィンドウをカスタマイズする

付録2 SDKとAVDをインストールする

2.1 SDKとAVDの関係
2.2 SDKのインストール
2.3 AVDのインストール
2.4 生成したAVDの日本語化
2.5 実機をつなぐ

サポート

ダウンロード

本書で使用したサンプルコードをダウンロード利用できます。学習の際の参考にしてください。

(2026年4月15日更新)

  • 1章から24章までまとめたサンプルコード(圧縮済み)のダウンロード(1GB以上あるのでダウンロード時間がかかります)
    圧縮済み
  • 1章から24章までそれぞれのサンプルコード(非圧縮)をダウンロード
    非圧縮

補足情報

注意 Android Studio のバージョンの差異について

(2026年4月15日更新)

本書で取り扱ったAndroid Studioのバージョン(コードネームOtter)が,提供中止になりましたので,後継バージョン(コードネームPanda)とのインストール時の差異について,以下にまとめます。なお,本資料中の図番号はご購入テキスト「付録1」の図番号に対応します。

表1 コードネームと正式バージョン

コードネーム 正式バージョン(最新) 備考
Otter 2 Android Studio 2025.2.2    
Panda 3 Android Studio 2025.3.4 操作やパフォーマンスの改善,gemini連携など
変更点1 Android Studioサイトからのダウンロード

アクセスサイトURL(https://developer.android.com/studio)に変更はありません。ただし,ダウンロードしたインストーラのファイル名とインストール開始画面は次のようになります。

【インストーラのファイル名】 android-studio-panda3-windows.exe

変更点2 Android Studioインストール初画面

インストール開始直後に表示される画面のボタンのキートップが「【Download Android Studio Panda 3】に変わります。

▼図1.1 トップ画面

zu1-1.png

変更点3 Android Studio開始画面

Android Studioをスタートしたとき数秒間標示されるイラストがラッコ(Otter)から,パンダ(Panda)に変わります。

▼図1.16 Welcome to Android Studio

zu1-16.png

商品一覧