はじめてのAndroidアプリ開発 第2版 Android Studio 2対応


TECHNICAL MASTER はじめてのAndroidアプリ開発 第2版 Android Studio 2対応


秀和システム


著者:山田祥寛


はじめに
本書の読み方

01 イントロダクション
01-01 Androidの概要を理解する [Android・ART・バージョン]
Androidとは?
Androidのアーキテクチャ
Androidランタイムとは?
Androidのバージョン
Androidプログラミングに必要なソフトウェア
01-02 Androidの開発環境を整える [JDK・Andoid Studio・Android SDK・AVD]
JDKのインストール方法
Android Studioのインストール方法
01-03 Android Studioの画面構成を理解する [ツールウィンドウ]
プロジェクトウィンドウ
エディター
構造(Structure)
Android Monitor
Inspection
ターミナル
TODO

02 はじめてのAndroidアプリ
02-01 Androidアプリのプロジェクトを理解する [プロジェクトの構造]
プロジェクトの作成
アプリの実行
実機での起動
02-02 サンプルアプリの内容を確認する [アプリの構造]
サンプルアプリの基本的な構造
アプリの「ウィンドウ」を定義する – Activityクラス
補足:Rクラスとは?
アプリの見栄えを定義する – レイアウトファイル
リソース情報を管理する – dimens.xml
文字列リソースを管理する – strings.xml
アプリの基本情報を定義する – マニフェストファイル
02-03 アプリ開発の基本キーワードを理解する [レイアウト・イベント・ログ・デバッグ]
画面をデザインする – レイアウトエディター
ボタンクリック時の処理を定義する – イベントハンドラー
ボタンクリック時の処理を定義する – イベントリスナー
補足:匿名クラス
端末の回転時に画面の状態を維持する
文字列をトースト表示する
ログを出力する – LogCatビュー
アプリをデバッグする

03 ビュー開発(基本ウィジェット)
03-01 基本的な入力/出力を理解する [TextView・ImageView・EditText]
テキストを表示する – TextView
画像を表示する – ImageView
自由テキストを入力する – EditText
オン/オフのボタンを作成する – CheckBox
03-02 入力ウィジェットを理解する
[CheckBox・ToggleButton・RadioButton・SeekBar・Spinner]
オン/オフを作成する(2) – ToggleButton
単一選択のボタンを作成する – RadioButton
シークバーを作成する – SeekBar
スピナーを作成する – Spinner
評価を★印で表示/入力する – RatingBar
03-03 便利ウィジェットを活用する [RatingBar・WebView・AnalogClock・TextClock]
アプリにWebページを埋め込む – WebView

04 ビュー開発(ListView/RecyclerView)
04-01 リスト作成の基本を理解する [ListView]
配列リソースをリストに整形する
Javaコードからリストを生成する
04-02 ListViewのイベント処理を理解する [OnItemClickLstener・OnScrollListener]
クリック可能なリストを作成する
単一選択可能なリストを生成する
複数選択可能なリストを生成する
専用の選択画面を持ったリストを準備する
リストのスクロールを検知する
04-03 リストのレイアウトをカスタマイズする [SimpleAdapter・BaseAdapter]
SimpleAdapterでListViewをカスタマイズする
自作のアダプターを利用する
04-04 ListViewをもっと活用する [ListActivity・ExpandableListView・SearchView]
リスト専用のアクティビティ – ListActivity
補足:ListActivityでレイアウトファイルを指定する
階層型のリストを作成する – ExpandableListView
検索機能付きのリストを作成する – SearchView
04-05 より柔軟性のあるリストを作成する [RecyclerView・CardLView]
RecyclerView/CardViewの準備
レイアウトファイルを作成する
アダプタークラスを作成する
アクティビティを準備する

05 ビュー開発(レイアウト&複合ウィジェット)
05-01 ウィジェットの配置方法を理解する [レイアウト]
ウィジェットを縦/横一列に配置する – LinearLayout
相対的な位置関係でウィジェットの配置を決める – RelativeLayout
ウィジェットを格子状に配置する – TableLayout
ウィジェットを格子状に配置する(2) – GridLayout
タブパネルを作成する – TabHost/TabWidget
05-02 タブパネルやフリップ可能なビューを作成する [TabHost・ViewFlip・ScrollView]
複数の画像を切り替え表示する – ViewFlipper
画面のスクロールを有効にする – ScrollView

