戻る 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();