I try to use network library with UDP. The sample UDP so simple but it work only debug mode. How to work in release mode ?
https://www.b4x.com/android/help/network.html
Sub process_globals
Dim UDPSocket1 As UDPSocket
End Sub
Sub Globals
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
UDPSocket1.Initialize("UDP", 0, 8000)
End If
Dim Packet As UDPPacket
Dim data() As Byte
data = "Hello from Android".GetBytes("UTF8")
Packet.Initialize(data, "10.0.0.1", 5000)
UDPSocket1.Send(Packet)
End Sub
Sub UDP_PacketArrived (Packet As UDPPacket)
Dim msg As String
msg = BytesToString(Packet.Data, Packet.Offset, Packet.Length, "UTF8")
Msgbox("Message received: " & msg, "")
End Sub
I got error like this
Logger connected to: ce0416045d4f580305
--------- beginning of main
--------- beginning of system
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
main_activity_create (java line: 358)
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1448)
at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:302)
at libcore.io.IoBridge.sendto(IoBridge.java:569)
at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:124)
at java.net.DatagramSocket.send(DatagramSocket.java:721)
at anywheresoftware.b4a.objects.SocketWrapper$UDPSocket.Send(SocketWrapper.java:289)
at b42a.example.main._activity_create(main.java:358)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:191)
at b42a.example.main.afterFirstLayout(main.java:104)
at b42a.example.main.access$000(main.java:17)
at b42a.example.main$WaitForLayout.run(main.java:82)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
https://www.b4x.com/android/help/network.html
Sub process_globals
Dim UDPSocket1 As UDPSocket
End Sub
Sub Globals
End Sub
Sub Activity_Create(FirstTime As Boolean)
If FirstTime Then
UDPSocket1.Initialize("UDP", 0, 8000)
End If
Dim Packet As UDPPacket
Dim data() As Byte
data = "Hello from Android".GetBytes("UTF8")
Packet.Initialize(data, "10.0.0.1", 5000)
UDPSocket1.Send(Packet)
End Sub
Sub UDP_PacketArrived (Packet As UDPPacket)
Dim msg As String
msg = BytesToString(Packet.Data, Packet.Offset, Packet.Length, "UTF8")
Msgbox("Message received: " & msg, "")
End Sub
I got error like this
Logger connected to: ce0416045d4f580305
--------- beginning of main
--------- beginning of system
*** Service (starter) Create ***
** Service (starter) Start **
** Activity (main) Create, isFirst = true **
main_activity_create (java line: 358)
android.os.NetworkOnMainThreadException
at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1448)
at libcore.io.BlockGuardOs.sendto(BlockGuardOs.java:302)
at libcore.io.IoBridge.sendto(IoBridge.java:569)
at java.net.PlainDatagramSocketImpl.send(PlainDatagramSocketImpl.java:124)
at java.net.DatagramSocket.send(DatagramSocket.java:721)
at anywheresoftware.b4a.objects.SocketWrapper$UDPSocket.Send(SocketWrapper.java:289)
at b42a.example.main._activity_create(main.java:358)
at java.lang.reflect.Method.invoke(Native Method)
at anywheresoftware.b4a.BA.raiseEvent2(BA.java:191)
at b42a.example.main.afterFirstLayout(main.java:104)
at b42a.example.main.access$000(main.java:17)
at b42a.example.main$WaitForLayout.run(main.java:82)
at android.os.Handler.handleCallback(Handler.java:789)
at android.os.Handler.dispatchMessage(Handler.java:98)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6944)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)