android – 有人能解释一下这段代码吗?

android – 有人能解释一下这段代码吗?,第1张

概述import org.apache.http.message.BasicNameValuePair;private String getServerData(String returnString) { InputStream is = null;String result = "";//the year data to sendArrayList<Nam
import org.apache.http.message.BasicnameValuePair;private String getServerData(String returnString) {               inputStream is = null;String result = "";//the year data to sendArrayList<nameValuePair> nameValuePairs = new ArrayList<nameValuePair>();nameValuePairs.add(new BasicnameValuePair("year","1970"));//http posttry{       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","asas"));
解决方法 BasicnameValuePair是一个对象,特别是一个容纳数据和键的容器.

例如,如果您有这些数据:

name: BobFamily name: SmithDate 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.

您不能将其转换为两个以上的值,因为它们对于数据的(键,值)表示没有意义.

希望它有所帮助.

总结

以上是内存溢出为你收集整理的android – 有人能解释一下这段代码吗?全部内容,希望文章能够帮你解决android – 有人能解释一下这段代码吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1123411.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存