- 浏览: 129040 次
文章分类
最新评论
-
qzwlf:
Android(四)数据存储之五网络 -
jiaoshiyao:
...
http响应头介绍 -
cherishlive:
请问Standard MBean如何支持复杂类型,可否大概的讲 ...
JMX MBeans之三Open MBean -
nihongye:
...
JMX MBeans之三Open MBean -
discolt:
报错
javax.management.MBeanExcep ...
JMX MBeans之四Model MBean (1)
3.ClientService类
package com.changcheng.web.client.service;
import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.net.HttpURLConnection; import java.net.URL; import java.util.HashMap; import java.util.Map; import android.os.Environment; import android.util.Log;
public class ClientService {
private static final String TAG = "ClientService";
// 以get方式发送请求 public static void sendDataToServerByGet() throws Exception { // 主机地址不可以设置为localhost或127.0.0.1,必须是本机或其他机器所在Internet网或局域网地址。 String path = "http://192.168.0.2:8080/AndroidWebServer/server.do?" + "method=sendDataByGet&name=changcheng"; URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(6 * 1000); // 请求成功 if (conn.getResponseCode() == 200) { // 获取服务器返回的数据 byte[] data = readStream(conn.getInputStream()); Log.i(TAG, new String(data, "UTF-8")); } }
// 以Post方式发送请求,面向HTTP协议编程 public static void sendDataTOserverByPost() throws Exception { String path = "http://192.168.0.2:8080/AndroidWebServer/server.do"; String params = "method=sendDataByPost&name=tingting";// 请求参数 byte[] data = params.getBytes(); URL url = new URL(path); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setConnectTimeout(6 * 1000); conn.setDoOutput(true);// 发送POST请求必须设置允许输出 conn.setUseCaches(false);// 不使用Cache conn.setRequestMethod("POST"); conn.setRequestProperty("Connection", "Keep-Alive");// 维持长连接 conn.setRequestProperty("Charset", "UTF-8"); conn.setRequestProperty("Content-Length", String.valueOf(data.length)); conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded"); DataOutputStream outStream = new DataOutputStream(conn .getOutputStream()); outStream.write(data);// 以内容实体方式发送请求参数 outStream.flush(); outStream.close(); // 请求成功 if (conn.getResponseCode() == 200) { // 获取服务器返回的数据 byte[] html = readStream(conn.getInputStream()); Log.i(TAG, new String(html, "UTF-8")); } }
// 以表单方式发送请求 public static void sendDataToServerByForm() throws Exception { Map<String, String> params = new HashMap<String, String>(); params.put("method", "sendDataByForm"); params.put("strData", "字符串数据"); // 获取SDCard中的good.jpg File file = new File(Environment.getExternalStorageDirectory(), "app_Goog_Android_w.png"); FormFile fileData = new FormFile("app_Goog_Android_w.png", new FileInputStream(file), "fileData", "application/octet-stream"); HttpRequester.post( "http://192.168.0.2:8080/AndroidWebServer/server.do", params, fileData); }
// 获取输入流数据 private static byte[] readStream(InputStream inStream) throws Exception { byte[] buffer = new byte[1024]; int len = -1; ByteArrayOutputStream outStream = new ByteArrayOutputStream(); while ((len = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray(); outStream.close(); inStream.close(); return data; } } |
其中使用到的FormFile类:
package com.changcheng.web.client.service;
import java.io.InputStream;
/** * 上传文件 */ public class FormFile { /* 上传文件的数据 */ private byte[] data; private InputStream inStream; /* 文件名称 */ private String filname; /* 表单字段名称*/ private String formname; /* 内容类型 */ private String contentType = "application/octet-stream";
public FormFile(String filname, byte[] data, String formname, String contentType) { this.data = data; this.filname = filname; this.formname = formname; if(contentType!=null) this.contentType = contentType; }
public FormFile(String filname, InputStream inStream, String formname, String contentType) { this.filname = filname; this.formname = formname; this.inStream = inStream; if(contentType!=null) this.contentType = contentType; }
public InputStream getInStream() { return inStream; }
public void setInStream(InputStream inStream) { this.inStream = inStream; }
public byte[] getData() { return data; }
public void setData(byte[] data) { this.data = data; }
public String getFilname() { return filname; }
public void setFilname(String filname) { this.filname = filname; }
public String getFormname() { return formname; }
public void setFormname(String formname) { this.formname = formname; }
public String getContentType() { return contentType; }
public void setContentType(String contentType) { this.contentType = contentType; }
} |
发表评论
-
android博客
2010-10-11 10:23 870http://www.getideas.cn/?cat=4 -
在android的程序里面使用ROOT权限
2010-10-09 16:11 462/*** * 获取超级用户权限 ... -
Android经典教程
2010-10-09 15:52 24471、传智播客——Android开发(一)Android搭建、H ... -
Android(五)数据存储之五网络数据交互 3
2010-10-09 15:51 1493其中使用到的HttpRequester类: packa ... -
Android(五)数据存储之五网络数据交互 1
2010-10-09 15:49 2278昨天我们只对Android接收网络数据进行了简单介绍,今天我们 ... -
Android(四)数据存储之五网络
2010-10-09 15:48 1404既然是3G开发,网络重要性自然不必多说!Android的网 ... -
Android(四)数据存储之四ContentProvider 2
2010-10-09 15:47 10143.测试SQLite示例程序的ContentProvider ... -
Android(四)数据存储之四ContentProvider
2010-10-09 15:44 1287早上我们简要的对SQLite进行回顾,然后将SQLite的事务 ... -
Android(三)数据存储之三SQLite嵌入式数据库 3
2010-10-09 15:43 1553在mail.xml所在目录里添加一个contactitem.x ... -
Android(三)数据存储之三SQLite嵌入式数据库 2
2010-10-09 15:42 19554.编写ContactsService类 Co ... -
Android(三)数据存储之三SQLite嵌入式数据库 1
2010-10-09 15:40 1655前两篇日志我已经总结 ... -
Android(三) 数据存储之二 SharedPreferences
2010-10-09 15:39 1529在此之前的学习内容是数据存储之一文件存储。在本地存储中常用的有 ... -
Android(三)数据存储之XML解析技术 2
2010-10-09 15:38 1605二、Pull解析技术 Pull解析技术与Sax ... -
Android(三)数据存储之XML解析技术 1
2010-10-09 15:36 1492今日继续学习Android中使用Pull的XML解析技术实现对 ... -
Android(二)数据存储和访问 之文件 1
2010-10-09 15:35 1175package com.changcheng.file. ... -
Android(二)数据存储和访问 之文件 1
2010-10-09 15:32 1285今日重点内容是Adnroid的数据存储和访问。Android的 ... -
Android开发(一)发送短信程序
2010-10-09 15:31 1163一、创建 Android工程 Project name:Se ... -
Android开发(一)拨打电话程序
2010-10-09 15:30 1699一、创建 Android工程 Project name:Ca ... -
Android开发(一)Android搭建、HelloWorld
2010-10-09 15:29 1335万众瞩目,Android终于开课了。本课程有黎活明老师主讲,讲 ... -
Android开发如何利用Google map
2010-10-09 09:47 3898自google 06年进入中国,在地图、移动领域的发展速度基本 ...
相关推荐
在Android系统中,不同应用程序之间的数据交互是一个常见的需求,例如社交应用分享内容到其他应用,或者从浏览器打开一个链接在地图应用中查看。本篇主要介绍Android中简单的一次性数据交互,即如何通过Intent机制...
Android 数据存储 SQLite Android 数据存储是 Android 应用程序中的一个重要组件,它负责存储和管理应用程序中的数据。在 Android 中,有多种数据存储方式,包括 SharedPreferences、内部文件存储、SD 卡存储和 ...
在Android应用开发中,客户端与服务器端的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本主题将深入探讨Android客户端如何使用JSON进行数据交互,包括...
在IT行业中,Android和JSP的数据交互是移动应用开发中常见的技术组合,特别是在构建服务器-客户端架构的应用时。本文将详细讲解如何利用Android客户端通过HTTP协议与运行在J2EE平台上的服务器进行数据交换,以及如何...
在Android应用开发中,客户端与服务器之间的数据交互是不可或缺的一部分,它使得应用程序能够获取最新的信息、存储用户数据或实现各种在线功能。这个"Android客户端和服务器端数据交互Demo01.zip"应该包含一个示例...
"android 数据存储之 Network"这个主题主要关注如何在Android应用中有效地管理和存储从网络获取的数据。在这个话题中,我们将深入探讨几种常见的数据存储方法以及它们在网络数据处理中的应用场景。 1. **Shared ...
在Android应用开发中,本地数据存储是至关重要的一个环节,特别是在处理用户数据或者应用程序需要持久化数据时。本文将深入探讨Android系统中的文件存储机制,包括如何读取、写入、重写和删除.txt格式的文件。理解...
Android客户端与服务器数据交互是移动应用开发中的关键环节,它涉及到网络通信、数据传输、请求响应等多个方面。在这个过程中,客户端通常通过HTTP协议与服务器进行通信,HTTP协议基于TCP/IP协议,确保数据的可靠...
本章节将深入探讨Android中常见的数据存储方式,包括内部存储、外部存储、SQLite数据库、SharedPreferences、ContentProvider以及网络存储等。 首先,内部存储是Android为每个应用提供的私有存储空间,数据对其他...
在Android开发中,客户端与服务器端的数据交互是应用程序的核心功能之一。这个名为"Android客户端和服务器端数据交互Demo04.zip"的压缩包文件很可能是为了演示如何在Android应用中实现这种交互。以下是对这个主题的...
在Android平台上进行网络操作是应用程序开发中的重要环节,它允许应用与远程服务器进行数据交互,如获取用户信息、上传下载文件、同步数据等。本文将深入探讨“Android网络操作”的核心概念、常用方法以及如何利用...
在Android应用开发中,数据存储是一项至关重要的任务。Android提供了多种数据存储方式,以满足不同场景下的需求。本文将深入探讨Android应用中的数据存储...总的来说,这份源码将是你提升Android数据存储技能的好材料。
在Android设备和PC之间进行数据交互时,主要可以使用以下几种方式: 1. **Android Debug Bridge (ADB)**:ADB是Android SDK的一部分,允许开发者通过USB或无线网络连接到Android设备进行调试、安装应用和传输数据。...
综上所述,Android客户端与服务器通信并使用JSON进行数据交互是一个涉及网络编程、JSON处理、服务器框架理解等多个层面的复杂过程。在实际开发中,需要对每个环节都有深入的理解,才能有效地实现客户端与服务器的...
在Android开发中,数据存储是不可或缺的一部分,它允许应用程序持久保存和检索数据。本文将深入探讨Android的数据存储技术,包括几种主要的存储方式及其应用场景。 首先,我们有共享首选项(SharedPreferences)。...
下面将详细讲解这五种Android数据存储方式。 1. 文件存储: 文件存储是最基础的存储方式,适用于保存大量的文本、图片、音频等原始数据。Android提供`openFileOutput`和`openFileInput`方法,它们位于`Context`类...
综上所述,"android和tomcat文件上传和数据交互"这个主题涵盖了Android客户端开发、网络编程、文件操作、Struts2框架的使用、Tomcat服务器配置、以及JSON或XML数据交换等多个技术点。在实际项目中,开发者需要熟练...
以上就是Android应用与服务器交互的基本知识点,涵盖了从网络请求到数据处理的整个流程。通过学习和实践,开发者可以构建出高效、稳定的客户端-服务器应用程序。在实际项目中,还可能涉及到更多高级概念,如数据缓存...