设为首页 收藏本站
查看: 906|回复: 0

[经验分享] Android使用Apache的httpmime包post提交数据

[复制链接]

尚未签到

发表于 2015-8-3 09:30:58 | 显示全部楼层 |阅读模式
DSC0000.gif DSC0001.gif


    /**
* 启动线程向服务器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 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();
}
View Code   -------------
  提交文本信息:





/**
* 启动线程向服务器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();
}
View Code   ---------------------
  提交信息的结果需要由服务器端返回一些信息,此次返回的信息为:1,提交失败;0,提交成功。
  json数据格式

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93538-1-1.html 上篇帖子: IIS 支持PHP(与Apache环境共存) 下篇帖子: Android的网络应用-使用Apache HttpClient
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表