Android向服务器提交数据

Android 提交数据到服务器的四种方法 /*该类演示了四种方法提交数据到服务器,并将服务器解析后的数据以字符串的形式返回*/ public class LoginService { /** * * @param username * @param password * @return */ public static String loginByGet(String username,String passwo 阅读详情

Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方式向服务器提交数据的方法。

代码比较简单,这里不去过多的阐述,直接看代码。

/**
 * @author Dylan
 * 本类封装了Android中向web服务器提交数据的两种方式四种方法
 */
public class SubmitDataByHttpClientAndOrdinaryWay {

	/**
	 * 使用get请求以普通方式提交数据
	 * @param map 传递进来的数据,以map的形式进行了封装
	 * @param path 要求服务器servlet的地址
	 * @return 返回的boolean类型的参数
	 * @throws Exception
	 */
	public Boolean submitDataByDoGet(Map<String, String> map, String path) throws Exception {
		// 拼凑出请求地址
		StringBuilder sb = new StringBuilder(path);
		sb.append("?");
		for (Map.Entry<String, String> entry : map.entrySet()) {
			sb.append(entry.getKey()).append("=").append(entry.getValue());
			sb.append("&");
		}
		sb.deleteCharAt(sb.length() - 1);
		String str = sb.toString();
		System.out.println(str);
		URL Url = new URL(str);
		HttpURLConnection HttpConn = (HttpURLConnection) Url.openConnection();
		HttpConn.setRequestMethod("GET");
		HttpConn.setReadTimeout(5000);
		// GET方式的请求不用设置什么DoOutPut()之类的吗?
		if (HttpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
			return true;
		}
		return false;
	}

	/**
	 * 普通方式的DoPost请求提交数据
	 * @param map 传递进来的数据,以map的形式进行了封装
	 * @param path 要求服务器servlet的地址
	 * @return 返回的boolean类型的参数
	 * @throws Exception
	 */
	public Boolean submitDataByDoPost(Map<String, String> map, String path) throws Exception {
		// 注意Post地址中是不带参数的,所以newURL的时候要注意不能加上后面的参数
		URL Url = new URL(path);
		// Post方式提交的时候参数和URL是分开提交的,参数形式是这样子的:name=y&age=6
		StringBuilder sb = new StringBuilder();
		// sb.append("?");
		for (Map.Entry<String, String> entry : map.entrySet()) {
			sb.append(entry.getKey()).append("=").append(entry.getValue());
			sb.append("&");
		}
		sb.deleteCharAt(sb.length() - 1);
		String str = sb.toString();

		HttpURLConnection HttpConn = (HttpURLConnection) Url.openConnection();
		HttpConn.setRequestMethod("POST");
		HttpConn.setReadTimeout(5000);
		HttpConn.setDoOutput(true);
		HttpConn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
		HttpConn.setRequestProperty("Content-Length", String.valueOf(str.getBytes().length));
		OutputStream os = HttpConn.getOutputStream();
		os.write(str.getBytes());
		if (HttpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
			return true;
		}
		return false;
	}

	/**
	 * 以HttpClient的DoGet方式向服务器发送请数据
	 * @param map 传递进来的数据,以map的形式进行了封装
	 * @param path 要求服务器servlet的地址
	 * @return 返回的boolean类型的参数
	 * @throws Exception
	 */
	public Boolean submitDataByHttpClientDoGet(Map<String, String> map, String path) throws Exception {
		HttpClient hc = new DefaultHttpClient();
		// 请求路径
		StringBuilder sb = new StringBuilder(path);
		sb.append("?");
		for (Map.Entry<String, String> entry : map.entrySet()) {
			sb.append(entry.getKey()).append("=").append(entry.getValue());
			sb.append("&");
		}
		sb.deleteCharAt(sb.length() - 1);
		String str = sb.toString();
		System.out.println(str);
		HttpGet request = new HttpGet(sb.toString());

		HttpResponse response = hc.execute(request);
		if (response.getStatusLine().getStatusCode() == HttpURLConnection.HTTP_OK) {
			return true;
		}
		return false;
	}
	
	/**
	 * 以HttpClient的DoPost方式提交数据到服务器
	 * @param map 传递进来的数据,以map的形式进行了封装
	 * @param path 要求服务器servlet的地址
	 * @return 返回的boolean类型的参数
	 * @throws Exception
	 */
	public Boolean submintDataByHttpClientDoPost(Map<String, String> map, String path) throws Exception {
		// 1. 获得一个相当于浏览器对象HttpClient,使用这个接口的实现类来创建对象,DefaultHttpClient
		HttpClient hc = new DefaultHttpClient();
		// DoPost方式请求的时候设置请求,关键是路径
		HttpPost request = new HttpPost(path);
		// 2. 为请求设置请求参数,也即是将要上传到web服务器上的参数
		List<NameValuePair> parameters = new ArrayList<NameValuePair>();
		for (Map.Entry<String, String> entry : map.entrySet()) {
			NameValuePair nameValuePairs = new BasicNameValuePair(entry.getKey(), entry.getValue());
			parameters.add(nameValuePairs);
		}
		// 请求实体HttpEntity也是一个接口,我们用它的实现类UrlEncodedFormEntity来创建对象,注意后面一个String类型的参数是用来指定编码的
		HttpEntity entity = new UrlEncodedFormEntity(parameters, "UTF-8");
		request.setEntity(entity);
		// 3. 执行请求
		HttpResponse response = hc.execute(request);
		// 4. 通过返回码来判断请求成功与否
		if (response.getStatusLine().getStatusCode() == HttpURLConnection.HTTP_OK) {
			return true;
		}
		return false;
	}
}
Android之向服务器提交数据 上个博客我们说到了安卓在Java中获取数据,这次就来给大家说说怎么在安卓提交数据给Java。 首先先建立一个服务器,思路代码都特别简单,这里博主就不多阐述了。 首先我们在AndroidStudio中写一个布局 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app= 阅读详情

相关推荐

安卓开发后台servlet接受数据

安卓前端向服务端servlet发送get的请求。服务端以json的格式给客户端返回数据的信息。

Android提交数据到服务器的两种方式四种方法

Android应用开发中,会经常要提交数据到服务器和从服务器得到数据,本文主要是给出了利用http协议采用HttpClient方式向服务器提交数据的方法。 代码比较简单,这里不去过多的阐述,直接看代码。 /** * @author Dylan * 本类封装了Android中向web服务器提交数据的两种方式四种方法 */ public class SubmitDataByH...

笨鸟的天空 386

告别手动操作!用Python脚本批量处理Siemens NX零件文件(导入/导出/移除参数)

本文详细介绍了如何利用Python脚本实现Siemens NX零件文件的批量处理,包括导入、导出和移除参数等操作。通过NX Open API和Python UF接口,工业设计师可以大幅提升工作效率,告别繁琐的手动操作。文章提供了完整的实战指南,涵盖环境配置、核心功能实现以及性能优化技巧,特别适合需要进行Siemens-NXUG二次开发的工程师参考。

weixin_28222493的博客 261

直接在服务器与客户端之间传输对象

客户端与服务器之间传输对象 一、前言     1.网络编程的使用十分广泛,且相当重要,一个有用的Android 程序一定涉及数据对象的传输处理。     2.本文将以实例分析一个用户对象是怎样在网络中传输的。     具体实现之前,大致分析一下其过程原理:     原理如下:         User对象 --> json 数据 --> 手机客户端 --> 服务器 --> js

niaonao 1万+

机械臂算法设计MATLAB|运动学动力学|轨迹规划|路径规划|Simulink

RRT为最常用的路径规划算法,还有其变种(RRT*,RRT-connect等)。RRT是一种多维空间中高效的规划方法。它以一个初始点作为根节点,通过随机采样增加叶子节点的方式,生成一个随机扩展树。随机扩展树不断增长,直到到达目的位置。**Step1:**构建多维状态空间(joint space),**Step2:**构建joint space的障碍检测算法**Step3:**在joint space应用RRT。

qq_35997213的博客 4476

工业视觉开发者的福音:用C#玩转VisionMaster算子(非方案版完整教程)

本文为工业视觉开发者提供了一份完整的C#与VisionMaster算子二次开发教程,详细介绍了环境配置、算子调用原理、性能优化技巧及实战案例。通过模板匹配和二维码识别等实例,展示了如何高效集成VisionMaster算子到现有框架中,提升工业自动化视觉检测系统的灵活性和性能。

weixin_29280657的博客 271

Android传递对象数据的两种方式(Serializable和Parcelable)

Android中传递对象数据的方式有两种:Serializable和Parcelable。 Serializable方式:通过将对象进行序列化来进行传输。 Parcelable方式:通过将对象进行分解,而分解后的每一部分都是Intent所支持的数据类型,从而达到传输的目的。 备注:传输效率上来说,Parcelable方式优于Serializable方式。 具体步骤如下所示: (一)Ser...

lpCrazyBoy的博客 1164

智慧矿山无人机空地一体化解决方案

未来,随着技术的不断进步和应用场景的不断拓展,智慧矿山无人机空地一体化解决方案将在矿业领域发挥更加重要的作用,为矿山的可持续发展提供更加有力的保障。该系统能够实现矿山的全方位、全天候监测与管理,提升矿山生产效率,降低安全风险,并为矿山的可持续发展提供有力支持。智慧矿山无人机空地一体化解决方案是当前矿业领域技术创新的重要方向,旨在通过集成无人机技术、物联网、大数据、人工智能等先进技术,实现矿山的智能化、高效化和安全化运营。在矿山爆破、挖掘等危险作业中,无人机可进行远程监控和指挥,降低人员安全风险。

专注多旋翼、复合翼无人机技术研究,从事低空经济行业。 1109

JavaScript:将数据发送到Web服务器

发送数据:基础 向服务器发送数据通常是通过 HTTP 的 post 方法完成的。在这种情况下,请求正文包含要发发送的数据。数据格式取决于服务器的期望。它可以是: 键值对,例如直接提交表单时。 Json 格式:可以用于更多结构化数据。 将表单数据发送到服务器 如果 Web 服务器需要直接的表单数据,您可以使用 JavaScript 的 FormData 对象来封装要发送的信息。下面是一个示例的表单,用于选择最强壮的动物以及处理表单提交的JS代码。 <ht...

kllo__的博客 3418

FPGA 学习笔记:解决FPGA程序固化重新上电程序不运行的问题

FPGA 学习笔记:解决FPGA程序固化重新上电程序不运行的问题

坚韧与专注 1万+

PyTorch视觉项目实战:从数据加载到模型部署

PyTorch视觉项目实战:从数据加载到模型部署 ,人工智能,计算机视觉,大模型,AI,随着深度学习在计算机视觉领域的飞速发展,PyTorch 凭借其简洁的代码风格、动态计算图特性以及强大的社区支持,成为众多开发者和研究人员的首选框架。从数据加载、模型构建与训练,到最终的模型部署,PyTorch 提供了一套完整且灵活的解决方案。本文将通过实际项目案例,详细阐述基于 PyTorch 的视觉项目全流程,结合丰富的代码示例和概念解析,帮助读者掌握从项目起步到落地的关键技术。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 4万+

android提交数据到服务器端,Android提交数据到服务器的两种方式四种方法

/*** @author Dylan 本类封装了Android中向web服务器提交数据的两种方式四种方法*/public class SubmitDataByHttpClientAndOrdinaryWay {*** 使用get请求以普通方式提交数据** @param map* 传递进来的数据,以map的形式进行了封装* @param path* 要求服...

weixin_42499335的博客 679

29、智能问答系统:原理、挑战与实现

本文深入探讨了智能问答系统的原理、挑战与实现方法。从智能问答系统的定义、重要性、问题类型和构建步骤,到实现中的歧义问题、数据集创建及基于规则的系统实现,全面解析了这一自然语言处理领域的重要应用。同时,文章还介绍了智能问答系统的应用场景、发展趋势以及面临的挑战与应对策略,为读者提供了一个全面而深入的理解框架。

redis7keeper的博客 163

安卓开发笔记——安卓Post方法提交数据至服务器后服务器返回数据至客户端

具体代码为: public void sendGetHttpRequest(){ OkHttpClient client = new OkHttpClient(); String username = et_username.getText().toString().trim(); String userpassword = et_password.getText().toString().tr...

Mr.X 640

华为OD机试 - 物流仓储多维度成本利润综合查询系统 - 二维数组(Python/JS/C/C++ 新系统 100分)

本专栏收录于《华为OD机试真题(Python/JS/C/C++)》。刷的越多,抽中的概率越大,私信哪吒,备注华为OD,加入华为OD刷题交流群,每一题都有详细的答题思路、详细的代码注释、3个测试用例、为什么这道题采用XX算法、XX算法的适用场景,发现新题目,随时更新。某物流企业在全国多个仓库开展仓储业务,需要对不同仓库、不同时段的入库成本、出库收入和库存损耗进行综合统计分析,用于生成 日报、周报和月报。字段说明及取值范围如下:warehouses: int[] 扁平化数组 [w0d0in, w0d0out,

学Java,找哪吒 309

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

android 中提供的服务器,Android 实现Post向服务器提交数据

Android 实现Post向服务器提交数据熟悉web编程的都很了解get和post这两种传递表单数据的方法。这里不具体介绍get和post的区别,如需了解请参考:/kf/201112/114558.html所谓的get传递数据也是我们最常见的一种,如https://127.0.0.1/index.php?param=androidyue,这种方式直接显示在url中,因此很不安全,而使用post传...

weixin_31162247的博客 197

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

android提交服务器,Android向WEB服务器提交数据

说明:1、本系列博文是博主在学习传智播客Android培训视频的学习笔记2、当然博文不只是罗列视频上讲的知识点,通过查阅资料对一些知识点进行了详细的讲解3、由于是初学,难免有疏漏之处,还请不吝赐教一、HTTP中POST和GET的区别向WEB服务器提交数据,无外乎两种方式:POST和GET。那么这两种方式向服务器提交数据的区别有哪些呢?1、GET将表单或者其他要传递的数据安装variable=val...

weixin_33167456的博客 425

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

android提交数据到服务器端,weex项目Android端get方式提交数据到服务器报错

[http-nio-8080-exec-6] org.apache.coyote.http11.AbstractHttp11Processor.process Error parsing HTTP request headerNote: further occurrences of HTTP header parsing errors will be logged at DEBUG level.j...

weixin_35610373的博客 192

Android 提交数据到服务器

Android提交数据到服务器分为: 通过get方式提交数据到服务器、采用post方式提交数据到服务器、采用httpclient发送get请求、采用httpclient发送post请求、采用httpclient上传数据文件。 其中通过get方式和post方式提交数据到服务器为最基本的方式,他们需要程序员拼装出发送的get请求,如本例中的URL url = new URL(path + "?n

打字打不快的屌丝 1497

Android的提交数据到服务器

在Android中提交数据到服务器和平时的浏览器差不多分为三步: 第一步:打开一个浏览器, 第二部:输入一个网址; 第三部:敲回车。 Get实现代码例: //打开一个浏览器 HttpClient client = new DefaultHttpClient(); String path = "http://192.168.1.100:8080/web/LoginServlet?usern

jack__ming的专栏 547

Android (向服务器提交数据Get-Post)

这次的内容非常的重要,属于网络编程,向服务器提交数据 主要讲到两种方式Get 和 Poset Get: Web端的代码: 登录 用户名: 密码: Android端代码:

JHandYY的博客 1110

Android 该如何将list类型的数据提交到后台服务器呢?

Android 该如何将list类型的数据提交到后台服务器呢? 我一开始不知道怎么将list类型的数据提交到后台,花了我半天的时间,果然是皇天不负有心人啊,终于被我找到怎么将list数据提交到后台的方法了,那就是使用json,思路就是先将list类型的转换为json格式,再将数据提交,之后在后台服务器这边再将刚刚传过来的json格式转换为对象就可以了,先看下面的实现代码。 1、先将转换为json格...

weixin_44560342的博客 1195

Android--Post向服务器提交数据

Android 实现Post向服务器提交数据 android客户端代码:   public static String postData(String sUrl) { String destUrl = ""; destUrl = sUrl; String sResult = ""; // instantiate HttpPost object from the url address

tzyh0116的专栏 430
上一篇: Android的pull解析XML文件
下一篇: Maven初体验
G_MuHan
博客等级 码龄9年 31粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值