/**
* 启动线程向服务器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. tag标签记录

    看到项目代码中有一个自定义的tag标签,想起以前自己写过的标签,竟然忘记的差不多了,手一痒,自己写个简单的tag标签,回顾一下历史知识 首先建一个servlet工程,然后写个index.jsp,项目跑 ...

  2. JDBC连接数据库(MySQL)

    package com.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSe ...

  3. android引导页的实现 及跳转到主页面

    第一个activity package com.qualitypicture.activity; import java.util.ArrayList; import java.util.List; ...

  4. 语音频谱语音信号处理之(四)梅尔频率倒谱系数(MFCC)

    今天一直在查找语音频谱之类的问题,今天正好有机会和大家共享一下. 语音信号处置之(四)梅尔频率倒谱系数(MFCC) zouxy09@qq.com http://blog.csdn.net/zouxy0 ...

  5. java.sql.Types,数据库字段类型,java数据类型的对应关系

    以下转自:http://kummy.itpub.net/post/17165/172850 本文在原文基础上有增减. 本概述是从<JDBCTM Database Access from Java ...

  6. 《Python高效开发实战》实战演练——内置Web服务器4

    <Python高效开发实战>实战演练——开发Django站点1 <Python高效开发实战>实战演练——建立应用2 <Python高效开发实战>实战演练——基本视图 ...

  7. (转载)python日期函数

    转载于http://www.cnblogs.com/emanlee/p/4399147.html 所有日期.时间的api都在datetime模块内. 1. 日期输出格式化 datetime => ...

  8. 【51Nod】1005 大数加法

    给出2个大整数A,B,计算A+B的结果. Input 第1行:大数A 第2行:大数B (A,B的长度 <= 10000 需注意:A B有可能为负数) Output 输出A + B Input示例 ...

  9. Nexpose

    下载: https://www.rapid7.com/products/nexpose/nexpose-enterprise-trial-thank-you.jsp注册: https://www.ra ...

  10. 各种Python小玩意收集

    快速排序 quicksort = lambda lst: [] if not lst else quicksort([i for i in lst[1:] if i <= lst[0]]) + ...