`
minghaitang
  • 浏览: 129055 次
社区版块
存档分类
最新评论

Android(五)数据存储之五网络数据交互 1

阅读更多

昨天我们只对Android接收网络数据进行了简单介绍,今天我们完成了Android数据存储网络部分的所有内容。在此我将对这非常重要的内容进行总结。

 

       本篇日志是对AndroidWEB应用服务之间进行数据交互的总结,下篇日志是一个经典而又让人十分好奇的Android多线程断点下载应用的总结。下面我们开始Android与网络数据的交互。

 

一、创建WEB应用服务

       使用eclipse3.5创建一个动态WEB应用,使用Struts1处理用户请求。我们此应用添加一个DispatchAction,并为它添加四个方法创建用于处理Android以各种方式提交的请求。

 

       1.创建动态WEB工程

       Project name:AndroidWebServer

       Target runtime:Apache Tomcat v6.0

       Dynamic web module version:2.5

       Configuration:Default Configuration for Apache Tomcat v6.0

 

       2.添加DispatchAction

package com.changcheng.web.struts.actions;

 

import java.io.File;

import java.io.FileOutputStream;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;

import org.apache.struts.action.ActionForward;

import org.apache.struts.action.ActionMapping;

import org.apache.struts.actions.DispatchAction;

import com.changcheng.web.struts.forms.DataForm;

 

public class AndroidWebServer extends DispatchAction {

 

         // AndoirdGet方式发送的请求

         public ActionForward sendDataByGet(ActionMapping mapping, ActionForm form,

                            HttpServletRequest request, HttpServletResponse response)

                            throws Exception {

                   String name = request.getParameter("name");

                   request.setAttribute("message", "Hello " + name);

                   return mapping.findForward("success");

         }

 

         // AndoirdPost方式发送的请求

         public ActionForward sendDataByPost(ActionMapping mapping, ActionForm form,

                            HttpServletRequest request, HttpServletResponse response)

                            throws Exception {

                   String name = request.getParameter("name");

                   request.setAttribute("message", "Hello " + name);

                   return mapping.findForward("success");

         }

                  

         // Andoird以表单方式发送的请求

         public ActionForward sendDataByForm(ActionMapping mapping, ActionForm form,

                            HttpServletRequest request, HttpServletResponse response)

                            throws Exception {

                   DataForm formbean = (DataForm) form;

                   System.out.println("StrData:" + formbean.getStrData());

                   // 获取上传的文件

                   if (formbean.getFileData() != null

                                     && formbean.getFileData().getFileSize() > 0) {

                            // 设置保存目录

                            File dir = new File(request.getSession().getServletContext()

                                               .getRealPath("/images"));

                            if (!dir.exists())

                                     dir.mkdirs();

                            // 保存文件

                            FileOutputStream outStream = new FileOutputStream(new File(dir,

                                               formbean.getFileData().getFileName()));

                            outStream.write(formbean.getFileData().getFileData());// 保存文件

                            outStream.close();

                   }

                   return null;

         }

}

 

       3.web.xml添加Struts1ActionServlet

<servlet>

         <servlet-name>struts</servlet-name>

         <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>

         <init-param>

                   <param-name>config</param-name>

                   <param-value>/WEB-INF/struts-config.xml</param-value>

         </init-param>

</servlet>

<servlet-mapping>

         <servlet-name>struts</servlet-name>

         <url-pattern>*.do</url-pattern>

</servlet-mapping>

 

       4.struts-config.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE struts-config PUBLIC

          "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN"

          "http://struts.apache.org/dtds/struts-config_1_3.dtd">

 

<struts-config>

         <form-beans>

                   <form-bean name="dataForm" type="com.changcheng.web.struts.forms.DataForm" />

         </form-beans>

         <action-mappings>

                   <action path="/server"

                            type="com.changcheng.web.struts.actions.AndroidWebServer" name="dataForm"

                            scope="request" parameter="method">

                            <forward name="success" path="/WEB-INF/pages/success.jsp"/>

                   </action>

         </action-mappings>

</struts-config>

 

 

二、创建Android应用

       1.创建Android工程

       Project name:AndroidWebClient

       BuildTarget:Android2.1

       Application name:AndroidWEB应用客户端

       Package name:com.changcheng.web.client

       Create Activity:AndroidWebClient

       Min SDK Version:7

 

       2.AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

       package="com.changcheng.web.client" android:versionCode="1"

       android:versionName="1.0">

       <application android:icon="@drawable/icon" android:label="@string/app_name">

              <!-- 单元测试 -->

              <uses-library android:name="android.test.runner" />

              <activity android:name=".AndroidWebClient" android:label="@string/app_name">

                     <intent-filter>

                            <action android:name="android.intent.action.MAIN" />

                            <category android:name="android.intent.category.LAUNCHER" />

                     </intent-filter>

              </activity>

 

       </application>

       <uses-sdk android:minSdkVersion="7" />

       <!-- 访问internet权限 -->

       <uses-permission android:name="android.permission.INTERNET" />

       <!-- SDCard中创建与删除文件权限 -->

       <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />

       <!-- SDCard写入数据权限 -->

       <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

       <!-- 单元测试 -->

       <instrumentation android:name="android.test.InstrumentationTestRunner"

              android:targetPackage="com.changcheng.web.client" android:label="Tests for My App" />

</manifest>

       Android应用要访问Internet需要添加权限。

分享到:
评论

相关推荐

    android中不同app间数据交互(1、简单一次性数据交互)demo

    在给定的"android中不同app间数据交互1"的源码中,可能包含了一个简单的应用A向另一个应用B发送数据的示例。应用A通过Intent封装数据并启动应用B的Activity,应用B则负责接收并处理这些数据。具体实现细节可能包括...

    Android数据存储SQLite.docx

    Android 数据存储 SQLite Android 数据存储是 Android 应用程序中的一个重要组件,它负责存储和管理应用程序中的数据。在 Android 中,有多种数据存储方式,包括 SharedPreferences、内部文件存储、SD 卡存储和 ...

    Android客户端与服务器端的json数据交互(内含大量知识点)

    在Android应用开发中,客户端与服务器端的数据交互是不可或缺的一部分,JSON作为一种轻量级的数据交换格式,被广泛用于Android和服务器之间的通信。本主题将深入探讨Android客户端如何使用JSON进行数据交互,包括...

    Android与JSP数据交互

    在IT行业中,Android和JSP的数据交互是移动应用开发中常见的技术组合,特别是在构建服务器-客户端架构的应用时。本文将详细讲解如何利用Android客户端通过HTTP协议与运行在J2EE平台上的服务器进行数据交换,以及如何...

    Android客户端和服务器端数据交互Demo01.zip

    在Android应用开发中,客户端与服务器之间的数据交互是不可或缺的一部分,它使得应用程序能够获取最新的信息、存储用户数据或实现各种在线功能。这个"Android客户端和服务器端数据交互Demo01.zip"应该包含一个示例...

    android 数据存储之 Network

    "android 数据存储之 Network"这个主题主要关注如何在Android应用中有效地管理和存储从网络获取的数据。在这个话题中,我们将深入探讨几种常见的数据存储方法以及它们在网络数据处理中的应用场景。 1. **Shared ...

    Android本地数据存储之文件存储读写

    在Android应用开发中,本地数据存储是至关重要的一个环节,特别是在处理用户数据或者应用程序需要持久化数据时。本文将深入探讨Android系统中的文件存储机制,包括如何读取、写入、重写和删除.txt格式的文件。理解...

    Android客户端与服务器数据交互流程.pdf

    Android客户端与服务器数据交互是移动应用开发中的关键环节,它涉及到网络通信、数据传输、请求响应等多个方面。在这个过程中,客户端通常通过HTTP协议与服务器进行通信,HTTP协议基于TCP/IP协议,确保数据的可靠...

    android数据访问与存储

    本章节将深入探讨Android中常见的数据存储方式,包括内部存储、外部存储、SQLite数据库、SharedPreferences、ContentProvider以及网络存储等。 首先,内部存储是Android为每个应用提供的私有存储空间,数据对其他...

    Android客户端和服务器端数据交互Demo04.zip

    在Android开发中,客户端与服务器端的数据交互是应用程序的核心功能之一。这个名为"Android客户端和服务器端数据交互Demo04.zip"的压缩包文件很可能是为了演示如何在Android应用中实现这种交互。以下是对这个主题的...

    android网络操作

    在Android平台上进行网络操作是应用程序开发中的重要环节,它允许应用与远程服务器进行数据交互,如获取用户信息、上传下载文件、同步数据等。本文将深入探讨“Android网络操作”的核心概念、常用方法以及如何利用...

    Android应用源码之Android学习之数据存储

    在Android应用开发中,数据存储是一项至关重要的任务。Android提供了多种数据存储方式,以满足不同场景下的需求。本文将深入探讨Android应用中的数据存储...总的来说,这份源码将是你提升Android数据存储技能的好材料。

    使用USB数据线连接PC端和Android端进行数据的交互.rar

    1. **Android Debug Bridge (ADB)**:ADB是Android SDK的一部分,允许开发者通过USB或无线网络连接到Android设备进行调试、安装应用和传输数据。开发者可以在命令行中使用ADB命令来操作设备。通过`adb connect`命令...

    Android客户端与服务器通信+json交互数据

    综上所述,Android客户端与服务器通信并使用JSON进行数据交互是一个涉及网络编程、JSON处理、服务器框架理解等多个层面的复杂过程。在实际开发中,需要对每个环节都有深入的理解,才能有效地实现客户端与服务器的...

    Android 数据存储技术

    在Android开发中,数据存储是不可或缺的一部分,它允许应用程序持久保存和检索数据。本文将深入探讨Android的数据存储技术,包括几种主要的存储方式及其应用场景。 首先,我们有共享首选项(SharedPreferences)。...

    AndRoid五种存储方式

    下面将详细讲解这五种Android数据存储方式。 1. 文件存储: 文件存储是最基础的存储方式,适用于保存大量的文本、图片、音频等原始数据。Android提供`openFileOutput`和`openFileInput`方法,它们位于`Context`类...

    Android与服务器交互

    以上就是Android应用与服务器交互的基本知识点,涵盖了从网络请求到数据处理的整个流程。通过学习和实践,开发者可以构建出高效、稳定的客户端-服务器应用程序。在实际项目中,还可能涉及到更多高级概念,如数据缓存...

    Android手机访问服务器的一种数据交互方法

    在移动互联网时代,Android作为主流的移动操作系统之一,在其应用程序开发过程中,与服务器进行高效稳定的数据交互是至关重要的。本文将详细解析一种适用于Android设备与服务器之间数据交互的方法,并结合具体的技术...

Global site tag (gtag.js) - Google Analytics