[Java]RecordStore j2me

Pagina: 1
Acties:

  • maxjuh
  • Registratie: November 2004
  • Laatst online: 19-03 15:04
Ik heb het probleem dat als ik mijn MIDlet afsluit de data in de RecordStore weg lijkt of dat er naar de verkeerde data wordt verwezen.


heb in de code alle try catch blocks weggelaten

Ik open eerst een RecordStore (REC_STORE = "user_db")
Java:
1
recStore = RecordStore.openRecordStore(REC_STORE, true);


Een van de records die ik dan in de store stop is bijvoorbeeld deze:
Java:
1
2
byte[] rec = username.getBytes();
recStore.addRecord(rec, 0, rec.length)


En close de RecordStore netjes:
Java:
1
recStore.closeRecordStore();


Sluit dan de MIDlet als ik dan de MIDlet weer start en de RecordStore weer open op bovengenoemde manier is de data weg. Voordat ik de MIDlet heb gesloten kan ik wel van alles met de records doen.

Ik doe ergens iets fout maar wat? Heb zelf het idee dat er telkens een nieuwe RecordStore wordt gemaakt.

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Hoe lees je de data? En is het gedrag op een fysieke telefoon hetzelfde?

[ Voor 56% gewijzigd door voodooless op 14-06-2007 16:35 ]

Do diamonds shine on the dark side of the moon :?


  • maxjuh
  • Registratie: November 2004
  • Laatst online: 19-03 15:04
voodooless schreef op donderdag 14 juni 2007 @ 16:34:
Hoe lees je de data? En is het gedrag op een fysieke telefoon hetzelfde?
Het lezen van data doe ik zo:
Java:
1
2
3
RecordEnumeration re = recStore.enumerateRecords(null, null, false);

username = new String(re.nextRecord());


Ja ook op een fysieke telefoon gebeurt hetzelfde (had dat ook al getest)

  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Er lijkt in eerste instantie niets mis te zijn eigenlijk..

Doe eens een RecordStore.openRecordStore met false. Als je dan een exception krijgt weet je in ieder geval dat ie inderdaad iedere keer een nieuwe store maakt.

Do diamonds shine on the dark side of the moon :?


  • maxjuh
  • Registratie: November 2004
  • Laatst online: 19-03 15:04
Dan krijg ik inderdaat een exception (RecordStoreNotFoundException)


code:
1
2
3
4
5
6
7
8
9
10
11
javax.microedition.rms.RecordStoreNotFoundException: cannot find record store file
    at javax.microedition.rms.RecordStore.<init>(+365)
    at javax.microedition.rms.RecordStore.openRecordStore(+89)
    at sms.core.User.openRecordStore(+15)
    at sms.gui.OptionsScrn.commandAction(+67)
    at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+282)
    at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction(+10)
    at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68)
    at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47)
    at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.handleVmEvent(+194)
    at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+51)



update:
Heb net is lopen zoeken wat hier het probleem van zou kunnen zijn maar kan er niks over vinden helaas.

[ Voor 6% gewijzigd door maxjuh op 14-06-2007 18:25 ]


  • voodooless
  • Registratie: Januari 2002
  • Laatst online: 30-11 11:20

voodooless

Sound is no voodoo!

Oke, het is dus duidelijk dat de oude RMS weg is. Verwijst de variabele "recStore" wel overal de zelfde RecordStore?

Do diamonds shine on the dark side of the moon :?


  • maxjuh
  • Registratie: November 2004
  • Laatst online: 19-03 15:04
Ja... vind het maar een vreemde zaak.
Pagina: 1