tags:

views:

303

answers:

5

I have an j2me application installed on a Nokia S40. Some configuration data is stored in the RMS. Is it possible to overwrite the installed app with a new version? How to keep RMS in the new version?

If it is possible can it be set as a default operation when upgrading to avoid the user accidentally delete the data?

+2  A: 

If your phone automatically deletes the RMS database without asking the user, it's a huge bug that goes against the MIDP specifications.

I assume you are using a retail phone, not a prototype.

It's always worth checking if the firmware can be upgraded with nokia PC tool.

If the upgrade process asks the user whether to delete old RMS data, there is probably little you can do to prevent the question being asked.

It's usually good practice to synchronize configuration data on a remote server and re-download it when it becomes unavailable.

QuickRecipesOnSymbianOS
A: 

Basically, you don't have any control over the installation and update process. The phone environment takes care. Some phones ask the user whether to save the RMS data or not, but that cannot be controlled by the developer or the user

Ram
A: 

As was said you can't control the installation procedure, the OS asks the user if it wants to keep the previous data or erase it.

However you can include a version number in the application RMS data and when you load the application you can detect if it was from a previous version and decide to update it or reset to the new default.

rjlopes
A: 

Specifically on Nokia S40, the native installer asks the user during the upgrade whether he/she would like to keep the application data. If the user decides to clear the data, your MIDlet's RMS data (and also the MIDlet's private folder on the file system) will be deleted.

You might find ways around this on specific devices, especially if your MIDlet is signed by manufacturer or operator, but there's really no foolproof and portable way to keep data over upgrades. You should consider saving the data on a server.

hvuoltee
+1  A: 

When installing a new version from the browser the application keeps the RMS and removes the old version from the device.

When installing from bluetooth the old version isn't removed and the new version doesn't get the old RMS.

Some Nokia S60 devices asks if the user wants to keep the RMS. But for S40 that is how it works.

Daniel Moura