/**
* 启动线程向服务器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提交数据的更多相关文章

  1. Android HttpClient框架get和post方式提交数据(非原创)

    1.fragment_main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android& ...

  2. Android 采用HttpClient提交数据到服务器

    在前几篇文章中<Android 采用get方式提交数据到服务器><Android 采用post方式提交数据到服务器>介绍了android的两种提交数据到服务器的方法 本文继续介 ...

  3. Android(java)学习笔记211:采用httpclient提交数据(qq登录案例)

    1.Apache -Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包 ...

  4. Android(java)学习笔记213:开源框架post和get方式提交数据(qq登录案例)

    1.前面提到Http的get/post方式  . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2.Android应用会经常使用http协议进行传输,网上会有很完善 ...

  5. Android(java)学习笔记154:采用HttpClient提交数据(qq登录案例)

    1.Apache -Httpclient HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包 ...

  6. Android(java)学习笔记156:开源框架post和get方式提交数据(qq登录案例)

    1. 前面提到Http的get/post方式  . HttpClient方式,实际工作的时候不常用到,因为这些方式编写代码是很麻烦的 2. Android应用会经常使用http协议进行传输,网上会有很 ...

  7. Android 采用get方式提交数据到服务器

    首先搭建模拟web 服务器,新建动态web项目,servlet代码如下: package com.wuyudong.web; import java.io.IOException; import ja ...

  8. Android(java)学习笔记210:采用post请求提交数据到服务器(qq登录案例)

    1.POST请求:  数据是以流的方式写给服务器 优点:(1)比较安全 (2)长度不限制 缺点:编写代码比较麻烦   2.我们首先在电脑模拟下POST请求访问服务器的场景: 我们修改之前编写的logi ...

  9. Android(java)学习笔记209:采用get请求提交数据到服务器(qq登录案例)

    1.GET请求:    组拼url的路径,把提交的数据拼装url的后面,提交给服务器. 缺点:(1)安全性(Android下提交数据组拼隐藏在代码中,不存在安全问题)  (2)长度有限不能超过4K(h ...

随机推荐

  1. 【2013Esri全球用户大会精彩案例】Horry Count GIS--南卡罗来那州霍里县企业级应用

    行业领域:政府 基于Online的组织机构订阅服务,构建Horry县的地图及应用门户,满足政府和公众的需要.公众可通过移动设备查看公开的地图,包括教育资源分布.选区分布.墓地管理.害虫监控等内容:政府 ...

  2. java模式之装饰模式

    1. 什么叫装饰模式? 根据业务的需求,需要对一个类的方法进行增强的处理. 2. 为什么需要装饰模式? 拓展性更加的好,当觉得这个装饰不好的时候,可以直接拿下,不需要改变任何的代码. 3. 装饰模式的 ...

  3. Linux进程分配内存的两种方式--brk() 和mmap()

    如何查看进程发生缺页中断的次数? 用ps -o majflt,minflt -C program命令查看. majflt代表major fault,中文名叫大错误,minflt代表minor faul ...

  4. java ArrayList的序列化分析

    一.绪论 所谓的JAVA序列化与反序列化,序列化就是将JAVA 对象以一种的形式保持,比如存放到硬盘,或是用于传输.反序列化是序列化的一个逆过程. JAVA规定被序列化的对象必须实现java.io.S ...

  5. [hystar整理]Entity Framework 教程

    参考页面: http://www.yuanjiaocheng.net/entity/entity-relations.html http://www.yuanjiaocheng.net/entity/ ...

  6. Node.js(初识)

    之前有了解过一点Node.js,只是一直停留在文字描述,没有真正使用过Node.js,如今因为工作的原因,开始真正接触到Node.js,也开始深入学习. Node.js具体是用来做什么的,我想一开始接 ...

  7. [留念贴] C#开发技术期末大作业——星月之痕

    明天就要去上海大学参加 2015赛季 ACM/ICPC最后一场比赛 —— EC-Final,在这之前,顺利地把期末大作业赶出来了. 在这种期末大作业10个人里面有9个是从网上下载的国内计算机水平五六流 ...

  8. 利用fiddler将本地网页放到某个域下

    注: 1)在学习慕课网课程<搜索框制作>中遇到如题困难,查找资料后解决,做此记录.课程网址http://www.imooc.com/video/263. 2)建议同时去学习慕课网课程< ...

  9. 【Excel】Excel筛选迟点时间的公式

    效果是这样: 方法: 在B列第2排,输入=if(HOUR(A2) >=9,"迟点","") 然后就是复制,粘贴整个列就OK了.不想复制也可以按住的右下角那 ...

  10. 关于IO多路复用的一篇好文

    http://blog.csdn.net/baixiaoshi/article/details/48708347 http://blog.csdn.net/hguisu/article/details ...