J 2 MEの件――RMS―007
MIDPにおけるストレージシステムは、実際にはデータベースに類似したシステムとして実装される.単純なファイルシステムではなく、記録管理システム(Record Management System,RMS)と呼ばれています.
今日はJ 2 ME開発におけるRMSの実用化について解説します.主に次の2点が含まれています.
1、記録記憶API
2、RMSの応用例
1、記録記憶API
以下にAPIドキュメントを取り込む原形を示す.
以下に、RecordStoreクラスで一般的に使用されるいくつかの方法を示します.
(1)RecordStoreを開く
RecordStore rs = RecordStore.openRecordStore("MyAppointments",true);
すべての操作が完了すると、
(2)RecordStoreを1つ閉じる
rs.closeRecordStore();
(3)RecordStoreを削除
RecordStore.deleteRecordStore("MyAppointments");
(4)レコードを挿入する
String appt = "new record";
byte bytes[] = appt.getBytes();
rs.addRecord(bytes,0,bytes.length);
(5)記録を更新する
String newda = "update record";
Byte data = newda.getBytes();
rs.setRecord(1, data, 0, data.length());
(6)
レコードを削除
rs.deleteRecord(1);
2、RMSの応用例
レコードの追加と読み取り
/**
*RMSを作成
*/
public void openRMS(String rsName){
try{
rs = RecordStore.openRecordStore(rsName, true);//レコードの作成
} catch(Exception e) {}
}
/**
*レコードの追加
*/
public void addRecord(int a)
{
try{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeInt(a);
byte rec[] = baos.toByteArray();
baos.close();
dos.close();
try{
rs.addRecord(rec, 0, rec.length);
}catch(Exception e) { }
}catch(Exception e) { }
}
/**
*リードレコード
*/
public int readRecord(byte[] data)
{
int aa = -1;
ByteArrayInputStream bais = new ByteArrayOutputStream(data);
DataInputStream dis = new DataInputStream(bais);
try{
aa = dis.readInt();//ストリームからのデータの読み出しは、書き込み順に行う必要があります
dis.close();
bais.close();
}catch(Exception e) { }
return aa;
}
今日はJ 2 ME開発におけるRMSの実用化について解説します.主に次の2点が含まれています.
1、記録記憶API
2、RMSの応用例
1、記録記憶API
以下にAPIドキュメントを取り込む原形を示す.
javax.microedition.rms Class RecordStore
java.lang.Object
|
+--javax.microedition.rms.RecordStore
以下に、RecordStoreクラスで一般的に使用されるいくつかの方法を示します.
(1)RecordStoreを開く
RecordStore rs = RecordStore.openRecordStore("MyAppointments",true);
すべての操作が完了すると、
closeRecordStore()
の呼び出しは、指定された名前のレコードストレージを閉じます.1つのレコードストレージが閉じられている場合、さらなる操作はできません.(2)RecordStoreを1つ閉じる
rs.closeRecordStore();
(3)RecordStoreを削除
RecordStore.deleteRecordStore("MyAppointments");
(4)レコードを挿入する
String appt = "new record";
byte bytes[] = appt.getBytes();
rs.addRecord(bytes,0,bytes.length);
(5)記録を更新する
String newda = "update record";
Byte data = newda.getBytes();
rs.setRecord(1, data, 0, data.length());
(6)
レコードを削除
rs.deleteRecord(1);
2、RMSの応用例
レコードの追加と読み取り
/**
*RMSを作成
*/
public void openRMS(String rsName){
try{
rs = RecordStore.openRecordStore(rsName, true);//レコードの作成
} catch(Exception e) {}
}
/**
*レコードの追加
*/
public void addRecord(int a)
{
try{
ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
dos.writeInt(a);
byte rec[] = baos.toByteArray();
baos.close();
dos.close();
try{
rs.addRecord(rec, 0, rec.length);
}catch(Exception e) { }
}catch(Exception e) { }
}
/**
*リードレコード
*/
public int readRecord(byte[] data)
{
int aa = -1;
ByteArrayInputStream bais = new ByteArrayOutputStream(data);
DataInputStream dis = new DataInputStream(bais);
try{
aa = dis.readInt();//ストリームからのデータの読み出しは、書き込み順に行う必要があります
dis.close();
bais.close();
}catch(Exception e) { }
return aa;
}