スクラッチパッドを利用しよう (4/6)
作成:2009-12-30 10:15
更新:2009-12-30 10:15
更新:2009-12-30 10:15
■スクラッチパッドへの保存
では、スクラッチパッドの利用について見ていきましょう。まずは、データの保存からです。これは、saveメソッドで行っています。
データの保存は、OutputStreamを使って行います。DoJaでは、java.ioにあるOutputStreamが利用できるようになっています。ただし、このOutputStreamを用意するのに、ケータイJava特有のやり方をします。
output = Connector.openOutputStream("scratchpad:///0;pos=0");
OutputStreamは、「Connector」というクラスを使って取得します。このopenOutputStreamメソッドを呼び出すと、引数に指定したところに書き出すためのOutputStreamインスタンスが得られます。スクラッチパッドを利用する場合には、
"scratchpad:///ポインタ番号;pos=位置"
このような形で読込先を指定します。「ポインタ番号」というのは、まあいわば「ページ番号」と考えてください。スクラッチパッドでは、この番号を使っていくつものデータを保管できるようになっているのです。またposは、その最初から何byte目から読み込むかという読み込み位置を指定します。
ここでは、"scratchpad:///0;pos=0"としていますね。これにより、ゼロ番目(一番最初のページ)のゼロ位置(一番最初の位置)からデータを読み込むためのOutputStreamが得られる、というわけです。
for (int i = 0; i < data.length; i++)
output.write(data[i]);
続いて、データの書き出しです。これは、OutputStreamにある「write」メソッドで行っています。このwirteは、引数に指定した整数値をbyte値として書き出す働きをします。繰り返しを使い、配列の中身をこれですべて書き出しています。
output.close();
最後に、「close」でリソースを開放して作業終了です。既にJava SEでファイルアクセスなどをやったことがあれば、だいたい同じような流れで作業すればいいことがわかるでしょう。ここでは、writeというメソッドを使いましたが、保存用に用意されているメソッドは他にもあります。以下にざっとあげておきましょう。
[OutoutStream].writeShort( [short値] );
[OutoutStream].writeInt( [int値] );
[OutoutStream].writeLong( [long値] );
[OutoutStream].writeBoolean( [boolean値] );
データの保存は、OutputStreamを使って行います。DoJaでは、java.ioにあるOutputStreamが利用できるようになっています。ただし、このOutputStreamを用意するのに、ケータイJava特有のやり方をします。
output = Connector.openOutputStream("scratchpad:///0;pos=0");
OutputStreamは、「Connector」というクラスを使って取得します。このopenOutputStreamメソッドを呼び出すと、引数に指定したところに書き出すためのOutputStreamインスタンスが得られます。スクラッチパッドを利用する場合には、
"scratchpad:///ポインタ番号;pos=位置"
このような形で読込先を指定します。「ポインタ番号」というのは、まあいわば「ページ番号」と考えてください。スクラッチパッドでは、この番号を使っていくつものデータを保管できるようになっているのです。またposは、その最初から何byte目から読み込むかという読み込み位置を指定します。
ここでは、"scratchpad:///0;pos=0"としていますね。これにより、ゼロ番目(一番最初のページ)のゼロ位置(一番最初の位置)からデータを読み込むためのOutputStreamが得られる、というわけです。
for (int i = 0; i < data.length; i++)
output.write(data[i]);
続いて、データの書き出しです。これは、OutputStreamにある「write」メソッドで行っています。このwirteは、引数に指定した整数値をbyte値として書き出す働きをします。繰り返しを使い、配列の中身をこれですべて書き出しています。
output.close();
最後に、「close」でリソースを開放して作業終了です。既にJava SEでファイルアクセスなどをやったことがあれば、だいたい同じような流れで作業すればいいことがわかるでしょう。ここでは、writeというメソッドを使いましたが、保存用に用意されているメソッドは他にもあります。以下にざっとあげておきましょう。
[OutoutStream].writeShort( [short値] );
[OutoutStream].writeInt( [int値] );
[OutoutStream].writeLong( [long値] );
[OutoutStream].writeBoolean( [boolean値] );
(by. SYODA-Tuyano.)
※プログラムリストが表示されない場合
AddBlockなどの広告ブロックツールがONになっていると、プログラムリスト等が表示されない場合があります。これらのツールをOFFにしてみてください。
●プログラム・リスト●
public void save() { OutputStream output = null; try { output = Connector.openOutputStream("scratchpad:///0;pos=0"); for (int i = 0; i < data.length; i++) output.write(data[i]); } catch (IOException e) { e.printStackTrace(); } finally { try { output.close(); } catch (IOException e) { e.printStackTrace(); } } }
※関連コンテンツ