スクラッチパッドとは?


iアプリのような携帯端末で動くプログラムは、「ファイル」へのアクセスができません。そもそもメモリしかない機器でファイルを保存するディスクさえないのですから。では、必要なデータを保存する場合はどうするのでしょうか。

 このような場合のために用意されているのが「スクラッチパッド」というものです。これは、一種の「メモリディスク」のようなものと考えればいいでしょう。メモリの中に区画を用意し、そこにデータを保存できるようにしたものです。これはiアプリを終了した以後も常に値を保持し続けます。

このスクラッチパッドを使う場合、iアプリではADF(jamファイル)に必要なメモリサイズを記述しておく必要があります。これにより、そのiアプリ用に必要なメモリが確保されます。スクラッチパッドはiアプリごとに用意され、他のiアプリが保存したスクラッチパッドのデータにアクセスすることはできません。

では、実際に簡単なサンプルを作成してみましょう。例として、簡単な描画アプリを作成してみます。といっても本格的なものではなくて、2次元配列を用意しておき、そこに保管した数値を元に簡単な図を表示するといったものです。

まず、スクラッチパッドの設定をしましょう。ここでは、30×30の配列の値を保管できるようにしておきます。iappliToolsを起動し、プロジェクトを開いてください(サンプルでは、前回まで作成したSampleプロジェクトをそのまま再利用することにします)。そして、「ADF設定」ボタンをクリックします。

「ADF設定」ボタンを押して現れるダイアログ。SPsizeの値を変更する。


画面に、ADF設定のダイアログが現れます。この中から「SPsize」という項目を探しましょう。これがスクラッチパッドのサイズを設定するための項目です。ここに、必要なバイト数を入力します。

ここでは、各値を1バイトごとに保管していくことにして、30×30=900バイトが必要となります。このSPsizeに、900以上の値を記述してください(ここでは切りのよいところで1024にしておきました)。

このスクラッチパッドは、当初は非常に小さなサイズ(わずか10KB!)だったのですが、DoJaのバージョンアップとともに拡張され、現在(DoJa 5.0)ではiアプリ本体とスクラッチパッドの合計が1MB以内であれば自由に使えるようになっています。