Senin, 10 Januari 2011

Record Management System (RMS)


Penyimpanan data pada MIDlet menggunakan memori non-volatile (memori tetap) yang disebut dengan Record Management System (RMS).
Didalam  RMS terdapat kumpulan record, dan record disimpan sebagai array dari byte dalam sebuah record store. RMS memiliki orientasi record basis data yang sederhana sehingga MIDlet dapat menyimpan informasi dan mengaksesnya. MIDlet yang berbeda dapat mengakses RMS yang sama.
Record yang disimpan pada record store dapat diakses berdasarkan recordId yang berupa integer. Oleh karena itu recordId berperan sebagai key.
  1. Mengurutkan Record
Membandingkan recore pada record store diperlukan sebuah antarmuka. Antarmuka pembanding ini dibutuhkan untuk mengurutkan kumpulan record yang ada pada record store. Antarmuka pembanding ini ada di dalam RMS API yang disebut RecordComparator. Karena RecordComparator adalah sebuah interface maka ada sebuah metode untuk mengimplementasikan saat menggunakan interface ini, metode itu adalah


compare(byte[] rec1,byte[] rec2)
pada kelas
javax.microedition.rms.RecordComparator.

Cara kerja RecordComparator adalah membandingkan dua buah array byte dimana metode compare akan menghasilkan 0 jika kedua record itu sama, akan menghasilkan 1 jika recordyang pertama berada diatas record yang kedua, dan menghasilkan -1 jika record yang pertama berada dibawah record yang kedua.
b. menyeleksi record
RMS API juga menyediakan antarmuka untuk mengakses record mode pencarian record. RecordFilter adalah antarmuka dari RMS API yang biasa digunakan untuk melakukan pencarian record. RecordFIlter ini juga memiliki metode yang harus diimplementasikan yaitu matches(byte[] candidate), metode ini mengembalikan nilai boolean (true atau false) tergantung apakah record memenuhi kriteria atau tidak.
 Beberapa metode untuk mengakses RMS
  • a. Untuk Membuka record store
RecordStore rs = RecordStore.openRecordStore("dbRms",true);
//Untuk parameter true diatas, jika dbRms tidak ada maka akan dibuat.
  • b. Menutup record store
rs.closeRecordStore();RecordStore.deleteRecordStore(dbRms);
  • c. menghapus record store
RecordStore.deleteRecordStore(dbRms);
  • d. Menambah record
String data = "insert record";
byte bytes[] = data.getBytes();
rs.addRecord(bytes,0,bytes.length);
  • e. Update record pada recordId 1
String newaData = "update record";
Byte data = newaData.getBytes();
rs.setRecord(1, data, 0, data.length()); 
  • f. Menghapus record pada record Id 1
rs.deleteRecord(1);
  • g. Enumerating record
RecordEnumeration re = rs.enumerateRecords(null, null, false);
If (re.hasNextElement()) Byte nextRec[] = re.nextRecord();
Tulisan diatas adalah copy paste dari Laporan Tugas Akhir saya yang tentu saja mempunyai banyak Daftar Pustaka.
Posting berikutnya InsyaAllah penerapan RMS di program J2ME.

Tidak ada komentar:

Posting Komentar