/*this class to receive message and add it to adapter , the error is (android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views) what should i do ???*/ public class UDPBiganResciveMessage extends Thread{ private WifiManager mWifi; private DatagramSocket socket ; public String message="null"; DiscussArrayAdapter adapter; public boolean isOn=true; UDPBiganResciveMessage(WifiManager wifi, DiscussArrayAdapter adapterIn) throws SocketException { mWifi = wifi; adapter =adapterIn; socket = new DatagramSocket(2060); socket.setSoTimeout(1000); } public void run() { try { while(isOn){ receiveUDPMessage(); } } catch (IOException e) { e.printStackTrace(); } } private void receiveUDPMessage() throws java.io.IOException { try{ byte[] msgBuffer = new byte[1024]; DatagramPacket packet = new DatagramPacket(msgBuffer, msgBuffer.length); socket.receive(packet); Data messR=new Data(new String(msgBuffer, 0, packet.getLength())); //adapter.add(new OneComment(true,messR.strName+" : "+messR.strMessage)); packet.setLength(msgBuffer.length); } catch (SocketTimeoutException e){} } public void stopLisning() throws InterruptedException{ isOn=false; sleep(1001); socket.close(); } public void main(String[] args) throws SocketException { new UDPBiganResciveMessage(null,null).start(); } }
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)