不通过USB串行通信从arduino接收android中的确定块的数据

时间:2016-12-31 15:10:02

标签: java android serial-port arduino-uno

我正在创建一个可以通过USB串行与arduino通信的Android应用程序,并使用来自Github的UsbSerial库。  我在UsbReadCallback中收到来自arduino的数据,我将其实现为:

 private UsbSerialInterface.UsbReadCallback mCallback = new UsbSerialInterface.UsbReadCallback() {
        @Override
        public void onReceivedData(byte[] arg0) {
            try {
                String data = new String(arg0, Charset.forName("utf-8"));
                if (mHandler != null)
                {
                    mHandler.obtainMessage(0, data).sendToTarget();
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    };

和我的处理程序:

private static class MyHandler extends Handler {

    private final WeakReference<SensorDisplayActivity> mActivity;

    public MyHandler(SensorDisplayActivity activity) {
        mActivity = new WeakReference<>(activity);

    }

    @Override
    public void handleMessage(Message msg) {

             String   data = ( String) msg.obj;
        mActivity.get().mainValue_tx.setText(data);


    }
}

但是当我在TextView中使用setText()显示它没有显示正确的值时出现问题,即有时显示00代替100和2而不是42等等但是当我使用{时{1}} TextView的方法正确附加了正确的值。可能是什么解决方案?

0 个答案:

没有答案