最近在帮朋友搞一个APP,实现:在屏幕上画一条轨迹,然后将各个坐标通过蓝牙发送到下位机。当然,这个坐标是有顺序的,难点也在这里。
方法一:抓取屏幕点,并实时发送到下位机(已实现)。
public boolean onTouchEvent(MotionEvent event)
{
// 获取触点位置
float x = event.getX();
float y = event.getY();
<span style="white-space:pre"> </span>point[0]=x;
<span style="white-space:pre"> </span>point[1]=y;
...
...
}
当然了,在这个类里面得定义为public static 变量:
<pre name="code" class="java">public static float[] point=new float[2];
在Client里面,我们开启一个发送数据线程:
DeliveryThread = new Thread(this);// 连接上了就开始传输吧
DeliveryThread.start();
重写Runnable接口:
@Override
public void run() {
// TODO Auto-generated method stub
while (true) {
try {
float[] p = DrawView.point;
byte[] buf0 = intToByteArray((int) p[0]);
byte[] buf1 = intToByteArray((int) p[1]);
byte[] buf = new byte[8];
for (int i = 0; i < 3; i++) {
buf[i] = buf0[i];
}
for (int i = 0; i < 3; i++) {
buf[i + 4] = buf1[i];
}
Log.i("tag", ".." + buf.length &#