目 次

Xamarinプログラミング入門

はじめに
第1章 クロスプラットフォーム開発をC#で
	1.1 なぜC#なのか
	1.2 .Net FrameworkとMonoとの関係
	1.3 モバイルプログラミングの特徴
		1.3.1 タッチ操作
		1.3.2 ストレージと通信データ量
		1.3.3 ストアからのアプリのダウンロード
第2章 Xamarinとは
	2.1 Xamarinでクロスプラットフォーム開発
	2.2 Xamarin.iOS
		2.2.1 Basic Class Library
		2.2.2 Xamarin.iOS
	2.3 Xamarin.Android
		2.3.1 Basic Class Library
		2.3.2 Xamarin.Android
	2.4 Xamarin.Forms
		2.4.1 Xamarin.Formsプロジェクトの構造
		2.4.2 XAML
第3章 開発環境を整える
	3.1 Visual Studio 2017のインストール
		3.1.1 利用可能なVisual Studio のバージョン
		3.1.2 Visual Studio Community 2017 のインストール
	3.2 Visual Studio for Macのインストール
		3.2.1 Visual Studio for Macのダウンロード
		3.2.2 Visual Studio for Macのインストール
	3.3 iOS開発の場合
		3.3.1 最初のiOSアプリケーションを作る
		3.3.2 リモートログインの設定
		3.3.3 新しいプロジェクトを作る
		3.3.4 iOSシミュレーターで実行する
		3.3.5 実機でデバッグ実行する
	3.4 Android開発の場合
		3.4.1 最初のAndroidアプリケーションを作る
		3.4.2 Visual StudioとAndroidエミュレーターとの連携
		3.4.3 新しいプロジェクトを作る
		3.4.4 エミュレーターでアプリケーションを実行する
		3.4.5 実機でデバッグ実行する
	3.5 Xamarin.Formsの場合
		3.5.1 最初のXamarin.Formsアプリを作る
		3.5.2 新しいプロジェクトを作る
		3.5.3 iOS シミュレーターで実行する
		3.5.4 Android エミュレーターで実行する
		3.5.5 実機でデバッグ実行する
第4章 サンプルアプリの概要
	4.1 サンプルのダウンロード
		4.1.1 GitHubを開く
		4.1.2 Zipファイルをダウンロードする
		4.1.3 gitコマンドを利用する
		4.1.4 GitHubのDesktopアプリを使う
		4.1.5 最新版をダウンロードする
		4.1.6 その他のgitツール(SourceTree など)
	4.2 ToDoアプリの構造
		4.2.1 Master-Detail アプリ
		4.2.2 リスト構造
		4.2.3 内部ストレージへのアクセス
		4.2.4 モバイルサービスへのアクセス
		4.2.5 ToDoロジックを分離
	4.3 iOS プロジェクトの構造
		4.3.1 Storyboard
		4.3.2 Segue(セグエ)を利用した画面遷移
		4.3.3 ViewControllerの作成
		4.3.4 リスト構造とUITableView
		4.3.5 画像リソース
	4.4 Androidプロジェクトの構造
		4.4.1 [layout]フォルダー
		4.4.2 Activityの作成
		4.4.3 Intentを利用した画面遷移
		4.4.4 リスト構造とListView
		4.4.5 画像や文字列リソース
	4.5 Xamarin.Formsプロジェクトの構造
		4.5.1 XAML
		4.5.2 共通のPLCライブラリ
		4.5.3 Navigationを利用した画面遷移
		4.5.4 リスト構造とListView
	4.5.5 MVVMパターン
第5章 画面を作成する
	5.1 画面のイメージ
		5.1.1 アプリの要素を決める
		5.1.2 リスト表示のメイン画面
		5.1.3 ToDo を表示する詳細画面
		5.1.4 新規作成
		5.1.5 設定画面
		5.1.6 iOS/Android/Xamarin.Forms のそれぞれで
	5.2 iOSのビューを作成する
		5.2.1 プロジェクトの作成
		5.2.2 Storyboard
		5.2.3 メイン画面(Table View)
		5.2.4 詳細画面(View)
		5.2.5 設定画面(View)
		5.2.6 Navigation ControllerとSegue
		5.2.7 ドキュメントアウトラインの利用
		5.2.8 Visual Studio for Macで編集
	5.3 Androidのビューを作成する
		5.3.1 プロジェクトの作成
		5.3.2 Main.axml
		5.3.3 Detail.axml
		5.3.4 Setting.axml
		5.3.5 画面遷移を確認する
		5.3.6 Android Studioを活用する
	5.4 Xamarin.FormsのXAMLを使う
		5.4.1 プロジェクトの作成
		5.4.2 メイン画面(MainPage.xaml)
		5.4.3 詳細画面(DetailPage.xaml)
		5.4.4 設定画面(SettingPage.xaml)
		5.4.5 コントロールに名前を付ける
