|
04. jarインフレータ |
|
504から505になってスクラッチパッドが2倍に増えましたが
それよりももっと嬉しいのはスクラッチパッドをjar圧縮した状態から
読み込めるようになったというものです。
今までスクラッチパッドは無圧縮データしか保存できなかったので
jarファイル内に収まりきらなかったデータは圧縮できずに
スクラッチパッドに掘り込むか,独自圧縮で格納するかしか無かったのですが
この機能を使うことにより圧縮した状態でデータを持てます。
格納容量が2倍に増え圧縮も出来るので事実上格納できる容量は
3倍から6倍くらいまで増える可能性があります。
しかしプログラム本体の容量は30Kのままなので依然こちらは厳しいですが..
jar圧縮の読み込み用に新しいクラスが用意されています。
JarInflaterクラスです。
使用例:
//読み込み対象の場所を指定する(直接書いてもいいです。)
String m_url = "scratchpad:///0;pos=" + start_jar +",length="+(jar_size));
//openInputStreamで開きます。
InputStream mi2 = Connector.openInputStream(m_url);
//開いたストリームに対してJarインフレータオブジェクトの作成
JarInflater ji = new JarInflater(mi2);
mi2.close();
//サウンドの場合
//jarインフレータからデータを取り出します。(jar圧縮ファイル内のデータ名を指定する)
InputStream is2 = ji.getInputStream("sound1.mld");
r[c] = MediaManager.getSound(is2);
r[c].use();
is2.close();