本文实例讲述了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. Python核心编程笔记---- print
  2. 获取Moment Js中两个日期之间的小时差异
  3. mysql主从复制缺陷_mysql主从复制及遇到的坑
  4. .NET 生态系统的蜕变之 .NET 6
  5. pixel android8,谷歌Pixel 2更多信息:安卓8.1
  6. 光端机和光纤交换机的区别?
  7. bios设置 联想m8000t_怎么进bios设置硬盘启动顺序
  8. linux cna12.dll,攻击 MySQL 服务器传播 GandCrab 勒索软件
  9. iphone登录不了媒体服务_ios快捷指令一键登录校园网(桂航为例,哆点认证)
  10. python画羊_羊车门作业 Python版
  11. redhat8安装mysql教程
  12. 正则表达式过滤非数字字符串
  13. 刨根究底字符编码之九——字符编码方案的演变与字节序
  14. U2Net——U-Net套U-Net——套娃式图像分割算法
  15. Oracle 执行计划(Explain Plan)
  16. Google Voice、Voice Search 安装
  17. sqlserver wait millis 60003, active 0, maxActive 20, creating 0(String)
  18. MATLAB中广义极值分布的分析、测试、个人理解
  19. 加载页面前执行js脚本,实现浏览器指纹变更
  20. win11下安装Cuda和Cudnn,保姆及教程!!!

热门文章

  1. 2020最新阿里美团Java面经
  2. 基于主从博弈理论的共享储能与综合能源微网优化运行研究
  3. JavaWeb学习——EL表达式
  4. 诺基亚N900间隙 - 购买你的高科技手机便宜
  5. 书单推荐|宅家不动过国庆,好书相伴不寂寞
  6. 永不放弃——提高班开学之寄语
  7. git的初次使用及查看vue源码
  8. Mac上android emulator模拟器使用(三十一)
  9. bat处理程序中定时关闭批处理启动的应用程序
  10. 混凝土结构耐久性(RCM,氯离子浓度,碳化深度)结构(梁、柱、办、墙、结点)数据库