06 ビュー開発(ダイアログ&メニュー)
06-01 さまざまなダイアログを作成する
[AlertDialog・DatePickerDialog・TimePickerDialog]
シンプルなダイアログを表示する
[はい][いいえ][キャンセル]ボタンを表示する
アクティビティからダイアログに値を引き渡す
リスト選択型のダイアログを作成する
リスト選択型のダイアログを作成する – ラジオボタン
リスト選択型のダイアログを作成する – チェックボックス
日付ダイアログを作成する
時刻入力ダイアログを作成する
進捗ダイアログを作成する
自作のダイアログボックスを作成する
06-02 オプションメニューやコンテキストメニューを作成する [メニュー]
オプションメニューを作成する
コンテキストメニューを表示する
メニューを動的に作成する

07 ビュー開発(応用)
07-01 ビュー描画の基本をおさえる [View・Canvas・Paint]
ビューの正体
カスタムビューの基本
さまざまな図形を描画する
07-02 ビュー描画の理解を深める [Path・SurfaceView]
簡易な落書き帳アプリを作成する
高速描画に対応したSurfaceViewクラス
07-03 アプリにアニメーション機能を実装する
[Viewアニメーション・Propertyアニメーション・Drawableアニメーション]
Viewアニメーションの基本
さまざまなViewアニメーション
Viewアニメーションをプログラムだけで実装する
アニメーションの過程をカスタマイズする – インターポレーター
Drawableアニメーションの基本
Drawableアニメーションをプログラムだけで実装する
Propertyアニメーションの基本
Propertyアニメーションをプログラムだけで実装する
07-04 アプリのデザインを一元管理する [テーマ・スタイル]
スタイルの基本
テーマの基本
補足:テーマエディター

08 インテント
08-01 インテントの基本を理解する [Intent・ライフサイクル]
インテントの種類
アプリ内でアクティビティを切り替える
アクティビティの表示方式とライフサイクル
アクティビティ起動時にデータを引き渡す
08-02 画面間でデータを授受する [Intent・startActivityForResult]
呼び出し先のアクティビティから結果を受け取る
08-03 「やりたいこと」からアプリを起動する [暗黙的インテント]
暗黙的インテントの基本
さまざまなアクションの指定方法
暗黙的インテントを受け取る
08-04 画面サイズの異なるデバイスに対応する [フラグメント]
一覧/詳細画面を持ったアプリを実装する
一覧/詳細画面をスマホ環境に対応する

09 データ管理
09-01 ファイルにデータを保存する [openFileInput・openFileOutput]
データをファイルに保存する
データをファイルから読み込む
ファイル名を指定して保存する
指定されたファイルを読み込む
09-02 データベースにデータを保存する [SQLite]
データベース概論
SQLiteデータベース利用の流れ
SQLiteデータベースを開く – SQLiteOpenHelper
補足:複数件のデータを効率よく登録する方法
SQLiteデータベースの内容を確認する
書籍管理アプリを作成する
更新処理を実装する
09-03 アプリの設定情報を管理する [Preference・Shared]
基本的な設定画面を作成する
さまざまなPreference

10 ハードウェアの活用
10-01 位置情報を取得する [Googleマップ・FusedLocationProviderApi]
Googleマップを利用するための準備&設定
地図表示の基本を理解する
表示切替ボタン/ズームボタンを設置する
現在位置を監視&表示する
10-02 HTTPでサーバーと通信する
[HttpURLConnection・AsyncTask・AsyncTaskLoader]
HTTPの基本
ネットワーク通信の基本
AsyncTaskクラスを利用した非同期処理の実装
進捗状況をプログレスバーに表示する
HTTP POSTでサーバーにデータを送信する
ネットワーク経由で構造化データを取得する
AsyncTaskLoaderクラスによる非同期処理
10-03 音声ファイルを再生/録音する [MediaPlayer・MediaRecorder]
音声ファイルを再生する
音量を調整する
音声を録音する
10-04 ハードウェアのその他の機能 [Sensor・GesutureDetector・Vibrator]
Androidの各種センサーを利用する
加速度センサーでシェイクを検出する
複雑なタッチイベントを処理する – GestureDetectorクラス
バイブレーション動作を実装する

11 サービス開発&アプリの公開
11-01 サービスを開発する [Service・IntentService・BroadcastReceiver・Notification]
サービスの基本
サービスで定期的なタスクを実行する
別スレッドで動作するサービスを定義する
ブロードキャストでアクティビティにデータを引き渡す
サービスの状態をステータスバーに通知する
11-02 自作のアプリを公開する [Google Play]
Googleアカウント&デベロッパーアカウントの作成
デジタル署名したパッケージファイルの作成
Google Playへのアプリ登録&公開

索引

書籍目次

Posted by shi-n