第6章 共通ロジックを作成する
	6.1 プラットフォーム間でコードを共有する
		6.1.1 なぜ、コードを共有できるようにするのか
		6.1.2 コード共有の方法
		6.1.3 共有にPortable Class Libraryを活用する
		6.1.4 Xamarin.FormsとPCLプロジェクトの関係
	6.2 ToDoロジックを作成する
		6.2.1 ToDoアプリのモデル
		6.2.2 ToDoクラス
		6.2.3 ソート可能なコレクションクラス
		6.2.4 MVVMパターンに対応させる
	6.3 ToDoロジックのテストをする
		6.3.1 単体テストプロジェクトを作る
		6.3.2 テストの準備をする
		6.3.3 テストコードを書く
		6.3.4 ToDoクラスをテストする
		6.3.5 コレクションクラスをテストする
		6.3.6 iOS/Androidプロジェクトに組み込む
第7章 個別ロジックを作成する
	7.1 プラットフォーム固有のコードを記述する
		7.1.1 固有コードの記述
		7.1.2 リスト表示の違い
		7.1.3 画面遷移の違い
	7.2 iOSのビューに接続する
		7.2.1 TableViewのDataSourceを作成
		7.2.2 メイン画面からのセグエを設定
		7.2.3 メイン画面への戻りを設定
		7.2.4 詳細画面でカレンダーを表示
		7.2.5 設定画面でピッカーを表示
	7.3 Androidのビューに接続する
		7.3.1 ListViewのAdapterを作成
		7.3.2 メイン画面からIntentを実行
		7.3.3 メイン画面への戻りを設定
		7.3.4 詳細画面でカレンダーを表示
		7.3.5 設定画面でSpinnerを表示
	7.4 Xamarin.FormsのPCLプロジェクト
		7.4.1 ListViewへのデータバインディング
		7.4.2 メイン画面から詳細画面を表示
		7.4.3 MessagingCenterクラスの利用
		7.4.4 詳細画面のデータバインディング
		7.4.5 設定画面のデータバインディング
	7.5 Xamarin.Formsの個別設定
		7.5.1 Pluginの利用
		7.5.2 iOSプロジェクトの設定
		7.5.3 Androidプロジェクトの設定
第8章 ローカルファイルにアクセスする
	8.1 ローカルファイルを利用する
		8.1.1 アプリデータを保持する
		8.1.2 ローカルストレージとクラウド
		8.1.3 クロスプラットフォーム開発の注意点
		8.1.4 起動時の読み込みと逐次保存
	8.2 iOSのファイルアクセス
		8.2.1 データモデルをXML形式にシリアライズ
		8.2.2 操作時に保存
		8.2.3 次回起動時に読み込み&復元
	8.3 Androidのファイルアクセス
		8.3.1 シリアライズの活用
		8.3.2 操作時に保存
		8.3.3 次回起動時に読み込み&復元
	8.4 Xamarin.Formsのファイルアクセス
		8.4.1 DependencyServiceクラスの活用
		8.4.2 インターフェイスを定義
		8.4.3 個別プロジェクトに実装
		8.4.4 操作時に保存
		8.4.5 次回起動時に読み込み&復元
第9章 App Serviceを使う
	9.1 Azure App Serviceを利用する
		9.1.1 Azure App Service とは
		9.1.2 無料評価版で確認する
		9.1.3 Azureポータルを開く
		9.1.4 新しいMobile Appを作成する
		9.1.5 バックエンドのダウンロードと発行
		9.1.6 クライアントアプリをダウンロードと実行
		9.1.7 SQL Server Management Studioで接続
	9.2 Mobile Appを作成する
		9.2.1 ToDo テーブルを作る
		9.2.2 Azure Mobile Appを作成する
		9.2.3 Azure に発行する
	9.3 iOSからモバイルサービスを使う
		9.3.1 Microsoft.Azure.Mobile.Clientをインストール
		9.3.2 ToDoクラスの修正
		9.3.3 MobileServiceClientの初期化
		9.3.4 RefreshItemsFromTableAsync メソッドの作成
		9.3.5 起動時にAzureから取得
		9.3.6 更新時にAzureに保存
	9.4 Andoridからモバイルサービスを使う
		9.4.1 Microsoft.Azure.Mobile.Clientをインストール
		9.4.2 MobileServiceClientの初期化
		9.4.3 RefreshItemsFromTableAsync メソッドの作成
		9.4.4 起動時にAzure から取得
		9.4.5 更新時にAzure に保存
	9.5 Xamarin.Formsからモバイルサービスを使う
		9.5.1 Microsoft.Azure.Mobile.Client をインストール
		9.5.2 MobileServiceClient の初期化
		9.5.3 RefreshItemsFromTableAsync メソッドの作成
		9.5.4 起動時にAzureから取得
		9.5.5 更新時にAzureに保存
		9.5.6 共有ロジックとしてのMobile App
第10章 まとめ
	10.1 アプリを拡張するために
		10.1.1 拡張のポイント 289
		10.1.2 ToDo ロジックを拡張する
		10.1.3 画像を追加する
	10.2 アプリを公開するために
		10.2.1 公開の準備
		10.2.2 App Store
		10.2.3 Google Play
	10.2.4 まとめ
付録A Android Thingsの利用
	A.1 XamarinでIoT
	A.2 Android Thingsの登場
	A.3 Xamarin.AndroidでL チカのプロジェクト
	A.4 L チカを動かしてみよう
付録B Xamarin.FormsでUWPアプリを作る
	B.1 UWP(Universal Windows Platform)とは
	B.2 Xamarin.Fromsとネイティブの関係
	B.3 SampleTodoをUWP対応にする
索引