作って学ぶAndroidアプリ開発
[Kotlin対応]

書籍の概要

この本の概要

昨今のAndroidアプリ開発は,覚えておくべきことが多くてとにかく大変です。また,開発現場では「Googleが推奨するアプリ開発手法」を中心にしたモダンな手法も求められています。本書はホビーユーザの方はもちろん,エンジニアの方にとっても最新の開発手法を学べる構成になっており,サンプルアプリを「作る⇒実行する⇒修正する⇒実行する⇒修正する⇒……」を繰り返すことで,自然とAndroidアプリ開発のお作法から最新の開発手法まで身に付けることができるでしょう。
本書では「Android Studio 3.6.1」をベースに説明しています。本書とまったく同じ環境で開発をしたい場合,「Android Studio download archives」のサイトから同じバージョンを入手できます。

こんな方におすすめ

  • Androidアプリを作ってみたい方
  • モダンなAndroidアプリ開発を学びたい方

本書のサンプル

本書の紙面イメージは次のとおりです。画像をクリックすることで拡大して確認することができます。

サンプル画像1

サンプル画像2

サンプル画像3

サンプル画像4

サンプル画像5

目次

Chapter 1 開発をはじめる前に

  •  1-1 Androidとは
  •  1-2 Androidアプリケーションとは
  •  1-3 Androidアプリ開発
  •  1-4 Androidアプリの配布
  •  1-5 Androidアプリ開発に必要なもの

Chapter 2 Androidアプリ開発環境の構築

  •  2-1 Android Studioとは
  •  2-2 開発環境のセットアップ
  •  2-3 プロジェクトを作成する
  •   [Column]プロジェクトの基本設定
  •  2-4 アプリを実行する

Chapter 3 アプリの原型を作る

  •  Step 1 なぜMastodonクライアントなのか
  •  Step 2 プロジェクトを作成する
  •   [Tips]Androidプロジェクトの構造とは
  •  Step 3 表示内容を変更する
  •   [Tips]レイアウトエディタの3つのビューとは
  •   [Tips]レイアウトエディタをコードビューに切り替える理由とは
  •   [Tips]コードアシストとは
  •  Step 4 DataBindingを使って表示を変更する
  •  Step 5 Fragmentを表示する
  •   [Column]ActivityとFragment
  •   [Tips]クラスを新規作成する方法
  •   [Column]supportFragmentManagerのsupportって?
  •  Step 6 ボタンを押して処理をする
  •   [Tips]エラーが起きたときは

Chapter 4 Web APIにアクセスする

  •  Step 7 Mastodon APIへアクセスする
  •   [Tips]sourceCompatibilityとは
  •  Step 8 コルーチンで非同期処理をする
  •  Step 9 JSONを取り扱う
  •  Step 10 リスト形式で表示する
  •  Step 11 一方向データバインディングを使う
  •   [Column]何事もやり過ぎは良くないという話
  •  Step 12 添付画像を表示するための準備
  •  Step 13 添付画像を表示する
  •  Step 14 表示内容をフィルタリングする
  •  Step 15 スクロールで追加読み込みをする
  •  Step 16 リストを下に引いて更新する(Pull-to-Refresh)
  •  Step 17 実行中のコルーチンをキャンセルする
  •   [Tips]Activity/Fragmentのライフサイクル

Chapter 5 アーキテクチャーとデザインを調整する

  •  Step 18 LiveDataの導入
  •  Step 19 Repositoryパターンの導入
  •  Step 20 MVVMアーキテクチャーの導入
  •   [Tips]委譲プロパティ「viewModels」
  •  Step 21 LifecycleObserverを使う
  •  Step 22 デザインを調整する
  •   [Tips]Viewのサイズとは
  •   [Tips]StartとEndとは

Chapter 6 ユーザー固有の情報にアクセスする

  •  Step 23 開発者用アクセストークンを取得する
  •  Step 24 ホームタイムラインを取得する
  •  Step 25 アカウント情報を取得する
  •  Step 26 Tootの詳細画面を作成する
  •   [Column]DataBindingで遭遇する不具合
  •  Step 27 Toot詳細画面を表示する
  •   [Column]Fragmentアンチパターン
  •  Step 28 詳細画面にすべての画像を表示する

Chapter 7 FragmentとActivityを遷移する

  •  Step 29 パッケージを分割する
  •  Step 30 下メニュー(BottomNavigation)を追加する
  •   [Tips]Material Designとは
  •   [Column]非推奨だったBottomNavigation
  •  Step 31 選択したメニューに応じて表示するタイムラインを切り替える
  •  Step 32 Activityを表示する(画面遷移)
  •   [Tips]「明示的インテント」と「暗黙的インテント」とは

Chapter 8 データを送信する

  •  Step 33 Toot投稿画面を作成する
  •  Step 34 投稿画面を表示する
  •  Step 35 投稿を実行する
  •  Step 36 投稿処理を作り込む
  •  Step 37 投稿を削除する

Chapter 9 OAuth 2.0を実装する

  •  Step 38 必要な情報を準備する
  •  Step 39 ログイン画面を作成する
  •  Step 40 認可コードを取得する
  •   [Column]WebViewとは
  •  Step 41 アクセストークンを取得する
  •   [Column]アプリのデータ削除とは
  •  Step 42 外部ブラウザでログインする

Chapter 10 画像のアップロードとプロファイラーの活用

  •  Step 43 エラーを処理する
  •   [Column]権限不足のテスト方法
  •   [Tips]ネットワーク接続に関するテスト方法
  •  Step 44 RecyclerViewの効率的に更新する
  •  Step 45 投稿に画像を添付する
  •  Step 46 画像をアップロードする
  •   [Tips]プロファイラーとは

著者プロフィール

有山圭二(ありやまけいじ)

大阪市のソフトウェア開発会社 (有)シーリスの代表。Androidアプリの開発は,2007年11月にAndroidが発表された当時から手がけている。Androidアプリケーションの受託開発や,Androidに関するコンサルティングの傍ら,趣味で機械学習をしたり,3Dプリンターで遊んだり,技術系同人誌を執筆したりしている。著書に『Android Studioではじめる簡単Androidアプリ開発』(技術評論社),『TensorFlowはじめました』シリーズ(インプレス)がある。