Android勉強会

Androidの学習日記

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

Androidアプリ開発の参考書を買いました。

Androidアプリ開発の手順を一通り見てみたいと思います。

 

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

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

 

 

 

目次

イントロダクション

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


はじめての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アカウント&デベロッパーアカウントの作成

 ○デジタル署名したパッケージファイルの作成

 ○Google Playへのアプリ登録&公開

 

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

 

出版社情報

www.shuwasystem.co.jp

 

正誤表、サンプルプログラムのダウンロード

www.wings.msn.to

 

著者紹介

テクニカルライターの山田祥寛さんは、ITの技術書をたくさん執筆されていますね。

分かりやすい本なので、ときどき買ってます。

 

山田 祥寛 | Facebook

 

www.amazon.co.jp

 

山田祥寛(やまだよしひろ)

静岡県榛原町生まれ。

一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。

Microsoft MVP for Visual Studio and Development Technologies。

執筆コミュニティ「WINGSプロジェクト」の代表でもある。

 

書評

Androidの仕組みについて、簡単な解説がありました

→ (p.3) Androidアーキテクチャ

 

AndroidのOSは、Linuxです。

Androidの中は、Linux上にJavaの実行環境とフレームワークが用意されていて、Javaのアプリを走らせているんですね。

なので、Androidアプリを作るってことは、Linux上で動くJavaアプリを作るってことです。

普通のJavaアプリと違うところは、Android専用のフレームワークが用意されているので、それに合わせて作るってことでしょう。

 

本書を順番に読んでいけば、一通り基本を押さえられると思います。

最低限、調べものをするときに必要な基礎知識が身についていれば、後が楽になる?