Android Studio本格活用バイブル~効率的にコーディングするための使い方

[表紙]Android Studio本格活用バイブル~効率的にコーディングするための使い方

A5判/576ページ

定価(本体3,200円+税)

ISBN 978-4-7741-7870-7

電子版

→学校・法人一括購入ご検討の皆様へ

書籍の概要

この本の概要

Androidアプリの開発に欠かすことのできないGoogle謹製のIDE「Android Studio」。本書では,基本的な知識から導入方法,エディタの使い方,バージョン管理の方法,さらにはAndroid Studioを語る上では欠かせないリファクタリング機能や内部構造まで,Android StudioのベースとなったIntelliJ IDEAのエキスパートである著者が徹底解説しています。はじめてAndroidアプリを開発する方,これからAndroid Studioを学びたい方はもちろん,ソフトウェア開発に関わるすべての方必読の一冊です。

こんな方におすすめ

  • Androidアプリ開発者

本書電子版について

本書の電子版には,本書のフォローアップ的な内容をまとめた【書籍補完版・サポート編】と,サポート編の内容も本体に含めた【電子増補・完全版】の2種類がございます。お求めの際にはご注意ください。

紙で本書をお買い求めいただいた上で追加情報のみご覧になりたい場合は【書籍補完版・サポート編】を,電子書籍で本書をお求めいただく場合は【電子増補・完全版】をご利用ください。

目次

第1章 Android Studioを知ろう

1.1 Android Studioとは

  • Android StudioのベースになっているIntelliJ IDEA
  • Android StudioとGradle

1.2 Android Studio の特徴や利点

  • 長年の実績をもつIntelliJ IDEAベースのIDE
  • 固有のIDEに捕らわれないビルドシステム
  • 多彩なビルドをこなす柔軟なビルドスクリプト

1.3 Android Studioの注意点

  • Eclipse ADTとの断絶
  • IntelliJ IDEAそのもののクセの強さ
  • 寄せ集めのIDEとしての統一感のなさ

1.4 結局Android Studioってどうなの

第2章 クイックスタート

2.1 インストールの事前準備

  • 要求するシステム要件を把握する
  • インストール作業の流れを把握する
  • Javaの環境を用意する
  • 環境変数を設定する

2.2 Android Studioをインストールする

  • Android Studioの入手
  • Android Studioのインストール(Mac)
  • Android Studioのインストール(Windows)
  • Android Studioのインストール(Linux)
  • セットアップウィザードを実行する

2.3 新しくプロジェクトを作る

  • Welcome画面からプロジェクトを作成する
  • かんたんなAndroid Studioの画面解説
  • Android Studioを終了する

2.4 アプリケーション開発を行う

  • Javaのソースコードを編集する
  • オートセーブによるファイルの保存
  • レイアウトエディタで画面のレイアウトを行う
  • プロジェクトをビルドする

2.5 プロジェクトを実行する

  • Androidアプリケーションを実行する
  • アプリケーションのデバッグを行う

第3章 基本的な使い方

3.1 Welcome画面とファイルダイアログ

  • Welcome画面
  • ファイルダイアログ

3.2 画面構成とその名称

  • ツールバー
  • ナビゲーションバー
  • ステータスバー
  • ツールウィンドウ
  • スピードサーチで簡易検索を行う

3.3 Projectツールウィンドウ

  • Projectツールウィンドウの概要
  • Projectツールウィンドウの表示内容
  • Projectツールウィンドウとエディタを同期する
  • Projectツールウィンドウでのファイル操作

3.4 そのほかのツールウィンドウ

  • Structureツールウィンドウ
  • Terminalツールウィンドウ
  • Event Logツールウィンドウ

第4章 プロジェクト

4.1 やさしいプロジェクト入門

  • プロジェクトとモジュール
  • 新しいプロジェクトやモジュールを作る
  • Projectツールウィンドウから見たプロジェクト
  • 標準的なAndroidプロジェクトの構造

4.2 プロジェクトを操作する

  • プロジェクトに新しいファイルやディレクトリを作る
  • Android開発に関連したリソースを作成する
  • プロジェクトをビルドする
  • プロジェクトのJavadocを生成する

4.3 かんたんなプロジェクトの設定

  • プロジェクトの設定を確認する
  • モジュールに参照ライブラリを登録する

4.4 本当は難しいAndroid Studioのプロジェクト

  • Android StudioとGradleの関係
  • 駆け足でわかった気になるGradle入門

