我正在探索从android扫描ssid和rssi,我能够做到,但是现在我想把数据发送到服务器,所以我探索了下面的代码
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://101.34.45.45/rawData");
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3);
nameValuePairs.add(new BasicNameValuePair("userId", "00-22-68-E8-EC-F1"));
nameValuePairs.add(new BasicNameValuePair("timestamp", "2010-07-01 11:11:11"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
textView.setText(response.toString());
} catch (ClientProtocolException e) {
} catch (IOException e) {
}
但现在我在添加多WiFi数据时遇到问题,格式如下
http://101.34.45.45/rawData?data={“用户id”:“guest1”,“时间戳”:“2010-07-01 08:58:23”,“wifi”:[{“ssid”:“guest”,“rssi”:“40”},{“ssid”:“guest1”,“rssi”:“80”},
那么wifi参数怎么做,有人能帮上忙吗,我还在尝试几个品种,
谢谢
最佳答案
我建议您切换到json来向服务器发送数据。Google gson是发送和解析json最简单的方法。
{"userId":"guest1","timestamp":"2010-07-01 08:58:23","wifi":[{"ssid":"guest","rssi":"40"},{"ssid":"guest1","rssi":"80"}]}
您应该使用具有json数组的json对象作为其项之一。json数组又包含另一个json对象。
如果您使用的是google gson,那么应该为其构建一个类层次结构。你应该这样做。
Class data{
String userId;
String timestamp;
Wifi wifi;
}
Class Wifi{
String ssid;
int rssi;
}
在android中解析json的类似问题上,您可以查看here中的示例代码。
This也可能有用。