Androidアプリの特徴

ここでは、Android OSを搭載した端末上で動作するアプリの特徴について学習します。
アプリが利用できるデータや機能について、注意すべき点を説明します。

アプリからアクセスできるデータ

アプリが自分自身で情報を保存する場合、特に特別な指定を行わない限り、 アプリ毎に用意された「/data/data/ (アプリのパッケージ名)/」配下に保存されるようになっています。 この領域は他のアプリからは読み込み、書き込みができないように設定されています。
また、これ以外にも、アプリは端末上の様々な情報にアクセスすることができます。

端末には、多くの情報が蓄積されます。例えば、以下のような情報です。
  • アドレス帳
  • メール(SMSを含む)
  • 電話の発着信履歴
  • Webの閲覧履歴
  • GPSによる位置情報
  • 画像データ
これらのデータは、各種Androidアプリが作成するデータです。各データは、基本的にそれぞれのアプリ固有の領域に保存され、他のアプリから直接アクセスすることはできません。 アプリが、これらの端末上に蓄積された情報にするアクセスするためには、他のアプリとデータ連携するための仕組みを利用する必要があります。
以下の例では、アプリAはデータ連携するための仕組みを利用して、アプリBのデータにアクセスしています。

Androidアプリのデータアクセスイメージ

アプリが取り扱う情報には個人情報が含まれることがあります。特にスマートフォンの場合、個人情報や 利用者のプライバシに関わる情報が多く蓄積されます。

スマートフォンが取り扱う情報例

開発者は情報にアクセスする際、利用者の個人情報を保護し、またプライバシを侵害しないように配慮する事が必要です。

アプリから利用できる機能

アプリは端末に搭載されている様々な機能を利用する事ができます。
例えば、アプリからカメラ機能を利用したり、GPSを起動して位置情報を取得したりすることもできます。 このような端末に搭載されている機能を利用する場合には、アプリはAndroid OSに対して機能を利用することを宣言し、許可を得る事が必要になります。
また、アプリは端末の機能を利用するのと同様に、他のアプリが提供している機能を利用する事ができます。
以下の例では、画像加工機能をもつアプリAが、カメラ機能を使って撮影した写真を加工し、その画像データを撮影場所の位置情報とともにアプリBへ送り、アプリBの機能を使用してメール送信しています。

Androidアプリの機能アクセスイメージ

Androidアプリの特徴

このようにAndroidアプリは、他のアプリやAndroid OSと、データ連携や機能連携を行いながら動作するのが特徴です。 Android OSはこのような連携が簡単にできるように、アプリ同士がIntentを利用して疎結合するモデルを採用しています。 例えばメールに添付されたファイルをタップすると、そのファイルを処理可能なアプリの一覧が表示され、 利用者が連携先を指定できるなど、アプリは処理を依頼する相手のアプリを指定する事なくデータを他の アプリに渡す事ができるようになっています。
開発者にとっては便利な疎結合の仕組みですが、セキュリティの面では考慮しなければならない点があるので注意が必要です。 Android OSの仕組みをきちんと理解し、セキュリティモデルに従った安全なアプリを開発するようにしましょう。