本文实例讲述了Android中使用Post请求的方法。分享给大家供大家参考。具体如下:

一、需要用到的场景

在jQuery中使用$.post()就可以方便的发起一个post请求,在android程序中有时也要从服务器获取一些数据,就也必须得使用post请求了。

二、需要用到的主要类

在android中使用post请求主要要用到的类是HttpPost、HttpResponse、EntityUtils

三、主要思路

1、创建HttpPost实例,设置需要请求服务器的url。

2、为创建的HttpPost实例设置参数,参数设置时使用键值对的方式用到NameValuePair类。

3、发起post请求获取返回实例HttpResponse

4、使用EntityUtils对返回值的实体进行处理(可以取得返回的字符串,也可以取得返回的byte数组)

代码也比较简单,注释也加上了,就直接贴出来了

package com.justsy.url;

import java.io.IOException;

import java.util.ArrayList;

import java.util.List;

import org.apache.http.HttpResponse;

import org.apache.http.NameValuePair;

import org.apache.http.client.ClientProtocolException;

import org.apache.http.client.entity.UrlEncodedFormEntity;

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;

import android.app.Activity;

import android.os.Bundle;

public class HttpURLActivity extends Activity {

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

System.out.println("start url...");

String url = "http://192.168.2.112:8080/JustsyApp/Applet";

// 第一步,创建HttpPost对象

HttpPost httpPost = new HttpPost(url);

// 设置HTTP POST请求参数必须用NameValuePair对象

List params = new ArrayList();

params.add(new BasicNameValuePair("action", "downloadAndroidApp"));

params.add(new BasicNameValuePair("packageId", "89dcb664-50a7-4bf2-aeed-49c08af6a58a"));

params.add(new BasicNameValuePair("uuid", "test_ok1"));

HttpResponse httpResponse = null;

try {

// 设置httpPost请求参数

httpPost.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));

httpResponse = new DefaultHttpClient().execute(httpPost);

//System.out.println(httpResponse.getStatusLine().getStatusCode());

if (httpResponse.getStatusLine().getStatusCode() == 200) {

// 第三步,使用getEntity方法活得返回结果

String result = EntityUtils.toString(httpResponse.getEntity());

System.out.println("result:" + result);

T.displayToast(HttpURLActivity.this, "result:" + result);

}

} catch (ClientProtocolException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

System.out.println("end url...");

setContentView(R.layout.main);

}

}

ADD:使用HttpURLConnection 进行post请求:

String path = "http://192.168.2.115:8080/android-web-server/httpConnectServlet.do?PackageID=89dcb664-50a7-4bf2-aeed-49c08af6a58a";

URL url = new URL(path);

HttpURLConnection conn = (HttpURLConnection) url.openConnection();

conn.setRequestMethod("POST");

conn.setConnectTimeout(5000);

System.out.println(conn.getResponseCode());

希望本文所述对大家的Android程序设计有所帮助。

android post方法吗,Android中使用Post请求的方法相关推荐

  1. android 自定义view xml ,Android实现在xml文件中引用自定义View的方法分析

    本文实例讲述了Android实现在xml文件中引用自定义View的方法.分享给大家供大家参考,具体如下: 在xml中引用自定义view 方法一: android:layout_width=" ...

  2. 如何同步微信信息php,微信小程序中实现同步请求的方法

    本篇文章给大家带来的内容是关于微信小程序中实现同步请求的方法,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 微信小程序默认是用同步请求的,但有些时候需要数据的同步请求,可使用的方法有 ...

  3. fiddler拦截模拟器中app的请求设置方法

    fiddler拦截模拟器中app的请求设置方法 fiddler设置 Tools -> Options -> connections 设置端口号 可以勾选Allow remote compu ...

  4. android获取imei兼容_Android中获取IMEI码的方法

    公共请求头 所有HTTP请求中,都包含如下公共请求头(HTTP Header): 名称 类型 是否必需 描述 Accept String 是 接受的返回类型,目前只支持JSON:application ...

  5. 访问母版页控件、属性、方法及母版页中调用内容页的方法

    首先,必须通过内容页中的MasterTye指令,对母版页实施强类型化,即在内容页代码头的设置中增加如下指令 <%@ MasterType VirtualPath="~/Master/M ...

  6. html方法介绍,html中noframes标签的使用方法介绍

    html中noframes标签的使用方法介绍 发布时间:2020-04-17 09:35:28 来源:亿速云 阅读:672 作者:小新 这篇文章主要为大家详细介绍了html中noframes标签的使用 ...

  7. php的set 方法调用,PHP中 对象自动调用的方法:set()、get()、tostring()

    总结: (1)__get($property_name):获取私有属性$name值时,此对象会自动调用该方法,将属性name值传给参数$property_name,通过这个方法的内部 执行,返回我们传 ...

  8. 捕获计算机屏幕++方法,在Win10中获取屏幕截图的五大方法

    如果您是Win10的新手,或者甚至是专业人士在Win10中截取屏幕截图与其他操作系统相比有些困难.屏幕截图在某些情况下可以节省您的时间.此外,如果您指定截屏的所有不同方式,尤其是在Win10中,您绝对 ...

  9. java数组排序法方法_JAVA数组中五种常见排序方法

    前言: 几种常用的JAVA数组排序方法的整合. 法一:Arrays.sort() Arrays.sort()排序方法在java中是最简单且最常用的排序方法 int []arr1= {45,34,59, ...

最新文章

  1. p2596 书架(Treap)
  2. 【内核驱动】 Kconfig简介
  3. MFC开发IM-第二十篇、MFC添加自定义消息
  4. 转载:常用CSS缩写语法总结
  5. Mysql问题 ERROR 1054 (42S22): Unknown column ‘password‘ in ‘field list‘
  6. Tri-training regression, 协同训练回归
  7. 2022研究生电子设计竞赛总结(东北赛区一等奖、国家二等奖)
  8. xmind 切换图形结构 和 常用模板
  9. ubuntu16.04利用SVN下载文件
  10. 【数学】欧拉恒等式:史上最完美的数学公式,没有之一!
  11. 如何使用python 执行命令行传入的代码
  12. 第三方推广——《互联网运营的知识体系与整体逻辑》笔记(十二)
  13. Python极简实现IoU
  14. Java垃圾回收与算法
  15. 机器学习应用设计阶段的 10 个陷阱和 11 个最佳实践
  16. 创造与魔法服务器在哪里显示,创造与魔法监狱在哪里 创造与魔法监狱坐标
  17. 蓝海卓越 计费管理系统 download.php 任意文件读取漏洞
  18. 递归组件(简单介绍)
  19. teraterm 执行sql命令_tera term的ttl脚本使用方法
  20. WiFi共享精灵与路由器

热门文章

  1. 用Windows XP自带的性能监视器测试
  2. 昨天被一个老乞丐给教训了一番
  3. az全球购打造全球优质供应链,为消费者打造更安全优质的购物体验
  4. 服务器出现信号问题,网络故障中出现的丢包是什么意思?什么又是丢包率?
  5. virtualBox下配置已经安装好的ubuntu内存大小
  6. 博客站长维护服务器安全,亲身经历博客网站安全性的重要性!
  7. nginx配置文件 雷哥视频
  8. Web 窗体简介(入门者必看)
  9. 关于ASP.NET直接从一个项目复制WEB窗体后无法点出控件名称(ID)
  10. 职场实用的软件测试必备业务测试能力