Android使用Apache的httpmime包post提交数据
/**
* 启动线程向服务器post提交数据
*/
public void upLoadPic(final Intent data) { ToastUtils.toastWithMessage(getActivity(), "正在上传...");
new Thread(new Runnable() { @Override
public void run() {
httpClient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(PATH_STRING); // 添加内容体,图片,以及文本两部分
MultipartEntity mpEntity = new MultipartEntity();
ContentBody imgFile = new FileBody(tempFile, "image/*");
// 内容体中的id
if (map != null && !map.isEmpty()) {
for (Map.Entry<String, String> entry : map.entrySet()) {
try {
mpEntity.addPart(entry.getKey(), new StringBody(
entry.getValue()));
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
}
}
// 图片部分
mpEntity.addPart("img", imgFile); httppost.setEntity(mpEntity); System.out.println("executing request "
+ httppost.getRequestLine());
HttpResponse response;
try {
response = httpClient.execute(httppost); if (response.getStatusLine().getStatusCode() == 200) { HttpEntity resEntity = response.getEntity();
// 得到json结果,解析
String result = EntityUtils.toString(resEntity,
HTTP.UTF_8); JSONObject jsonObject = new JSONObject(result); JSONObject dataObject = jsonObject
.getJSONObject("data"); int result_code = dataObject.getInt("result"); if (result_code == 0) {
storePicExternal(data, AVATAR_IMAGE_FILE_NAME);
tempFile.delete();
} Message message = Message.obtain();
message.what = MSG_PIC;
message.obj = result_code;
handler.sendMessage(message); System.out.println(response.getStatusLine());
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
} }
}).start(); }
-------------
提交文本信息:
/**
* 启动线程向服务器post提交数据
*/
public void updateInfo() {
ToastUtils.toastWithMessage(getActivity(), "正在提交.."); list.add(new BasicNameValuePair("id", userId)); String location = getActivity().getSharedPreferences("data",
Context.MODE_PRIVATE).getString("location", null);
if (location != null) {
list.add(new BasicNameValuePair("location", location));
}
String name = getActivity().getSharedPreferences("data",
Context.MODE_PRIVATE).getString("userName", null);
if (name != null) {
list.add(new BasicNameValuePair("name", name));
} list.add(new BasicNameValuePair("sign", sign.getText().toString()
.trim())); new Thread(new Runnable() { @Override
public void run() { HttpClient httpClient = new DefaultHttpClient(); HttpPost httppost = new HttpPost(UPDATE_PATH); System.out.println("executing request "
+ httppost.getRequestLine());
HttpResponse response;
try {
httppost.setEntity(new UrlEncodedFormEntity(list,
HTTP.UTF_8));
response = httpClient.execute(httppost); if (response.getStatusLine().getStatusCode() == 200) { HttpEntity resEntity = response.getEntity();
// 得到json结果,解析
String result = EntityUtils.toString(resEntity,
HTTP.UTF_8); JSONObject jsonObject = new JSONObject(result); JSONObject dataObject = jsonObject
.getJSONObject("data"); int result_code = dataObject.getInt("result"); Message message = Message.obtain();
message.what = MSG_INFO;
message.obj = result_code;
handler.sendMessage(message); System.out.println(response.getStatusLine());
}
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (JSONException e) {
e.printStackTrace();
} finally {
httpClient.getConnectionManager().shutdown();
} }
}).start();
}
---------------------
提交信息的结果需要由服务器端返回一些信息,此次返回的信息为:1,提交失败;0,提交成功。
json数据格式
Android使用Apache的httpmime包post提交数据的更多相关文章
- Android HttpClient框架get和post方式提交数据(非原创)
1.fragment_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android& ...
- Android 采用HttpClient提交数据到服务器
在前几篇文章中<Android 采用get方式提交数据到服务器><Android 采用post方式提交数据到服务器>介绍了android的两种提交数据到服务器的方法 本文继续介 ...
- Android(java)学习笔记211:采用httpclient提交数据(qq登录案例)
1.Apache -Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包 ...
- Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)
1.前面提到Http的get/post方式 . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2.Android应用会经常使用http协议进行传输,网上会有很完善 ...
- Android(java)学习笔记154:采用HttpClient提交数据(qq登录案例)
1.Apache -Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包 ...
- Android(java)学习笔记156:开源框架post和get方式提交数据(qq登录案例)
1. 前面提到Http的get/post方式 . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2. Android应用会经常使用http协议进行传输,网上会有很 ...
- Android 采用get方式提交数据到服务器
首先搭建模拟web 服务器,新建动态web项目,servlet代码如下: package com.wuyudong.web; import java.io.IOException; import ja ...
- Android(java)学习笔记210:采用post请求提交数据到服务器(qq登录案例)
1.POST请求: 数据是以流的方式写给服务器 优点:(1)比较安全 (2)长度不限制 缺点:编写代码比较麻烦 2.我们首先在电脑模拟下POST请求访问服务器的场景: 我们修改之前编写的logi ...
- Android(java)学习笔记209:采用get请求提交数据到服务器(qq登录案例)
1.GET请求: 组拼url的路径,把提交的数据拼装url的后面,提交给服务器. 缺点:(1)安全性(Android下提交数据组拼隐藏在代码中,不存在安全问题) (2)长度有限不能超过4K(h ...
随机推荐
- 新软件马上就要完成了,先发篇文章YY下
最近一直都在搞网站抓取方面的开发,闲着无聊逛逛论坛,发现有些帖子还是写的相当不错的,只是一篇一篇的点进去比较麻烦,于是就写了个小软件只是为了方便查看博客园和CSDN上的优秀文章.其实这个还可以拓展的, ...
- MFC注册表操作
注册表简介 有时程序中要存些设置信息,一个方法就是创建一些普通的txt或xml文件,然后保存进去就行了.另一办法就是保存到注册表里.注册表是由windows维护的一个小数据库.里面也会保存window ...
- 用Arduino做一个可视化网络威胁级别指示器!
在当今世界,网络监控器是非常重要的.互联网是个可怕的地方.人们已经采取措施以提高警戒----他们安装了入侵检测系统(IDS)比如SNORT. 通过把可视化部分从电脑中移出来,我们想让它更容易去观察.一 ...
- android 组件内部实现触摸事件,更改背景
当我们需要实现触摸事件的时候,通常就会想到OnTouchEvent这个方法,它能够获取触摸点的坐标,而组件同样也有这样的一个功能,使用这个功能,可以实现组件在父布局界面上移动,缩放,更改背景图片.这里 ...
- UIColor RGB颜色对照表
色 彩 RGB 值 对 照 表 color red green blue Hexadecimal triplet example Aliceblue 240 248 255 f0f8ff ...
- dd命令详解
一.dd命令的解释. dd:用指定大小的块拷贝一个文件,并在拷贝的同时进行指定的转换. 注意:指定数字的地方若以下列字符结尾则乘以相应的数字:b=512:c=1:k=1024:w=2 参数: 1. i ...
- 论移动端Hybid开发
以下内容code地址:https://github.com/wytings/Hybrid 背景:公司业务的发展和开发需求升级,我们需要Hybrid了.市面上有很多开源的Hybrid框架给我们直接使用, ...
- 爬虫关于ip管理池的应用
在爬虫的时候经常会遇到一个问题就是ip被封,由于ip对网站的短时间大量请求,让网站将我们的ip暂时封掉.这样我们就无法全部爬取自己想要的内容. 这里百度了一下解决办法,很多人都提到了ip代理管理池的问 ...
- Oracle EBS中分类账和法人实体 的关系(有sql语句实例)
Oracle EBS中分类账和法人实体 的关系(有sql语句实例) 2012-12-06 16:05 2822人阅读 评论(0) 收藏 举报 分类: Oracle EBS(12) Oracle数据 ...
- windows系统下快捷命令
mstsc 远程计算机 regedit 注册表