10-08-2010 10:23 AM - edited 10-08-2010 10:34 AM
I was able to use Javaloader fine up untill I added some more classes to my project then suddenly the Javaloader aborts at 72432 bytes of 100178
The command line I am using :
javaloader -usb load C:\javaworkspace\MyProject\MyProject.cod
and reports :
RIM Wireless Handheld Java Loader
Copyright 2001-2007 Research In Motion Limited
Connecting to device...
Loading MyProject Error: file is incompatible with data stored on the device
0 bytes sent at ~0 bps
'#javaloader' is not recognized as an internal or external command, operable program or batch file.
Also my application uses persistant store, I added some new properties to the persistant store between updates, could this have caused this problem?
What is happening?
Solved! Go to Solution.
10-08-2010 12:28 PM
I solved it myself though trial and error.
I had to change the GUID for this line
PersistentObject po = PersistentStore.getPersistentObject(ClientProfile.
Not elegant because I leave old data on the device.
10-12-2010 02:02 PM
This is caused by changing your persistent class (adding or removing members from it). You'll need to delete the application before installing the new version.
10-12-2010 02:20 PM - edited 10-12-2010 02:21 PM
Although this corrected the issue on my device, what will happen when I release this update to the customers? Will the update of the app do this automatically or will have need to tell customers to delete the app before re-downloading the new version?
10-12-2010 02:35 PM
If you have updated your persistent class, users will need to uninstall before installing the new version.
Another way to handle this is to keep both versions of your persistent classes in your application, changing the name and or package of the new version. Your application can then be upgraded. It would then be up to your application to detect the class saved in persistent store (version 1 or 2), copy the data to the new class and save it over top of your old data.