第5回  スクラッチパッドへのデータ保存とダウンロードファイルの処理90Xi専用ゲームiアプリ開発講座(1/4 ページ)

» 2004年11月15日 22時22分 公開
[澤橋辰典・武上将樹,ITmedia]

  • 第8回 90xiアプリのこれから
  • 第7回 ネットワークiアプリのためのサーバサイド活用(2)
  • 第6回 ネットワークiアプリのためのサーバサイド活用(1)
  • 第5回  スクラッチパッドへのデータ保存とダウンロードファイルの処理
  • 第4回 カメラ機能を使ってカードを作ろう
  • 第3回 簡単なゲーム作成の流れを身に付ける
  • 第2回 カードゲームをつくってみよう
  • 第1回 90xiの時代に何を作るか
  •  前回はカメラオブジェクトを利用して撮影した写真をアプリに組み込み、その画像を解析して、オリジナルのカードを生成する方法について解説した。

     今回はゲーム作りに必須となる、携帯電話の記憶領域(スクラッチパッド)を利用してデータの読み書きをする処理と、通信によってネットワーク上から画像をダウンロードする処理について解説する。

    スクラッチパッドの使い方

     携帯電話には、データを保存しておくための領域が存在する。この保存領域は「スクラッチパッド」と呼ばれ、アプリケーション内で利用するためのデータをこの領域に保持することで、データの読み込みや書き込みが行える。例えば、ネットワーク上から画像や音楽をダウンロードして保存しておけば、次にそのデータを利用しようとした時に、通信費や通信にかかる時間を気にすることなくデータを使用できるのだ。

     スクラッチパッドを使用するには、ストリームを開く際のロケーションに以下の文字列を指定する。

    "scratchpad:///0;pos=0"

     最初の数値はスクラッチパッドの番号(通常は0)を指定して、次の数値でスクラッチパッドの先頭から何バイト目になるのかを指定する。バイト形式のデータを読み込むにはInputStream、書き込むにはOutputStreamを用いる。読み込みのストリームを作るには以下のように記述する。

    InputStream is = Connector.openInputStream("scratchpad:///0;pos=0");

     ここで作成したis(InputStream)に対して、read()を実行すると、スクラッチパッドの先頭から1バイトだけ読み込むことができる(戻り値は0〜255の範囲をとるint型の数値)。続けて使用すると次のバイトを読み込む。この際に、使わなくなったストリームはclose()で閉じておかなければならない。255を超えるint型の数値を読み書きする場合は、DataInputStream/DataOutputStreamを用いれば便利である。以下はスクラッチパッドの先頭200バイト目からintデータを読み込む例である。

    int x;
    try {
      DataInputStream dis 
        = Connector.openDataInputStream("scratchpad:///0;pos=200");
      x = dis.readInt();
      dis.close();
    } catch (Exception e) {}

     スクラッチパッドを使用する際に忘れてはならないのが、アプリの設定ファイル(JAMファイル/ADFファイル)の変更である。エミュレータ上部にある「ADF設定」と書かれたボタンを押すことで、JAMファイルを編集できる。ファイルの編集に慣れていれば、プロジェクトフォルダ配下のappフォルダに格納されているJAMファイルを直接編集することも可能だ。設定ファイルのSPSizeの項目に400kByteまでの整数値(〜409600)を指定することで、スクラッチパッドをそのサイズまで使用できるようになる。

           1|2|3|4 次のページへ

    Copyright © ITmedia, Inc. All Rights Reserved.

    アクセストップ10

    2025年12月05日 更新
    1. 飲食店でのスマホ注文に物議、LINEの連携必須に批判も 「客のリソースにただ乗りしないでほしい」 (2025年12月04日)
    2. 「楽天ポイント」と「楽天キャッシュ」は何が違う? 使い分けのポイントを解説 (2025年12月03日)
    3. 「スマホ新法」施行前にKDDIが“重要案内” 「Webブラウザ」と「検索」選択の具体手順を公開 (2025年12月04日)
    4. 三つ折りスマホ「Galaxy Z TriFold」の実機を触ってみた 開けば10型タブレット、価格は約38万円 (2025年12月04日)
    5. NHK受信料の“督促強化”に不満や疑問の声 「訪問時のマナーは担当者に指導」と広報 (2025年12月05日)
    6. 楽天ペイと楽天ポイントのキャンペーンまとめ【12月3日最新版】 1万〜3万ポイント還元のお得な施策あり (2025年12月03日)
    7. 楽天の2年間データ使い放題「バラマキ端末」を入手――楽天モバイル、年内1000万契約達成は確実か (2025年11月30日)
    8. サイゼリヤの“注文アプリ”が賛否を呼ぶ理由──「使いやすい」「紙メニュー前提」など多様な意見 (2025年11月23日)
    9. Z世代で“友人のInstagramアカウント乗っ取り”が流行? いたずらで済まない不正アクセス禁止法違反 保護者が注意すべきこと (2025年12月04日)
    10. 鉛筆デザインのiPad用スタイラスペン「Nelna Pencil」発売 物理ボタンに9機能を設定可能 (2025年12月03日)
    最新トピックスPR

    過去記事カレンダー