设为首页 加入收藏

TOP

Android中post和get两种方式发送请求(二)
2014-11-24 12:18:51 来源: 作者: 【 】 浏览:2
Tags:Android post get 方式 发送 请求
){

@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
String str = strView.getText().toString();//参数
Nameva luePair nameva luePair = new BasicNameva luePair("content", str);//键值对
//然后将键值对放到列表里(类似于形成数组)
//List是一个接口,而ListArray是一个类。ListArray继承并实现了List。所以List不能被构造,但可以向上面那样为List创建一个引用,而ListArray就可以被构造。
//List list = new ArrayList();这句创建了一个ArrayList的对象后把上溯到了List。此时它是一个List对象了
//而ArrayList list=new ArrayList();创建一对象则保留了ArrayList的所有属性。
//为什么一般都使用 List list = new ArrayList() ,而不用 ArrayList alist = new ArrayList()呢? 问题就在于List有多个实现类,如 LinkedList或者Vector等等,现在你用的是ArrayList,也许哪一天你需要换成其它的实现类呢?,这时你只要改变这一行就行了:List list = new LinkedList(); 其它使用了list地方的代码根本不需要改动。
List nameva luePairs = new ArrayList();
nameva luePairs.add(nameva luePair);//将键值对放入到列表中
try {
HttpEntity requestHttpEntity = new UrlEncodedFormEntity(nameva luePairs);//对参数进行编码操作
//生成一个post请求对象
HttpPost httpPost = new HttpPost(baseUrl);
httpPost.setEntity(requestHttpEntity);
//生成一个http客户端对象
HttpClient httpClient = new DefaultHttpClient();//发送请求
try {
httpResponse = httpClient.execute(httpPost);//接收响应
httpEntity = httpResponse.getEntity();//取出响应
//客户端收到响应的信息流
inputStream = httpEntity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String result = "";
String line = "";
while((line = reader.readLine()) != null){
result = result + line;
}
System.out.println(result);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
} finally{//最后一定要关闭输入流
try{
inputStream.close();
}catch(Exception e){
e.printStackTrace();
}
}
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

});
}
}


AndroidManifest.xml


< xml version="1.0" encoding="utf-8" >
package="com.http"
android:versionCode="1"
android:versionName="1.0">




android:label="@string/app_name">










注意的几点哦:


1.get方式的参数是加在url后面的,而post方式是讲参数先放到键值对对象中,然后将键值对相添加到list列表里,然后讲列表放到信息里进行发送


2.http请求发送需要连网,故AndroidManifest.xml中要加上连网权限


3.获得消息的时候要创建文本输入流,结束时一定要关闭输入流。


try{
inputStream.close();
}catch(Exception e){
e.printStackTrace();
}


暂时就这些吧。


首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇普通字符设备LED驱动程序(IO映射.. 下一篇Android ImageSwitcher 图片切换 ..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)