Data API Library for Xamarin(その4・Xamarin.Forms(共有プロジェクト)への組み込み)

  • 投稿日:
  • by
  • カテゴリ:

Xamarin.Formsでは、PCLのほかに「共有プロジェクト」という方法をとることもできます。
今回は、共有プロジェクトにData API Library for Xamarinを組み込む方法を解説します。

1.PCLと共有プロジェクトの違い

Xamarin.Formsでは、ソースコードを極力共通化して、プラットフォームに依存する部分だけを別々に作ることができます。
その共通化の方法として、PCLと共有プロジェクトがあります。

PCLでは、プラットフォームに依存する部分を、インターフェースと実装に分け、インターフェースは共通部分に記述し、実装のクラスをプラットフォームごとに定義する形を取ります。
インターフェースやクラスを作成するのでプログラムはやや長くなりますが、プログラムがすっきりするメリットがあります。

一方の共有プロジェクトは、#ifなどのプリプロセッサディレクティブを使って、1つのソースコードにプラットフォームごとの処理を混在させて記述する方法です。
プラットフォームに依存する部分が少なければ、PCLより手軽に書くことができます。
しかし、ソースコードの見通しが悪くなるというデメリットがあります。

2.Newtonsoft.Jsonの組み込み

まず、Newtonsoft.Jsonを組み込みます。

2-1.Visual Stduio 2017の場合

以下の手順でNewtonsoft.Jsonを組み込みます。

  1. 「ツール」→「NuGetパッケージマネージャー」→「ソリューションのNuGetパッケージの管理」メニューを選びます。
  2. 「参照」のタブをクリックします。
  3. 「検索」の欄に「Newtonsoft.Json」と入力します。
  4. 検索されたパッケージの中で、「Newtonsoft.Json」のチェックをオンにします。
  5. パッケージの組み込み先を選ぶ部分で、すべてのプロジェクトのチェックをオンにして、「インストール」ボタンをクリックします。

Newtonsoft.JSONの組み込み

2-2.Xamarin Studioの場合

PCLでは、PCLのプロジェクトにNewtonsoft.Jsonを組み込みました
共有プロジェクトでは、それと同様の手順で、Android/iOSそれぞれのプロジェクトにNewtonsoft.Jsonを組み込みます。

3.DataAPI.csの組み込み

次に、ライブラリのDataAPI.csを組み込みます。

PCLでは、PCLのプロジェクトだけにDataAPI.csを組み込みました。
一方、共有プロジェクトでは、Android/iOS(UWP版も開発する場合はUWPも)の各プロジェクトに、DataAPI.csを組み込みます。
組み込みの手順は、各プロジェクトに組み込むという点を除けば、PCLの場合と同じです。

4.HTTPHandler.csの組み込み

次に、Android/iOS/UWPの各プロジェクトに、ライブラリのHTTPHandler.csを組み込みます。
この手順は、PCLの場合と同じです。

5.条件付きコンパイルシンボルの定義

次に、Android/iOS/UWPの各プロジェクトで、条件付きコンパイルシンボルを定義します。
その手順は、Xamarinネイティブでコンパイルシンボルを定義する場合と同じです。