手机客户端接收wifi单片机实时发送过来的信号,格式是<112.3046798706#133.7890625000#134.7656250000#143.0664062500#>代表单片机同时发送过来的四路数据,我想在手机客户端android程序上把实时发送的数据解析出来,去掉<>和#号,只要里面的数据,并且实时在textview显示,不知道怎样算法?求高手指点,最好能给代码显示一下?
代码如下:
public class help6 {
public static void main(String[] args){
String str="<112.3046798706#133.7890625000#134.7656250000#143.0664062500#>";
String[] strr=help6.str(str);
for(int i=0;i<strr.length;i++){
System.out.println(strr[i]);
}
}
public static String[] str(String str){
String str2=str.replace("<","");
String str3=str2.replace(">", "");
String[] str4=str3.split("#");
return str4;
}
}
效果如图:
追问关键是我有好多组这样的数据,我手机客户端需要不断的接收进行处理,并不是只处理一组,我该怎样做呢?
追答你可以用循环语句,不过此处建议用while循环,while(接受的字符串不为空),循环调用那个方法即可,这也是方法封装的意义
追问求继续明示,新手刚开始搞这个东西,望多多指教
追答能把你接受数据的代码发来看看吗,如果要很详细的告诉你,那肯定得根据你的代码来的,现在我们能提供给你的只是一种思路
因为我手机实时接收wifi单片机数据,不知只有这这一组四路数据,要是有无数组这样格式相同的数据怎样处理呢?我刚入手,请多多指教?
追答public class Xss {
public static void main(String[] args) {
String content = "";
String newContent = content.substring(1,content.length()-2);
String[] strs = newContent.split("#");
for (String string : strs) {
//这里能取到所有的数据了
System.out.println(string);
}
}
}
关键是我的数据非常多,好多串数据,怎样将1-4路中每一路对应的数据放在一起进行处理?
追答额。。。你不会用for循环接受啊,只需要每次执行时判断是否还有接受数据,有就继续for循环,没有就结束了呗