4.5 ビルドスクリプトを理解する

  • プロジェクトのbuildgradleを読み解く
  • サブプロジェクトのbuildgradleを読み解く
  • Android DSL
  • ビルドバリアントを理解する
  • Build Variantsツールウィンドウ
  • Gradleのタスクとビルドバリアント
  • NDK(Native Development Kit)を使ってみる

第5章 エディタ

5.1 エディタの構成と主な使い方

  • エディタウィンドウの構成
  • ドキュメントタブ
  • エディタを分割表示する
  • ドキュメントタブをカスタマイズする
  • ガーターエリア
  • 折り畳み表示とその操作
  • バリデーションサイドバー/マーカーバー
  • エディタエリアの表示内容

5.2 エディタの基本操作

  • テキストのカット,コピー&ペースト
  • 文脈依存選択
  • 矩形選択
  • マルチカーソル
  • 囲みの削除
  • セミコロンなどを補足して文を完成する
  • 行を分割する/結合する
  • インデント文字をスペースやタブに変換する
  • インデントを下げる/上げる
  • 改行コードやファイルエンコーディングを変更する
  • 行のコメントアウト
  • インポート文を解決する

5.3 さまざまな情報参照

  • APIヘルプや定義を参照する
  • エディタ以外からAPIヘルプや定義を参照する
  • Documentationポップアップ
  • パラメタ情報を参照する
  • 兄弟の関係にあるクラスを参照する

5.4 マウス操作

  • Ctrlキーとマウス操作の組み合わせ
  • マウス操作による範囲選択

5.5 コード補完

  • Android Studioのコード補完
  • コード補完の書き味の調整
  • キーワード補完

5.6 インテンション&インスペクション

  • インテンション&インスペクションとは
  • インテンションの設定
  • おもしろインテンション
  • インスペクションの設定と無効化指定
  • スペルミスの指摘

5.7 コード生成

  • ライブテンプレートの展開
  • 選択したコードを囲む(ライブテンプレートの展開)
  • ポストフィックス補完(Postfix Completion)
  • 定型コードを生成する
  • Javadocコメントを生成する

5.8 いろいろなコーディング方法

  • 既存のクラスやインターフェイスから新しいクラスを作成する
  • オーバライドメソッド,実装メソッドを作成する
  • 未定義状態のソースコードからクラスやメソッドを作成する
  • コード展開のスタイル比較

5.9 コードフォーマット

  • Android Studioのコードフォーマット機能
  • インポートの最適化を行う
  • コードフォーマットを行う
  • アレンジメントを行う

5.10 ナビゲーション

  • クラス/ファイル/シンボルに移動する
  • 対応するカッコやタグに移動する
  • 指定した行番号に移動する
  • 戻る/進む,最後の編集位置に移動する
  • ブックマーク
  • Projectツールウィンドウ上のファイルに移動する
  • 宣言部,実装などクラスの関係に基づいた移動
  • ファイルやクラスの構造に基づいた移動
  • クラスや型の継承関係に基づいた移動(Hierarchyツールウィンドウ)
  • 問題箇所への移動やそれ以外のファイル内移動
  • 最近使ったファイルに移動する
  • Switcherによる移動
  • ツールウィンドウからエディタに戻る
  • ファイルパスから任意のディレクトリに移動する

5.11 検索と置換

  • エディタ内の検索と置換
  • 指定したディレクトリ内の検索と置換
  • Findツールウィンドウ
  • 編集中のファイルでの使用箇所をハイライト表示する
  • プロジェクト全体での使用箇所を検索する

5.12 いろいろな比較

  • 地味に便利なクリップボードとの比較
  • ファイルやディレクトリ同士の比較

5.13 そのほかの便利な機能

  • ローカルヒストリで変更履歴を管理する
  • プレゼンテーションモードでドヤ顔しよう
  • クイックリストを利用して機能を効率よく使う
  • 自分好みのクイックリストを作成する

第6章 レイアウトエディタ

6.1 レイアウトエディタとは

  • レイアウトエディタの概要
  • レイアウトエディタの画面構成

6.2 レイアウトを編集してみよう

  • 新しくレイアウトファイルを作成する
  • GUI部品をレイアウトする
  • GUI部品のプロパティを編集する
  • GUI部品のレイアウトを調整する

