Xamarin.Android のデータ アクセス

ほとんどのアプリケーションでは、なにがしかのデータをデバイスにローカルに保存することが必要です。 データの量が取るに足りないほど少ない場合を除き、通常これには、データベースと、データベース アクセスを管理するためのアプリケーション内のデータ層が必要です。 Android には SQLite データベース エンジンが '組み込まれて' おり、データの格納と取得のためのアクセスは Xamarin のプラットフォームによって簡略化されています。 このドキュメントでは、クロスプラットフォームの方法で SQLite データベースにアクセスする方法について説明します。

データ アクセスの概要

ほとんどのアプリケーションでは、なにがしかのデータをデバイスにローカルに保存することが必要です。 データの量が取るに足りないほど少ない場合を除き、通常これには、データベースと、データベース アクセスを管理するためのアプリケーション内のデータ層が必要です。 Android ではどちらにも SQLite データベース エンジンが "組み込まれて" おり、データへのアクセスは、SQLite データ プロバイダーに付属する Xamarin のプラットフォームによって簡略化されます。

Xamarin.Android では、次のようなデータベース アクセス API がサポートされています。

  • ADO.NET フレームワーク。
  • SQLite-NET サード パーティ ライブラリ。

このセクションのコードの大部分は完全にクロスプラットフォームであり、変更なしで iOS でも Android でも動作します。 次の 2 つのサンプル アプリについて説明します。

  • DataAccess_Basic: 簡単なデータ操作で、結果をテキスト表示コントロールに書き込みます。

  • DataAccess_Advanced: 単純なデータ構造の一覧表示と編集を行う小規模な作業アプリケーションにデータ操作を統合します。

いずれのサンプル ソリューションにも、iOS と Android のサンプル アプリケーション プロジェクトが含まれています。

Xamarin.Forms アプリケーションについては、データベースの操作に関する記事をご覧ください。PCL ライブラリと Xamarin.Forms を使って SQLite を操作する方法が説明されています。

このセクションのトピックでは、データベース エンジンとして SQLite を使用する Xamarin.Android でのデータ アクセスについて説明します。 ADO.NET 構文を使ってデータベースに "直接" アクセスすることも、SQLite.NET ORM を組み込んで C# でデータ操作を実行することもできます。

2 つのサンプルを確認します。テキスト フィールドに出力する非常に簡単なデータ アクセス コードを含むものと、作成、読み取り、更新、削除の機能を含む単純なアプリケーションです。 スレッド処理と、あらかじめ設定されている SQLite データベースでアプリケーションをシードする方法についても説明します。

クロスプラットフォームのデータ アクセスの他の例については、Tasky Pro のケース スタディを参照してください。