第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

    2024年04月26日 更新
    1. 楽天モバイルのスマホが乗っ取られる事案 同社が回線停止や楽天ID/パスワード変更などを呼びかけ (2024年04月23日)
    2. シャープ、5月8日にスマートフォンAQUOSの新製品を発表 (2024年04月24日)
    3. スマホを携帯キャリアで買うのは損? 本体のみをお得に買う方法を解説 (2024年04月24日)
    4. 貼り付ければOK、配線不要の小型ドライブレコーダー発売 スマート感知センサーで自動録画 (2024年04月25日)
    5. Vポイントの疑問に回答 Tポイントが使えなくなる? ID連携をしないとどうなる? (2024年04月23日)
    6. 中古スマホが突然使えなくなる事象を解消できる? 総務省が「ネットワーク利用制限」を原則禁止する方向で調整 (2024年04月25日)
    7. 通信品質で楽天モバイルの評価が急上昇 Opensignalのネットワーク体感調査で最多タイの1位 (2024年04月25日)
    8. ドコモ、「Xperia 10 V」を5万8850円に値下げ 「iPhone 15(128GB)」の4.4万円割引が復活 (2024年04月25日)
    9. 「iPhone 15」シリーズの価格まとめ【2024年4月最新版】 ソフトバンクのiPhone 15(128GB)が“実質12円”、一括は楽天モバイルが最安 (2024年04月05日)
    10. スマートグラス「Rokid Max 2」発表 補正レンズなくても視度調節可能 タッチ操作のリモコン「Rokid Station 2」も (2024年04月25日)
    最新トピックスPR

    過去記事カレンダー

    2024年