Android Question application crashes with large type into b4xserialisator

MbedAndroid

Active Member
Licensed User
Longtime User
due memory Limit?
a large type feeded into a list and then converted crashes the app and points to some complete different line.
B4X:
CallSub2(Starter, "SendData", ser.ConvertObjectToBytes(obj))

it's not the internet connection.
Even a simple statement like test()=ser.ConvertObjectToBytes(obj) as byte does crash the app.
I dont know exactly the length of the type could be something like 1K to 2K
is there a way to fix this?
 

MbedAndroid

Active Member
Licensed User
Longtime User
first the type defined
Type energie(mac As String, ip As String,AverageGas As Int,AverageElektra As Int,Averagewater As Int, GasMaand As Int,ElectraMaand As Int,Watermaand As Int,p_gas(64) As Int,p_electra(64)As Int,p_water(64)As Int)
this is inserted in a list, the list is send as object



EnergyList
Error occurred on line: 169 (Applink)
java.lang.RuntimeException: java.lang.RuntimeException: This method does not support arrays of primitives.
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.writeType(B4XSerializator.java:266)
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.writeObject(B4XSerializator.java:222)
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.writeList(B4XSerializator.java:250)
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.writeObject(B4XSerializator.java:202)
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.WriteObject(B4XSerializator.java:102)
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.ConvertObjectToBytes(B4XSerializator.java:62)
at domoticaserver.com.applink._sendobject(applink.java:385)
at domoticaserver.com.applink._sendenergylist(applink.java:411)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:708)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:340)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:247)
at anywheresoftware.b4a.debug.Debug.delegate(Debug.java:262)
at domoticaserver.com.applink._newdata(applink.java:38)
at domoticaserver.com.main._newdata(main.java:2583)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.debug.Debug.CallSub4(Debug.java:315)
at anywheresoftware.b4a.debug.Debug.CallSubNew2(Debug.java:282)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.keywords.Common.CallSubDebug2(Common.java:857)
at domoticaserver.com.starter._astream_newdata(starter.java:220)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.shell.Shell.runMethod(Shell.java:708)
at anywheresoftware.b4a.shell.Shell.raiseEventImpl(Shell.java:340)
at anywheresoftware.b4a.shell.Shell.raiseEvent(Shell.java:247)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at anywheresoftware.b4a.ShellBA.raiseEvent2(ShellBA.java:134)
at anywheresoftware.b4a.BA$2.run(BA.java:328)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5253)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
Caused by: java.lang.RuntimeException: This method does not support arrays of primitives.
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.writeObject(B4XSerializator.java:214)
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.writeMap(B4XSerializator.java:237)
at anywheresoftware.b4a.randomaccessfile.B4XSerializator.writeType(B4XSerializator.java:264)
... 40 more


re
 
Upvote 0
Top