如何将数据从android发送到服务器
我正在探索从android扫描ssid和rssi,我能够做到这一点,但现在我想将数据发送到服务器,所以我探索了我找到的以下代码如何将数据从android发送到服务器,android,http,httpclient,http-post,Android,Http,Httpclient,Http Post,我正在探索从android扫描ssid和rssi,我能够做到这一点,但现在我想将数据发送到服务器,所以我探索了我找到的以下代码 HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://101.34.45.45/rawData"); try { List<NameValuePair> nameValuePairs = ne
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) {
}
HttpClient-HttpClient=newdefaulthttpclient();
HttpPost HttpPost=新的HttpPost(“http://101.34.45.45/rawData");
试一试{
List nameValuePairs=新的ArrayList(3);
添加(新的BasicNameValuePair(“用户ID”,“00-22-68-E8-EC-F1”);
添加新的BasicNameValuePair(“时间戳”,“2010-07-01 11:11:11”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpclient.execute(httppost);
setText(response.toString());
}捕获(客户端协议例外e){
}捕获(IOE异常){
}
但现在我在添加多个wifi数据时遇到问题,格式应如下所示
{“userId”:“guest1”,“timestamp”:“2010-07-01 08:58:23”,“wifi”:[{“ssid”:“guest”,“rssi”:“40”},{“ssid”:“guest1”,“rssi”:“80”}
那么wifi参数该怎么做呢,有人能帮忙吗,我还在尝试一些品种
谢谢我建议您切换到JSON以向服务器发送数据。最容易用于发送和解析JSON
{"userId":"guest1","timestamp":"2010-07-01 08:58:23","wifi":[{"ssid":"guest","rssi":"40"},{"ssid":"guest1","rssi":"80"}]}
您应该使用一个JSON对象,将JSON数组作为其项之一。JSON数组又包含另一个JSON对象
如果您使用的是GoogleGSON,那么应该为它构建一个类层次结构。下面是你应该怎样做的
Class data{
String userId;
String timestamp;
Wifi wifi;
}
Class Wifi{
String ssid;
int rssi;
}
您可以查看android中解析json时遇到的类似问题的示例代码
可能也很有用。当android SDK附带json库时,为什么还要引入额外的第三方依赖项?我发现GSON比固有的json库更容易用于将POJO转换为json,反之亦然。为什么我们不能使用POST而不是json。。bcos大多数情况下,我都会将映像发送到服务器。