データの読み書きと公開

通常のデスクトップOSは、アプリケーションがファイルを読み書きし、それが他のアプリケーションからも(おそらくはある程度のアクセス権限制御の上で)読み書き出来る状態になる、一般的なファイルシステムを提供しています。しかしAndroidでは異なる方式を取っており、ファイルを含む全てのアプリケーションデータはアプリケーションごとにプライベート状態になっています。しかし、一方でAndroidはまた、アプリケーションが自身のプライベートなデータを他のアプリケーションに対して公開する方法も提供しています。本稿では、アプリケーションがデータを読み書きする方法、データを他のアプリケーションに公開する方法、他のアプリケーションが公開しているデータを読み込む方法について説明します。

Androidでは、データ保存・読み込みのために以下の方法を提供しています。

Preferences
プリミティブなデータ型のキー/値セットを保存するための軽量なメカニズムです。通常はアプリケーションの設定を保存するために使われます。
ファイルの読み書き
ファイルはデバイス上あるいはリムーバブルメディア上に保存することが出来ます。デフォルト状態では、他のアプリケーションからこれらのファイルにアクセスすることは出来ません。
SQLiteデータベースの利用
Android APIはSQLiteサポートを含んでいます。アプリケーションではそれぞれ、プライベートなSQLiteデータベースを作成し、利用することが出来ます。それぞれのデータベースは、それを作成したパッケージごとにプライベートとなります。
Content Providerの利用
Content Providerはアプリケーションのプライベートなデータに対して、必要に応じた制限をかけた上で他のアプリケーションから読み書きアクセスを行うための付加的なコンポーネントです。Content Providerは標準的なデータ要求構文と戻り値に対する標準的なアクセス手段を実装します。Androidでは、連絡先情報などの様々な一般的なデータタイプに対するContent Providerを用意しています。
ネットワークアクセス
ネットワーク上からデータを取得したり、ネットワーク上にデータを保存したりすることが出来ることも忘れないでおいてください。