1

参数之一中的服务器 API 需要一个字典值。例如检查电话参数如下:

data={"name": "虚拟姓名", "phone": {"number": "123456", "type": "mobile"} }

我在我的 Android 应用程序中使用 DefaultHttpClient,到目前为止,所有示例都显示了如何使用 httpPost 请求发布基本名称值对。

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);

List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
nameValuePairs.add(new BasicNameValuePair("stringdata", "Hi"));
httpPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

有没有办法用字典设置实体?

4

1 回答 1

0

看起来你将不得不创建一个 LIKE 类BasicNaveValuePair!类似于BasicNamePhonePair可添加到列表中的类。StringEntity 我不相信会解决你的问题。您必须解析 JSON……而不仅仅是存储 JSON 字符串。

你有的是...data={"name": "Dummy Name", "phone": {"number": "123456", "type": "mobile"}}

该示例显示的是...data={"id": "12345", "stringdata": "Hi"}

基本上,您必须创建一种方法来添加数据结构以及“名称”......并将这两件事添加到列表中!

为了说明您必须存储的内容...

public class Contact {
    string name;    // "Dummy Name"
    Phone phone;    
}

public class Phone {
    string number;    // "123456"
    string type;      // "mobile"
}
于 2013-08-22T13:09:22.497 回答