Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何将数据从android发送到服务器_Android_Http_Httpclient_Http Post - Fatal编程技术网

如何将数据从android发送到服务器

如何将数据从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

我正在探索从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) {
    }
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大多数情况下,我都会将映像发送到服务器。