6.3 レイアウトエディタ以外のいろいろなエディタ

  • ローカライズを行う(翻訳エディタ)
  • アイコンを作成する(Asset Studio/Vector Asset Studio)
  • 画面遷移をデザインする(ナビゲーションエディタ)
  • テーマファイルを編集する(テーマエディタ)

第7章 リファクタリング

7.1 リファクタリング操作の基本

  • Android Studioのリファクタリング機能
  • リファクタリングを試してみる
  • リファクタリングプレビューを活用する

7.2 リファクタリング・カタログ

  • いろいろな対象をリネームする
  • クラスやメソッドのシグネチャを変更する
  • ある型をほかの型に変更する(型のマイグレーション)
  • クラスやメソッドのスタティック化とメソッドのインスタンス化を行う
  • いろいろな対象を移動したりコピーしたりする
  • いろいろな対象を安全に削除する
  • いろいろな要素を抽出する
  • いろいろな対象をインライン化する
  • 重複したコードを見つけて置き換える
  • 真偽を反転する
  • メンバのプルアップ(引き上げ)やプッシュダウン(引き下げ)を行う
  • いろいろな置き換え
  • 仲介人を削除する
  • メソッドの戻り値を値オブジェクトに包み直す
  • 匿名クラスを内部クラスに変換する
  • フィールドをカプセル化する
  • ジェネリクス(総称型)を適用する
  • 特定のパッケージやクラスをマイグレーションする
  • リソースバンドルを使って国際化する
  • スタイルのインライン化と既存スタイルの適用
  • 可能ならばRTLサポートを追加する

第8章 分析機能

8.1 コード検査(インスペクション)

  • エディタのリアルタイム検査との違いを理解する
  • インスペクションの実行とInspectionツールウィンドウ
  • インスペクション項目を指定してコード検査を実行する
  • インスペクションのプロファイルを作る

8.2 インスペクションのカテゴリ

  • Android
  • Android Lint
  • General
  • Java
  • Spelling

8.3 コード分析を活用する

  • 依存関係を分析する
  • Dependency Viewerツールウィンドウ
  • 依存関係のルールを設定する
  • 変数や引数がどこから来たのか(どこへ行くのか)を分析する

8.4 コードの構造に基づいた検索と置換

  • Structural Search&Replaceとは
  • Structural Searchを使ってみる
  • 検索テンプレートを設定する
  • 検索テンプレートに条件を設定する
  • Structural Replaceを使ってみる
  • インスペクションに組み込む

第9章 実行とデバッグ

9.1 実行構成

  • 実行構成とは?
  • 実行構成を管理する
  • 実行構成のタイプ
  • 実行構成の作り方

9.2 Androidアプリケーションを実行する

  • アプリケーションの実行とAndroid Monitorツールウィンドウ
  • テストを実行する
  • テストランナー(Runツールウィンドウ)の使い方
  • カバレッジを測定する

9.3 デバッガを使う

  • 既存のAndroidアプリケーションにデバッガ接続する
  • ブレイクポイントを操作する
  • より高度なブレイクポイントの設定
  • Debugツールウィンドウ
  • デバッグ中の操作(ステップ実行)
  • 実行中のオブジェクトの値を見る
  • 実行中のオブジェクトの値を書き換える
  • デバッグ中にプログラムとは関係のないコードを実行する
  • ステップインしないクラスやパッケージを設定する

第10章 バージョン管理システムとの連携

10.1 バージョン管理システム(VCS)連携機能の基本

  • バージョン管理システムの基礎
  • VCS連係のための事前準備
  • プロジェクトをVCS管理下に置く

10.2 VCS連携時の共通の操作

  • VCS連携中の見た目の変化
  • VCS連携の操作を行うユーザインターフェイス
  • Version Controlツールウィンドウでの操作
  • チェンジリスト(Changelist)ってなに?
  • プロジェクトを最新の状態に保つ
  • 無視するファイルを設定する
  • リポジトリにファイルを追加する
  • ファイルの変更(リネームや移動)と削除
  • 変更した結果をコミットする
  • 変更を取り消して,直前のコミットまで戻す
  • ファイルの変更履歴を確認する
  • VCS連携時におけるいろいろな比較
  • コンフリクトを解決する
  • チケット管理システム(BTS/ITS)と連係する

