ISBN: 978-4-7981-6980-4
基礎&応用力をしっかり育成!Androidアプリ開発の教科書 第2版 Java対応
WINGSプロジェクト 齊藤 新三 著
サポート終了
| 著者 | WINGSプロジェクト 齊藤 新三 |
|---|---|
| 監修 | 山田祥寛 |
| 出版社 | 翔泳社 |
| 価格 | 2,750円(税別) |
| 判形 | B5変版・2色 |
| ページ数 | 440ページ |
| 発売日 | 2021年4月12日 |
| 対象レベル | 初中級 |
バージョンに左右されない「Androidアプリ開発の基礎力」を習得!
本書は、Java言語の学習者を対象として、ハンズオン形式でサンプルプログラムを作りながら、Androidアプリ開発に必要な基礎知識やSDKの機能、プログラミングテクニックを学ぶことができる書籍です。2018年2月発行の「Androidアプリ開発の教科書」を最新の環境Android Studio 4に合わせて改訂しています。
更新履歴
- FAQ情報:2022年12月14日 更新
- 正誤訂正:2022年2月22日 更新
目次
- 第1章 Androidアプリ開発環境の作成
- 1.1 Androidのキソ知識
- 1.2 Android Studioのインストール
- 第2章 はじめてのAndroidアプリ作成
- 2.1 はじめてのAndroidプロジェクト
- 2.2 AVDの準備
- 2.3 アプリの起動
- 2.4 Android Studioの画面構成とプロジェクトのファイル構成
- 2.5 Androidアプリ開発の基本手順
- 第3章 ビューとアクティビティ
- 3.1 ビューの基礎知識
- 3.2 画面部品をもう1つ追加する
- 3.3 レイアウトエディタのデザインモード
- 3.4 デザインモードで部品を追加してみる
- 3.5 LinearLayoutで部品を整列する
- 3.6 他のビュー部品 ── ラジオボタン/選択ボックス/リスト
- 第4章 イベントとリスナ
- 4.1 アプリ起動時に実行されるメソッド
- 4.2 イベントリスナ
- 4.3 ボタンをもう1つ追加してみる
- 第5章 リストビューとダイアログ
- 5.1 リストタップのイベントリスナ
- 5.2 アクティビティ中でリストデータを生成する
- 5.3 ダイアログを表示する
- 第6章 ConstraintLayout
- 6.1 ConstraintLayout
- 6.2 制約の設定には制約ハンドルを使う
- 6.3 ConstraintLayoutにおける3種類のlayout_width/height
- 6.4 横並びとベースライン
- 6.5 ガイドラインを利用する
- 6.6 チェイン機能を使ってみる
- 第7章 画面遷移とIntentクラス
- 7.1 2行のリストとSimpleAdapter
- 7.2 Androidの画面遷移
- 7.3 アクティビティのライフサイクル
- 第8章 オプションメニューとコンテキストメニュー
- 8.1 リストビューのカスタマイズ
- 8.2 オプションメニュー
- 8.3 戻るメニュー
- 8.4 コンテキストメニュー
- 第9章 フラグメント
- 9.1 フラグメント
- 9.2 スマホサイズのメニューリスト画面のフラグメント化
- 9.3 スマホサイズの注文完了画面のフラグメント化
- 9.4 タブレットサイズ画面を作成する
- 9.5 注文完了フラグメントのタブレット対応
- 第10章 データベースアクセス
- 10.1 Androidのデータ保存
- 10.2 Androidのデータベース利用手順
- 第11章 非同期処理とWeb API連携
- 11.1 AndroidのWeb連携
- 11.2 非同期処理
- 11.3 サンプルアプリの基本部分の作成
- 11.4 Androidの非同期処理
- 11.5 HTTP接続
- 11.6 JSONデータの扱い
- 第12章 メディア再生
- 12.1 音声ファイルの再生
- 12.2 戻る・進むボタン
- 12.3 リピート再生
- 第13章 バックグラウンド処理と通知機能
- 13.1 サービス
- 13.2 通知
- 13.3 通知からアクティビティを起動する
- 第14章 地図アプリとの連携とGPS機能の利用
- 14.1 暗黙的インテント
- 14.2 緯度と経度指定で地図アプリを起動するURI
- 14.3 GPS機能の利用
- 14.4 GPS利用の許可設定
- 第15章 カメラアプリとの連携
- 15.1 カメラ機能の利用
- 15.2 ストレージ経由での連携
- 第16章 マテリアルデザイン
- 16.1 マテリアルデザイン
- 16.2 ScrollView
- 16.3 アクションバーより柔軟なツールバー
- 16.4 ツールバーのスクロール連動
- 16.5 CollapsingToolbarLayoutの導入
- 16.6 CollapsingToolbarLayoutにタイトルを設定する
- 16.7 FloatingActionButton(FAB)
- 16.8 Scrolling.Activity
- 第17章 リサイクラービュー
- 17.1 リストビューの限界
- 17.2 リサイクラービューの使い方
- 17.3 区切り線とリスナ設定
- Note
- Android Studioの動作環境
- 漢字表記のユーザー名に注意
- HAXMのインストール
- アップデートによる設定ファイルの削除
- Javaクラスの一意性
- Kotlin
- プロジェクト作成の失敗
- プロジェクトの閉じ方
- プロジェクトの削除
- 単位
- オーバーライド
- AppCompatActivityクラス
- メンバクラスと無名クラス
- Android Studioでクラスのインポートを行う
- リスナインターフェース
- findViewById()のキャスト
- プロジェクトのzipファイルを作成する
- Welcome画面でのアップデートの表示
- onItemClick()の第2引数viewの利用例
- コンテキスト
- android.R
- ビルド失敗とBuildツールウィンドウ
- Android XライブラリのDialogFragment
- AlertDialogのインポート
- etCommentのテキスト位置
- データを加工しながらListViewを生成するには
- Intentのコンストラクタ引数
- ログレベル
- xmlns:app属性のインポート
- app:showAsActionとandroid:showAsAction
- メニューの入れ子
- FrameLayout
- フラグメントでオプションメニューを使うには
- トランザクション
- DialogFragmentはフラグメント
- 開発中はアプリをアンインストールする
- Android内データベースの主キーは_id
- 非同期でデータベース接続オブジェクトの取得
- rawQuery()でバインド変数を使う方法
- SQL文を使わない方法
- Room
- UIスレッドとワーカースレッド
- AsyncTask
- HTTP接続がPOSTの場合
- Structureツールウィンドウ
- ViewModel
- WebView
- 音声ファイルはなぜURI指定か?
- Android公式ドキュメント
- onPrepared()とonCompletion()の引数
- URLエンコーディング
- カメラアプリの起動
- アプリのテーマ指定
- elevationの値
- アプリバーのサブタイトルは非推奨
- 依存ライブラリが欠如している場合
正誤表
| 該当頁 | 該当箇所 | 修正刷 |
|---|---|---|
| 訂正箇所 | 訂正事項 | 更新日 |
| p.264 | リスト11.2 res/layout/activity_main.xml 下から2行目 | 3刷 |
| 画面の上半分にするために0.5とする | 画面の下半分にするために0.5とする | 2021/10/19 |
| p.272 | 11.4.6項 本文下から7行目 | - |
| リスト10.5⑩のrun()メソッド | リスト11.5⑩のrun()メソッド | 2022/02/22 |
| p.337 | 14.3.2項 本文下から4行目 | 3刷 |
| 「play-service-location」 | 「play-services-location」 | 2022/02/22 |
FAQ
Android Studioの旧バージョンについては
以下のURLから入手できます。
https://developer.android.com/studio/archive?hl=ja
以下のURLから入手できます。
https://developer.android.com/studio/archive?hl=ja
更新日: 2021.05.12
それぞれ以下のように変更してください。
・onActivityCreated()→onViewStateRestored()
・getFragmentManager→getParentFragmentManager
・onActivityCreated()→onViewStateRestored()
・getFragmentManager→getParentFragmentManager
更新日: 2021.11.17
吹き出し2~5の4行を以下2行のコードに差し替えてください。
LocationRequest.Builder builder = new
LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 5000);
_locationRequest = builder.build();
LocationRequest.Builder builder = new
LocationRequest.Builder(Priority.PRIORITY_HIGH_ACCURACY, 5000);
_locationRequest = builder.build();
更新日: 2022.12.14
ダウンロード
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。