android中使用httpclient提交表单
来源:互联网 发布:mac tags怎么用 编辑:程序博客网 时间:2024/05/16 19:18
在android开发中如果我们需要和服务器端交互的时候已经使用apache client项目进行表单的模拟提交。通过返回json对象进而来达到数据的提交与取回,同时又能保证session的有效性以及系统的安全性,这里我封装了一下httpclient的get和post方式来提交数据
/** * */package com.jiuchongju.util;import java.util.ArrayList;import java.util.List;import java.util.Map;import org.apache.http.HttpResponse;import org.apache.http.NameValuePair;import org.apache.http.client.HttpClient;import org.apache.http.client.entity.UrlEncodedFormEntity;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.impl.client.DefaultHttpClient;import org.apache.http.message.BasicNameValuePair;import org.apache.http.protocol.HTTP;import org.apache.http.util.EntityUtils;/** * Description: * @version 1.0 */public class HttpUtil{// 创建HttpClient对象public static HttpClient httpClient ;public static final String BASE_URL = "http://www.xxx.com/projectname/name_baidu!jsonstring";/** * * @param url 发送请求的URL * @return 服务器响应字符串 * @throws Exception */public static String getRequest(String url)throws Exception{httpClient= new DefaultHttpClient();try{// 创建HttpGet对象。HttpGet get = new HttpGet(url);// 发送GET请求HttpResponse httpResponse = httpClient.execute(get);// 如果服务器成功地返回响应if (httpResponse.getStatusLine().getStatusCode() == 200){// 获取服务器响应字符串String result = EntityUtils.toString(httpResponse.getEntity());return result;}}catch(Exception e){e.printStackTrace();return "获取数据失败!";}finally{httpClient.getConnectionManager().shutdown();}return null;}/** * * @param url 发送请求的URL * @param params 请求参数 * @return 服务器响应字符串 * @throws Exception */public static String postRequest(String url, Map<String ,String> rawParams){httpClient= new DefaultHttpClient();try{// 创建HttpPost对象。HttpPost post = new HttpPost(url);// 如果传递参数个数比较多的话可以对传递的参数进行封装List<NameValuePair> params = new ArrayList<NameValuePair>();for(String key : rawParams.keySet()){//封装请求参数params.add(new BasicNameValuePair(key , rawParams.get(key)));}// 设置请求参数post.setEntity(new UrlEncodedFormEntity(params,HTTP.UTF_8));// 发送POST请求HttpResponse httpResponse = httpClient.execute(post);// 如果服务器成功地返回响应if (httpResponse.getStatusLine().getStatusCode() == 200){// 获取服务器响应字符串String result = EntityUtils.toString(httpResponse.getEntity());return result;}}catch(Exception e){e.printStackTrace();}finally{httpClient.getConnectionManager().shutdown();}return null;}}
需要说明的是,这个一般不能直接在主线程来做这个动作,这样会因为网络问题造成主线程假死。手机客户端的UI卡掉
一般我都是异步进行数据的调用
- android中使用httpclient提交表单
- android中使用httpclient提交表单
- android中使用httpclient提交表单
- Android 使用HttpClient提交表单数据
- 使用httpclient模拟表单提交,上传图片
- 使用httpclient提交表单方式上传文件
- Android中使用HttpClient框架进行get/post提交
- httpClient 模拟表单提交
- 使用HttpClient MultipartEntity 上传图片 类似于表单提交
- 使用httpclient 抓包 提交表单 网络请求
- Android中使用HttpClient
- httpclient提交表单 访问接口
- httpclient使用post提交json参数,(跟使用表单提交区分)
- 使用httpclient提交数据
- 使用httpclient提交数据
- Android中使用Apache HttpClient
- jQuery中使用$.ajax提交表单
- EasyUI中使用Ajax提交文件表单
- 自娱自乐观察者模式
- 刚刚出炉的我的aop日志功能 可以写入数据库
- 从excel读写数据和高效读写数据想到的
- 使用google code 和 subversion管理项目
- 指针问题
- android中使用httpclient提交表单
- 32位和64位的区别以及如何查看是32位还是64位
- 平台设备驱动
- ubuntu下如何选择并弹出输入法
- ARM1136JF、ARM1176JZF、MIPS32-Au1200三款CPU的浮点运算测试
- android中将复杂json对象进行数据转换
- ios-cocos2d游戏开发基础-进度条-开发笔记
- 今天是清明节放假的最后一天
- Java IO学习笔记