10.3 Git連係

  • Git連携時のユーザインターフェイスの特徴
  • フェッチ(git fetch)とプル(git pull)
  • コミット(git commit)
  • プッシュ(git push)
  • ブランチ(git branch)とマージ(git merge)
  • リセット(git reset)
  • リベース(git rebase)
  • タグ(git tag)
  • 一時待避と復元(git stash&git unstash)
  • コミットの抜き取り(git cherry pick)

10.4 GitHub連係

  • GitHubのサイトを開く
  • Gistにスニペットを登録する
  • プロジェクトをGitHubに公開する
  • GitHubにプルリクエストを送る
  • GitHubのfork元の変更を取り込む

第11章 カスタマイズ

11.1 設定画面

  • Android Studioの設定画面
  • プロジェクトの設定とIDEの設定の違い
  • プロファイルを素早く切り替える

11.2 Android Studioをカスタマイズする

  • ダークテーマに変える
  • Android Studio全体やエディタのフォントを変える
  • ステータスバーに使用メモリのインジケータを表示する
  • スコープの設定とそれに対応したファイルに色を付ける

11.3 エディタをカスタマイズする

  • 自動入力される文字を設定する
  • 折り畳み表示を設定する
  • エディタのカラー設定をカスタマイズする
  • ライブテンプレートをカスタマイズする
  • コード生成に関するテンプレートをカスタマイズする
  • プロジェクトやファイルのエンコーディングを設定する
  • ユーザ定義メソッドにランゲージインジェクションを設定する

11.4 キーマップをカスタマイズする

  • ショートカットキーのカスタマイズ
  • プリセットしてあるキーマップ
  • キーマップを設定する
  • Editor Actionsひとめぐり

11.5 コードスタイルを設定する

  • コードフォーマットの基本
  • 共通のコードスタイルを設定する
  • Javaのコードスタイルを設定する
  • EditorConfigでコードスタイルを設定する

11.6 プラグインで機能を拡張する

  • プラグインマネージャの使い方
  • 標準でバンドルしているプラグイン
  • オンラインでプラグインをインストールする
  • オフラインでプラグインをインストールする
  • プラグインを無効化またはアンインストールする

11.7 そのほかの設定

  • 外部ツールを設定する
  • Terminalツールウィンドウをカスタマイズする
  • 裏技的な設定を行う(Registry)

第12章 IdeaVIMプラグイン

12.1 IdeaVIMを使う準備をする

  • IdeaVIMの歴史
  • IdeaVIMがサポートしているvimの機能
  • IdeaVIMのインストール

12.2 IdeaVIMを使ってみよう

  • IdeaVIMを使うにあたっての前置き
  • モーションコマンド
  • 削除や変更などのテキスト操作
  • インサートモード
  • マーク&ジャンプ
  • ジャンプリストとタグジャンプ
  • ビジュアルモード
  • 検索と置換
  • キーボードマクロのサポート
  • ファイル操作
  • そのほかの機能
  • Exコマンド

12.3 IdeaVIMのカスタマイズ

  • IdeaVIMのオプションとideavimrc
  • キーマップのカスタマイズ
  • Android Studioの機能をIdeaVIMに割り当てる

第13章 インサイドAndroid Studio

13.1 Android Studioの内部構造

  • Android Studioのファイル構成
  • Android Studioの管理ディレクトリ
  • IDEの設定情報の保存(エクスポート)と復元(インポート)
  • 複数のAndroid Studioを共存させる

13.2 Android Studioをメンテナンスする

  • Android Studioのアップデート
  • オンラインアップデートの実際
  • アップデートの注意点
  • IntelliJ IDEAとアップデートの注意点
  • Android StudioとIntelliJ IDEAの開発の関係
  • アップデートの通知方法をカスタマイズする
  • 完全なアンインストール方法 548

13.3 プロジェクト管理ファイル

  • Android Studioのプロジェクト管理ファイル
  • モジュール定義ファイル
  • idea./ディレクトリの内容
  • プロジェクト管理ファイルをバージョン管理しない
  • プロジェクト管理ファイルをバージョン管理する
  • バージョン管理するのはおすすめしないプロジェクト管理ファイル

13.4 各種情報源

  • 更新情報
  • バグデータベース
  • ソースコード

著者プロフィール

今井勝信(いまいまさのぶ)

システムエンジニア。日本ユニシス株式会社所属。仙台在住。
Android 開発はまったくやったことがないけれど IntelliJ IDEA が大好き。
Twitter:@masanobuimai