Am using this to save an array:
and then am trying to use this to get the array back in when I restart
But I am getting an error of Invalid Value for Field, IllegalArgumentException on the raf.ReadObject?
LogCat connected--------- beginning of /dev/log/main
main_activity_create (B4A line: 86)
raf.ReadObject(raf.CurrentPosition)
java.lang.IllegalArgumentException: invalid value for field
at java.lang.reflect.Field.setField(Native Method)
at java.lang.reflect.Field.set(Field.java:588)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readType(RandomAccessFile.java:500)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readObject(RandomAccessFile.java:476)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readArray(RandomAccessFile.java:552)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readObject(RandomAccessFile.java:470)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readHelper(RandomAccessFile.java:401)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.ReadObject(RandomAccessFile.java:362)
at b4a.pasagosoft.nn.minesweeper.main._activity_create(main.java:377)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:165)
at b4a.pasagosoft.nn.minesweeper.main.afterFirstLayout(main.java:84)
at b4a.pasagosoft.nn.minesweeper.main.access$100(main.java:16)
at b4a.pasagosoft.nn.minesweeper.main$WaitForLayout.run(main.java:72)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4517)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
at dalvik.system.NativeStart.main(Native Method)
java.lang.IllegalArgumentException: invalid value for field
Ross
B4X:
Dim raf As RandomAccessFile
Dim filename As String
filename = "SomeFile" & a_Variable & ".sav"
raf.Initialize(File.DirInternal, filename , False)
raf.WriteObject(someArray, True, raf.CurrentPosition)
raf.Flush
raf.Close
ToastMessageShow("File saved", True)
and then am trying to use this to get the array back in when I restart
B4X:
Dim fd As FileDialog
Dim Ret As Int
fd.FastScroll = True
fd.FilePath = File.DirInternal
fd.FileFilter = ".sav"
Ret = fd.Show("Please Select File", "Load", "Cancel", "Delete",Null)
Log(Ret)
If Ret = -1 Then
Dim someArray() As MyType
Dim raf As RandomAccessFile
raf.Initialize(File.DirInternal, fd.ChosenName, True)
somearray = raf.ReadObject(raf.CurrentPosition)
old_MyTypeArray = somearray
End If
But I am getting an error of Invalid Value for Field, IllegalArgumentException on the raf.ReadObject?
LogCat connected--------- beginning of /dev/log/main
main_activity_create (B4A line: 86)
raf.ReadObject(raf.CurrentPosition)
java.lang.IllegalArgumentException: invalid value for field
at java.lang.reflect.Field.setField(Native Method)
at java.lang.reflect.Field.set(Field.java:588)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readType(RandomAccessFile.java:500)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readObject(RandomAccessFile.java:476)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readArray(RandomAccessFile.java:552)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readObject(RandomAccessFile.java:470)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.readHelper(RandomAccessFile.java:401)
at anywheresoftware.b4a.randomaccessfile.RandomAccessFile.ReadObject(RandomAccessFile.java:362)
at b4a.pasagosoft.nn.minesweeper.main._activity_create(main.java:377)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:165)
at b4a.pasagosoft.nn.minesweeper.main.afterFirstLayout(main.java:84)
at b4a.pasagosoft.nn.minesweeper.main.access$100(main.java:16)
at b4a.pasagosoft.nn.minesweeper.main$WaitForLayout.run(main.java:72)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4517)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
at dalvik.system.NativeStart.main(Native Method)
java.lang.IllegalArgumentException: invalid value for field
Ross
Last edited: