解决方案 »
- 请问在android系统中如何用Socket发送一个结构体,并且和VC程序互相解析结构体
- ImageView大小与实际图片大小不符
- 关于ffmpeg编解码问题
- Intent.ACTION_PICK 后让gallery只显示 png图片???
- 关于invalidateOptionsMenu的一个疑问
- android 解锁手机
- 求助关于OKHTTP3的问题
- app无activity,以service执行
- android studio3.1.3ndk项目创建提示cmake\3.6.4111459\bin\cmake.exe with arguments
- Android Studio 2.2.3 创建空白模板编译出错
- android源码change notes在哪里可以查看到?
- 你的android app在运行过程中占用内存多少?
public void onReadClick(View view){
if (!Serverison) {
displayData("请确认连接!");
return;
}else {
Thread.currentThread().interrupt();
ReadData tReadData = new ReadData();
new Thread(tReadData).start();
}
}//end of onReadClick;
class ReadData implements Runnable{
@Override
public void run() {
// TODO Auto-generated method stub
Looper.prepare();
smsg="";smsg16="";fmsg = "";
toSendByte(StrtoBytes("36"), 54); ;//发送十六进制36,即十进制的54,来读取最近一次的数据,并获取单片机中共存有多少组数据
while(strlength<160);
Log.e(TAG, "数据结尾了");
all = Integer.parseInt(smsg.substring(5,7));//得到了一共多少组数??????
Log.e(TAG, "all=="+all);
Thread.currentThread();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for (int i = 1; i < all+1; i++) {
Log.e(TAG, "in for 循环");
smsg = "";smsg16 = "";
toSendByte(StrtoBytes("44"),68);//发送44,是即将按需要读取数据的命令
while(smsg16.length()<2);
Log.e(TAG, "in for 循环1111111");
smsg = "";smsg16 = "";
toSendByte(StrtoBytes(intToHexString(i)), i);//发送十进制的数据组号、所以在此不用strtobyte函数
while(strlength<36);
Thread.currentThread();
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
fmsg+=smsg;smsg="";smsg16="";
onHandler.sendMessage(onHandler.obtainMessage());
}
Looper.loop();
}}
Handler onHandler = new Handler(){
public void handleMessage(Message msg){
super.handleMessage(msg);
showData.setText(fmsg);
sv.scrollTo(0, showData.getMeasuredHeight());
}
};
03-26 11:13:06.108: E/ThermalEngine(282): enable_threshold: tsens_tz_sensor6 (/sys/devices/virtual/thermal/thermal_zone6/trip_point_1_type)
03-26 11:13:06.108: E/ThermalEngine(282): ACTION: CPU - Setting CPU[0] to 1728000
03-26 11:13:06.108: E/ThermalEngine(282): ACTION: CPU - Setting CPU[1] to 1728000
03-26 11:13:06.108: E/ThermalEngine(282): ACTION: CPU - Setting CPU[2] to 1728000
03-26 11:13:06.108: E/ThermalEngine(282): ACTION: CPU - Setting CPU[3] to 1728000
03-26 11:13:06.348: E/dalvikvm(27076): Fatal spin-on-suspend, dumping threads
03-26 11:13:06.438: E/dalvikvm(27076): threadid=2: stuck on threadid=13, giving up
03-26 11:13:06.438: A/libc(27076): Fatal signal 16 (SIGSTKFLT) at 0x000069c4 (code=-6), thread 28257 (Thread-1448)
03-26 11:13:06.498: E/ThermalEngine(282): enable_threshold: tsens_tz_sensor6 (/sys/devices/virtual/thermal/thermal_zone6/trip_point_0_type)
03-26 11:13:06.498: E/ThermalEngine(282): enable_threshold: tsens_tz_sensor6 (/sys/devices/virtual/thermal/thermal_zone6/trip_point_1_type)差了很多资料,查不到关于threadid = * truck on threadid= * giving up 这句错误提示的资料,也没有解决方案。是线程被冲突了吗?那应该怎么样做才能让两个线程相安无事呢?