我正在探索从 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= {"userId":"guest1","timestamp":"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;
}
可以查看here有关在 android 中解析 json 的类似问题的示例代码。
This也可能有用。
关于android - 如何从android向服务器发送数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3156975/