Normaalisti kun tallennetaan tietoa olioihin ja tietotyyppeihin (kuten esim. String, int ja float) niin tieto h�vi�� muistista viimeisint��n silloin kun ohjelma suljetaan. Jos halutaan tallentaa tietoa pysyv�sti niin RMS on oikea mekanismi tilanteeseen.
Muista sis�llytt�� .rms.*-paketti
"Record store" on tietuemuisti. Tietuemuisti sis�lt�� tavu-taulukon johon tieto tallennetaan.
import javax.microedition.rms.*; // muista sis�llyt��m��n t�m� paketti
Metodi joka kutsuu alla m��riteltyj� tallenna- ja avaa-metodeja
public void tallennaJaAvaaRms()
{
try
{
int id = tallenna("Tallennetaan tama teksti kannykan muistiin");
System.out.println("Avattu tiedosto:" + avaa(id));
}
catch(Exception e)
{
}
}
public int tallenna(String s)
{
int id=0;
byte bytes[] = s.getBytes();
try
{
// tietueen nimess� korkeaan 32 Unicode-merkki�
RecordStore rs = RecordStore.openRecordStore("tietueen_nimi", true);
id = rs.addRecord(bytes, 0, bytes.length);
}
catch(Exception e)
{
System.out.println("Virhe tietueen tallennuksessa");
}
return id;
}
public String avaa(int id)
{
int buffer_size = 256;
byte bytes2[] = new byte[buffer_size];
try
{
RecordStore rs = RecordStore.openRecordStore("tietueen_nimi", true);
bytes2 = rs.getRecord(id);
}
catch(Exception e)
{
System.out.println("Virhe tietueen avaamisessa.");
}
String s = new String(bytes2);
return s;
}
static void deleteRecordStore(String recordStoreName) // tuhoa koko tietuemuisti
deleteRecord(id); // tuhoa yksi tietue
int getSize(); // koko tietuemuistin suuruus tavuina
int getSizeAvailable(); // tietuemuistille k�ytett�viss� oleva tallennustila
// closeRecordStore-metodia on kutsuttava ohjelmaa sulkiessa, jotta tiedot eiv�t j�isi keskusmuistiin
public void closeRecordStore()