作って学ぶ Android アプリ開発[ Kotlin 対応](ツクッテマナブアンドロイドアプリカイハツコトリンタイオウ)
ハードウェア- 著者:
- 有山 圭二(アリヤマ ケイジ)
- 出版社:
- 技術評論社
- 出版日:
- 2020年04月17日頃
- ISBN:
- 9784297113438
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
昨今の Android アプリ開発は、覚えておくべきことが多くてとにかく大変です。また、開発現場では「 Google が推奨するアプリ開発手法」を中心にしたモダンな手法も求められています。本書はホビーユーザの方はもちろん、エンジニアの方にとっても最新の開発手法を学べる構成になっており、サンプルアプリを「作る⇒実行する⇒修正する⇒実行する⇒修正する⇒……」を繰り返すことで、自然と Android アプリ開発のお作法から最新の開発手法まで身に付けることができるでしょう。
本書では「 Android Studio 3.6.1 」をベースに説明しています。本書とまったく同じ環境で開発をしたい場合、「 Android Studio download archives 」のサイトから同じバージョンを入手できます。
技書の森解説
Android アプリ開発は、言語である Kotlin 、 Android Studio の操作、 Activity や Fragment のライフサイクル、非同期処理、 Google が推奨するアーキテクチャと、入門段階で覚えるべき事柄が多く、個別に学ぶと全体像がつながりません。『作って学ぶ Android アプリ開発[ Kotlin 対応]』 (有山圭二 著、技術評論社、 2020 年 4 月刊) は、一つの Mastodon クライアントアプリを 46 の Step で作り、実行し、修正するサイクルを繰り返しながら、 Android アプリ開発の作法と Google 推奨の開発手法を身につけていく学習書です。著者の有山圭二氏は 2007 年 11 月の Android 発表当時からアプリ開発を手がけてきた開発者で、本書の解説は Android Studio 3.6.1 を基準にしています。
全 10 章 46 Step の構成、 Mastodon クライアントを育てる流れ
構成は Chapter 1 から 10 までの 10 章です。 Chapter 1 と 2 は Android とアプリ開発の前提知識、 Android Studio による環境構築とプロジェクト作成に当たり、 Chapter 3 以降は Step 1 から Step 46 までの番号付きの作業として進みます。 Chapter 3 でなぜ Mastodon クライアントを題材にするのかを説明したうえでアプリの原型を作り、 Chapter 4 で Mastodon API へのアクセス、コルーチンによる非同期処理、 JSON の扱い、リスト表示、スクロールでの追加読み込みや Pull-to-Refresh を実装します。 Chapter 5 で LiveData 、Repository パターン、 MVVM アーキテクチャーを導入して構造を整え、 Chapter 6 から 8 でアクセストークンを使ったホームタイムラインやアカウント情報の取得、 Toot の詳細画面、 BottomNavigation と Activity の遷移、投稿と削除を作り込みます。 Chapter 9 は OAuth 2.0 によるログインの実装、 Chapter 10 はエラー処理、 RecyclerView の効率的な更新、画像のアップロード、プロファイラーの活用で締めます。
ライフサイクルと非同期処理を MVVM で扱う技術背景
Android 開発の難しさは、個々の API よりも、 Activity や Fragment のライフサイクルと非同期処理、画面の状態管理が絡み合う点にあります。画面回転で Activity が再生成される間に通信結果をどこに保持するか、通信中に画面が閉じられたときにコルーチンをどうキャンセルするかといった問題は、 ViewModel と LiveData で UI の状態をライフサイクルから分離し、 Repository でデータ取得の窓口を一本化する MVVM 構成によって、初めて見通しよく扱えます。本書の章立ては、まず動く原型と通信機能を作り (Chapter 3 と 4) 、その後に LiveData と Repository パターン、 MVVM を導入する (Chapter 5) 順序になっているため、この設計が何を解決するのかを、実際に構造が必要になる文脈で学べます。 Mastodon API という実在の Web API を相手にするので、 JSON のパース、認可、エラー処理といった実務で避けられない要素も、練習用の小さな題材では出てこない形で登場します。
前提知識と Android Studio 3.6.1 という時点の注意
目次に Kotlin の文法を独立して扱う章はないため、何らかのプログラミング言語の経験があると読みやすく、 Kotlin が初めてなら文法の入門書を横に置く形が現実的です。版元が想定する読者は、 Android アプリを作ってみたい人と、モダンな Android アプリ開発を学びたい人で、ホビーユーザーから業務でアプリを扱うエンジニアまでを含みます。注意点は刊行時点の環境で、解説の基準は Android Studio 3.6.1 です。 Android Studio と Jetpack ライブラリの更新は速く、 2021 年に安定版となった Jetpack Compose による宣言的 UI がその後の有力な選択肢に加わったため、 DataBinding とレイアウト XML を前提とする本書の画面構築は、後年の標準とは異なる部分があります。一方で、ライフサイクル、コルーチン、 ViewModel と LiveData 、 Repository パターン、 OAuth 2.0 の認可フローといった骨格はそのまま通用します。
元が取れるのは、 Android Studio を入れたものの何を作ればよいか決めきれずにいる人、ネットワーク通信を伴う実用的なアプリを一本通して作りたい人、 Activity と Fragment 、 ViewModel の関係を実装を通じて理解したい人です。逆に、 Kotlin 言語そのものの習得が目的の人や、 Jetpack Compose を前提に学び始めたい人には、目的の合う別の本が必要です。実在のサービスと通信し、ログインから投稿、画像アップロードまで備えたクライアントを自分の手で完成させたい人には、 46 の Step を積み上げていく本書が、独学の遠回りを減らす確かな道筋になります。
言及 Qiita 記事 (5 件)
Flutter をはじめよう!
♡ 89Dart, AndroidStudio, VSCode, FlutterAndroid開発30日間マスターシリーズ - Day2: Android Studioを使いこなす - 初心者が知るべき基本操作とプロジェクト作成
♡ 3Android, 初心者, AndroidStudio, LLM, ModelContextProtocolAndroid Studio完全入門 - ToDoアプリで学ぶKotlin/Compose/MVVM/CI/CD
♡ 1Android, Kotlin, AndroidStudio, 初心者向け, JetpackCompose初心者向け!Androidアプリ開発の第一歩
♡ 0Android, 初心者React Nativeを基本からまとめてみた【入門・開発環境構築】
♡ 0reactnative, Info.plist, expo, ExpoGo
この本に興味がある方におすすめ
この本に関連
関連記事
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
スマホ / パソコン入門書の選び方 - シニアの家族に贈る 1 冊の見つけ方
スマホとパソコンの入門書を「贈る側 / 教える側」の視点で選ぶガイド。機種と OS の一致、文字の大きさ、年度の確認という 3 条件と、Android / iPhone / Windows 11 それぞれの定番書、安全対策の 1 冊まで 2026 年 8 月時点の収載書から紹介します。
JavaScript / TypeScript 本ガイド - 入門から型で守る実務コードまで
JavaScript と TypeScript を 1 本の学習ルートとして捉えた技術書の選び方。JavaScript の入門書、言語の背骨を通す体系書、TypeScript の型システムを設計の武器にする本、React/Next.js の実践書まで 2026 年 8 月時点の定番で案内します。
関連用語
Android
Google 主導で開発されるモバイル OS。世界で最も多く使われるスマートフォン基盤
Flutter
1 つのコードで iOS / Android 両対応のアプリを作れる Google 製フレームワーク
iOS
Apple の iPhone / iPad 向けモバイル OS。ハードとソフトの統合と審査の厳格さが特徴
シングルサインオン
1 回の認証で複数のアプリケーションやサービスにアクセスできる仕組み
開発/本番一致
Twelve-Factor App の原則で、開発 / ステージング / 本番環境の差異を最小化する
PHP
Web 開発で広く使われるサーバーサイド言語。動的な Web ページ生成を得意とする