android端向web发送xml数据:
public void sendXml() throws Exception{
String urlStr = "http://192.168.0.2:8080/web/info!receiveXmlAction.action";
URL url = new URL(urlStr);
HttpURLConnection conn = (HttpURLConnection)url.openConnection();
InputStream is = context.getAssets().open("struts.xml");
// BufferedReader br = new BufferedReader(new InputStreamReader(is));
// StringBuffer sb = new StringBuffer();
// do{
// sb.append(br.readLine());
// }while(br.readLine() != null);
conn.setRequestMethod("POST");
conn.setConnectTimeout(5*1000);
conn.setDoOutput(true);
conn.setRequestProperty("Content-type", "text/xml charset=UTF-8");
// conn.setRequestProperty("Content-Length", String.valueOf(sb.toString().getBytes().length));
OutputStream os = conn.getOutputStream();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
byte[] buffer = new byte[1024];
int len=0;
while((len=is.read(buffer))!=-1){
baos.write(buffer,0,len);
Log.i("UPLOAD", new String(buffer));
}
byte[] data = baos.toByteArray();
os.write(data);
is.close();
os.flush();
os.close();
Log.i("UPLOAD", String.valueOf(conn.getResponseCode()));
}
以上代码能够成功发送并在服务器接收,但是代码从OutputStream 开始改为下面的就不行了
OutputStream os = conn.getOutputStream();
byte[] buffer = new byte[1024];
int len=0;
while((len=is.read(buffer))!=-1){
os.write(buffer,0,len);
Log.i("UPLOAD", new String(buffer));
}
根本还调用不到服务器端的receiveXmlAction方法.不知道是为什么?
也就是说,我直接通过输出流输出是不行的,必须先把数据输出到ByteArrayOutputStream ,再转为二进制数据,再用
OutputStream 输出才可以
有没有类似情况的朋友??指教一下
分享到:
相关推荐
本案例主要讲解如何在Android应用中通过网络通信发送XML数据到Web服务器,从而实现数据交换。 首先,我们需要理解XML(eXtensible Markup Language),它是一种用于标记数据的语言,具有良好的可读性和可扩展性。在...
本篇文章将详细介绍如何在Android应用中发送XML数据到服务器以及接收服务器返回的XML数据。 首先,我们来看如何在Android中发送XML数据到服务器。这个过程通常涉及到网络请求,可以使用HTTP协议实现。以下是一个...
总的来说,Android通过HttpURLConnection实现GET请求,结合XMLPullParser解析返回的XML数据,可以实现与Web应用的高效交互。在实际开发中,你可能还需要考虑错误处理、网络权限、异步执行(如使用AsyncTask或...
本话题主要探讨如何从网络获取XML数据并将其有效地呈现给用户,我们将会深入Android和Web应用两个方面来阐述这一过程。 首先,XML(Extensible Markup Language)是一种结构化数据格式,广泛用于数据交换,因为它...
本示例将介绍如何在 Xamarin Android 项目中调用 Web API,这是一个常见的需求,用于获取或发送数据到服务器。以下是对这个入门示例的详细讲解。 首先,我们需要理解 Xamarin Android 调用 Web API 的基本概念。Web...
在Android开发中,与WebAPI进行交互是常见的需求,例如获取服务器数据、发送用户信息等。本案例"Android请求WebAPI"将详细讲解如何在Android应用中实现这一功能。WebAPI通常指的是基于HTTP协议的RESTful API,允许...
在进行Android应用开发时,理解如何处理XML数据将会极大地丰富应用的功能性,使其可以有效地与Web服务进行数据交换。 随着Android技术的不断进步,处理XML的方法和技术也在不断地更新。开发者应当随时关注最新的...
这个场景中,我们关注的是"Android Stock实现数据发送",这涉及到多个技术点,包括网络通信、数据处理、多线程以及可能的数据安全问题。 首先,Android Stock实现数据发送通常涉及到网络请求。在Android中,我们...
在Android开发中,将XML数据解析并展示到ListView是一种常见的数据加载方式。在这个场景中,我们看到使用了PULL解析器来处理XML数据,并通过ListView显示。以下是详细的知识点讲解: 1. **PULL解析器**: PULL解析...
在Android平台上,将图片上传到Web服务器是一项常见的任务,尤其在开发涉及用户交互的应用时,如社交应用、电商应用等。这个"android上传图片到web服务器"的示例提供了使用HttpPost和MultiPartEntity方法实现这一...
本DEMO主要展示了如何使用cocos2d-x实现这一功能,特别是针对返回的XML数据进行解析。以下将详细阐述相关知识点。 首先,`cocos2d-x`是一个跨平台的游戏开发框架,基于C++编写,支持iOS、Android、Windows等多个...
Android WebServer可以用于本地应用测试、数据共享、设备间通信或者作为教育示例。例如,开发者可以利用它快速预览本地应用的网页内容,或者在没有公网IP的情况下,通过内网穿透技术让外部设备访问Android设备上的...
例如,你可以创建一个方法,该方法接收URL作为参数,然后使用HttpClient发送GET请求,获取返回的JSON或XML数据。 ```csharp async Task<string> GetDataFromApi(string apiUrl) { var client = new HttpClient(); ...
在IT行业中,将数据上传到Web服务器是一项基本且至关重要的任务,这通常涉及到网页表单提交、API接口交互以及文件传输。以下是一些关于“上传数据到Web服务器”的关键知识点: 1. **HTTP协议**:HTTP(超文本传输...
在移动应用开发中,Android平台经常需要与Web端进行数据交互,以便实现用户界面与服务器数据的同步。这个"Android与Web端交互源码"是一个非常实用的学习资源,特别是对于初学者来说,它能帮助理解如何在Android应用...
- **处理响应**:解析从Web API返回的JSON或XML数据,将其转化为Java对象,展示在Android UI上。 - **授权与安全**:如果Web API需要身份验证,可能需要实现OAuth、JWT等机制,确保通信安全。 4. **示例代码**:...