Witam
Piszę program, który ma przechowywać pewien zestaw danych wprowadzonych przez użytkownika na stałe [ tzn kiedy wyłączę, a następnie włączę program na telefonie dane tam będą ]. Napisałem/ znalazłem w necie [ przekopiowałem ze swojego starego programu, nie wiem skąd to mam :) ] dwie takie metody:
public void writeRecord(String str, RecordStore type) throws RecordStoreException {
byte[] rec = str.getBytes();
System.out.println("Rec Length "+rec.length);
try {
System.out.println("1 try:");
type.addRecord(rec, 0, rec.length);
} catch (Exception e) {
System.out.println("Write record error: " + e);
}
}
public void readRecords(RecordStore type) {
try {
System.out.println("readRecords in\n" + " num of rec " + type.getNumRecords());
} catch (RecordStoreNotOpenException ex) {
ex.printStackTrace();
}
try {
byte[] recData = new byte[5];
int len;
for (int i = 1; i <= type.getNumRecords(); i++) {
if (type.getRecordSize(i) > recData.length) {
recData = new byte[type.getRecordSize(i)];
}
len = type.getRecord(i, recData, 0);
System.out.println("Record #" + i + ": " + new String(recData, 0, len));
System.out.println("------------------------------");
}
}
jak się łatwo domyślić readRecords odczytuje dane, a writeRecords zapisuje. Wszystko działa do momentu restartu programu. Później readrecords zwraca 0 przy ilości rekordów w pamięci :(. Jakieś pomysły?