import org.apache.http.message.BasicNameValuePair;
private String getServerData(String returnString) {
InputStream is = null;
String result = "";
//the year data to send
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("year","1970"));
//http post
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(KEY_121);
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = httpclient.execute(httppost);
httpentity entity = response.getEntity();
is = entity.getContent();
}catch(Exception e){
Log.e("log_tag", "Error in http connection "+e.toString());
}
}
我的问题……
BasicNameValuePair类有什么作用?
这条线是做什么的
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
是什么= entity.getContent();做?我可以在BasicNameValuePair类中传递多个值.我可以完全通过VO而不是这个.
像下面这样……
nameValuePairs.add(new BasicNameValuePair("year","1970","sas","saassa","sas","asas"));
解决方法:
BasicNameValuePair是一个对象,特别是一个容纳数据和键的容器.
例如,如果您有这些数据:
Name: Bob
Family name: Smith
Date of birth: 10/03/1977
然后你将这些数据存储为:
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("name","bob"));
nameValuePairs.add(new BasicNameValuePair("family name","Smith"));
....
如您所见,您选择一个键(“名称”)和要存储为键的数据(“bob”).它是一种数据结构,用于加速并更容易存储此类信息.
另一方面,您需要一个工具来使用此数据:
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
这段代码可分为4部分:
httppost.setEntity
是一种将url作为参数的方法,并尝试使用HTTP Post方法从该URL检索数据(HTML或存储在该页面上的内容).
新的UrlEncodedFormEntity
是一种在http服务器可以理解的内容中转换关键数据值对的方法.
它使用惯例
&key=input
nameValuePair
是您之前存储的数据.在这种情况下,它具有键入html中可能的输入形式,由“input name =”标记标识.作为数据,它具有您希望为表单提供的值.
is = entity.getContent();
httpentity是一个帮助您处理可能结果的抽象.如果网站无法访问或连接断开,httpentity将通知您. getContent()是你使用检索Http结果体的方法,即:网络服务器发送给你的html,作为输入流.如果请求不成功,它将为您提供空值.
BasicNameValuePair只接受对联,所以你必须多次施放它,并且每次都将它添加到arraylist.
您不能将其转换为两个以上的值,因为它们对于数据的(键,值)表示没有意义.
希望它有所帮助.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。