スマートフォン全盛とはいえ、従来型の携帯電話(フィーチャーフォン)の販売は続いている。アプリの開発プラットフォームとしてiモードはいまだ現役である。1年ぶりの執筆となるが、その間にコラムタイトルに使っている「ドコモマーケット」は「dマーケット」に名称が変わり、アプリストアはゲーム中心の品揃えに変化している。最終回となる今回は、連載の締めくくりとしてiアプリの最新仕様であるStar2.xの概要について解説する。

Star-2.xのStar-1.xからの機能追加と変更点

 約1年前の2011年10月、NTTドコモよりStar-2.0の仕様が公開された。その後最新仕様はStar-2.xとしてNTTドコモのサポートサイトで公開されている。2011年度秋以降発売の携帯電話に搭載されている。Star-2.xでは、Star-1.xからいくつかの機能追加と変更がなされた。

 Star-2.xでは、Star-1.xの基本API、オプションAPIに対して、以下の機能が追加・変更された。

内部ストレージへのアクセス

 Star-2.0から、以下の内部ストレージへのアクセスのためのパッケージが追加された。

com.docomostar.fs
内部ストレージのファイルシステムにアクセスするクラスを含むパッケージ

このパッケージには、以下のクラスが含まれる。

InternalStorage
内部ストレージを表現するクラス

InternalStorageFile
内部ストレージに作成されたファイルを表現するクラス

InternalStorageFolder
内部ストレージに作成されたフォルダを表現するクラス

 内部ストレージは、大容量データの保持に適している。iアプリではデータはScratchPadに保持することがほとんどであるが、内部ストレージを利用すると従来ScratchPadでは保持できなかったような大容量データを保持することができる。

 ただし、iアプリからの内部ストレージの利用には以下のような制限事項がある。

  • iアプリから内部ストレージに保存したデータは、iアプリからのみ参照・削除できる。
  • 内部ストレージに何かを保存したiアプリを削除すると、そのデータも削除される。
  • 内部ストレージを利用しているiアプリで、外部メモリにiアプリを移動すると、内部ストレージに保存されたデータは削除される。

 内部ストレージは、一般的なファイルシステムと同様、フォルダとファイルによって管理される。iアプリでは、iアプリ専用のフォルダを作成し、その配下にフォルダやファイルを配置することができる。内部ストレージのルートフォルダに、iアプリごとにそのiアプリ専用のフォルダが作成される。

 各フォルダ配下には、指定のiアプリしかアクセスすることはできない。フォルダ配下であれば自由にフォルダやファイルを配置できるが、フォルダの階層は現在のプロファイルでは5階層までとなる。使用できる容量の制限はない。

 iアプリ個別の専用のフォルダを取得するには、InternalStorageクラスのgetMyFolder()メソッドを呼びだす。戻り値としてフォルダのInternalStorageFolderオブジェクトが取得できる。そのInternalStorageFolderオブジェクトに対して、サブディレクトリやファイルを作成する。

 ファイルを作成するには、InternalStorageFolderクラスのcreateFile()メソッドを呼び出す。引数に作成したいファイル名を指定する。戻り値としてファイルのInternalStorageFileオブジェクトが取得できる。InternalStorageFileオブジェクトに対して、データの書き込みや参照、ファイルの削除などをすることができる。以降のAPI利用の詳細は、iアプリコンテンツ開発ガイド詳細編やAPIリファレンスを参考にしてほしい。