I am trying the following scenario
1)send a message from UI thread , to worker using HandlerThread
2)Read it using handlemessage
3)send it back to a text field in UI
I am using the below code , The issue now is that , the message in the handlemessage is coming as null
  public class MainActivity extends AppCompatActivity    {
    private TextView serverStatus;
    private TextView clientStatus;
    private Handler mUiHandler = new Handler();
    private BluetoothServerSocket  serverSocket;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        final Button readButton = (Button) findViewById(R.id.button2);
        readButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                //TODO Code to manage read data from client here !!
               /* mWorkerThread2 = new MyWorkerThread("myWorkerThread2");
                mWorkerThread2.start();
*/
            }});
        final Button submitButton = (Button) findViewById(R.id.button);
        serverStatus=(TextView) findViewById(R.id.editText);
        submitButton.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                HandlerThread myThread = new HandlerThread("Worker Thread");
                myThread.start();
                Looper mLooper = myThread.getLooper();
                MyHandler mHandler = new MyHandler(mLooper);
              /*  Bundle data = new Bundle();
                data.put
                msg.setData(data);*/
                Message msg = mHandler.obtainMessage();
                msg.obj =  serverStatus.getText().toString();// Some Arbitrary object
              /*  Toast.makeText(getApplicationContext(), msg.obj.toString(), Toast.LENGTH_SHORT).show();*/
                        mHandler.sendMessage(msg);
            }});
    }
    class MyHandler extends Handler {
        public MyHandler(Looper myLooper) {
            super(myLooper);
        }
        public void handleMessage(final Message msg) {
            //final String text=msg.getData().getString("");
         mUiHandler.post(new Runnable() {
             @Override
             public void run() {
                 String ms=String.valueOf(msg.obj);
                 serverStatus.setText("from server !!!  "+ms );
             }
         });
        }
    }
}
