はじめてのAndroidアプリ開発 第2版
Androidアプリ開発の手順を一通り見てみたいと思います。
TECHNICAL MASTER はじめてのAndroidアプリ開発 第2版 Android Studio 2対応
- 作者: 山田祥寛
- 出版社/メーカー: 秀和システム
- 発売日: 2016/12/16
- メディア: 単行本
- この商品を含むブログを見る
目次
イントロダクション
01-01 Androidの概要を理解する [Android・ART・バージョン]
○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
はじめてのAndroidアプリ
02-01 Androidアプリのプロジェクトを理解する [プロジェクトの構造]
○プロジェクトの作成
○アプリの実行
○実機での起動
02-02 サンプルアプリの内容を確認する [アプリの構造]
○サンプルアプリの基本的な構造
○アプリの「ウィンドウ」を定義する - Activityクラス
○補足:Rクラスとは?
○アプリの見栄えを定義する - レイアウトファイル
○リソース情報を管理する - dimens.xml
○文字列リソースを管理する - strings.xml
○アプリの基本情報を定義する - マニフェストファイル
02-03 アプリ開発の基本キーワードを理解する [レイアウト・イベント・ログ・デバッグ]
○画面をデザインする - レイアウトエディター
○ボタンクリック時の処理を定義する - イベントハンドラー
○ボタンクリック時の処理を定義する - イベントリスナー
○補足:匿名クラス
○端末の回転時に画面の状態を維持する
○文字列をトースト表示する
○ログを出力する - LogCatビュー
○アプリをデバッグする
ビュー開発(基本ウィジェット)
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
ビュー開発(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-01 ウィジェットの配置方法を理解する [レイアウト]
○ウィジェットを縦/横一列に配置する - LinearLayout
○相対的な位置関係でウィジェットの配置を決める - RelativeLayout
○ウィジェットを格子状に配置する - TableLayout
○ウィジェットを格子状に配置する(2) - GridLayout
○タブパネルを作成する - TabHost/TabWidget
05-02 タブパネルやフリップ可能なビューを作成する [TabHost・ViewFlip・ScrollView]
○複数の画像を切り替え表示する - ViewFlipper
○画面のスクロールを有効にする - ScrollView
ビュー開発(ダイアログ&メニュー)
06-01 さまざまなダイアログを作成する [AlertDialog・DatePickerDialog・TimePickerDialog]
○シンプルなダイアログを表示する
○[はい][いいえ][キャンセル]ボタンを表示する
○アクティビティからダイアログに値を引き渡す
○リスト選択型のダイアログを作成する
○リスト選択型のダイアログを作成する - ラジオボタン
○リスト選択型のダイアログを作成する - チェックボックス
○日付ダイアログを作成する
○時刻入力ダイアログを作成する
○進捗ダイアログを作成する
○自作のダイアログボックスを作成する
06-02 オプションメニューやコンテキストメニューを作成する [メニュー]
○オプションメニューを作成する
○コンテキストメニューを表示する
○メニューを動的に作成する
ビュー開発(応用)
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-01 インテントの基本を理解する [Intent・ライフサイクル]
○インテントの種類
○アプリ内でアクティビティを切り替える
○アクティビティの表示方式とライフサイクル
○アクティビティ起動時にデータを引き渡す
08-02 画面間でデータを授受する [Intent・startActivityForResult]
○呼び出し先のアクティビティから結果を受け取る
08-03 「やりたいこと」からアプリを起動する [暗黙的インテント]
○暗黙的インテントの基本
○さまざまなアクションの指定方法
○暗黙的インテントを受け取る
08-04 画面サイズの異なるデバイスに対応する [フラグメント]
○一覧/詳細画面を持ったアプリを実装する
○一覧/詳細画面をスマホ環境に対応する
データ管理
09-01 ファイルにデータを保存する [openFileInput・openFileOutput]
○データをファイルに保存する
○データをファイルから読み込む
○ファイル名を指定して保存する
○指定されたファイルを読み込む
09-02 データベースにデータを保存する [SQLite]
○データベース概論
○SQLiteデータベース利用の流れ
○SQLiteデータベースを開く - SQLiteOpenHelper
○補足:複数件のデータを効率よく登録する方法
○SQLiteデータベースの内容を確認する
○書籍管理アプリを作成する
○更新処理を実装する
09-03 アプリの設定情報を管理する [Preference・Shared]
○基本的な設定画面を作成する
○さまざまなPreference
ハードウェアの活用
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-01 サービスを開発する [Service・IntentService・BroadcastReceiver・
Notification]
○サービスの基本
○サービスで定期的なタスクを実行する
○別スレッドで動作するサービスを定義する
○ブロードキャストでアクティビティにデータを引き渡す
○サービスの状態をステータスバーに通知する
11-02 自作のアプリを公開する [Google Play]
○デジタル署名したパッケージファイルの作成
○Google Playへのアプリ登録&公開
(via はじめてのAndroidアプリ開発 第2版 Android Studio 2対応)
出版社情報
正誤表、サンプルプログラムのダウンロード
著者紹介
テクニカルライターの山田祥寛さんは、ITの技術書をたくさん執筆されていますね。
分かりやすい本なので、ときどき買ってます。
山田祥寛(やまだよしひろ)
一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。
Microsoft MVP for Visual Studio and Development Technologies。
執筆コミュニティ「WINGSプロジェクト」の代表でもある。
書評
Androidの仕組みについて、簡単な解説がありました
Androidの中は、Linux上にJavaの実行環境とフレームワークが用意されていて、Javaのアプリを走らせているんですね。
なので、Androidアプリを作るってことは、Linux上で動くJavaアプリを作るってことです。
普通のJavaアプリと違うところは、Android専用のフレームワークが用意されているので、それに合わせて作るってことでしょう。
本書を順番に読んでいけば、一通り基本を押さえられると思います。
最低限、調べものをするときに必要な基礎知識が身についていれば、後が楽になる?