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

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需要添加权限。

分享到:
评论

相关推荐

    实验六、数据存储和访问(一).docx

    android studio应用程序开发作业,实验数据存储和访问。1、制作启动界面如下图所示 2、选择“教师”,点击“登录”按钮,使用保存在SharedPreferences里的帐号信息验证用户名和密码。登录成功后跳转到如下界面。

    Android手机交互应用开发创意之钥 源代码

     第10章 数据存储  10.1 shared preferences  第11章 无线网络通信  11.1 初认识无线局域网  11.2 socket通信  11.3 android与javaschpt交互  第2章 goog-emap与gps  12.1 初认识google map api  12.2 申请...

    Android Studio DuDuMusic实例及源码 音乐播放器实现SQLite用户注册登录 管理员服务器数据交互

    3.实现了管理员登录,使用的是与Tomcat服务器进行数据交互验证信息的正确性,我使用的是myeclipse进行布置的服务器信息,此时使用的是SQLserver 2008 数据库存储的管理员的信息,读取完以后然后返回到管理界面 ...

    在Unity中获取Android系统的Sensor数据.zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    基于Android studio实现的安卓锻炼跑步app源码,使用安卓自带的realm数据库来储存数据

    一款使用安卓自带的realm数据库来储存数据的锻炼跑步app,Realm自带数据库加密,需要64位字节数据进行加密。指定数据库的密钥后,用户可以安全地存储自己的锻炼数据,而且可以通过注销的方式来自己清除本地的数据,...

    NBA数据分析系统(Android客户端代码)- -.zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    基于Electron的交通时空大数据分析挖掘系统客户端(Android).zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    Android程序设计教程 (丁山 编) pdf

    本书大致可以分成两个部分,第一部分为基础篇,主要介绍Android操作系统概况、Android生命周期与组件通信、Android用户界面设计、Android数据存储与交互、Android后台服务与事件广播、媒介与网络、AndroidNDK,...

    Js与Native交互函数封装,适配了Android与iOS系统.zip

    Js与Native交互函数封装,适配了Android与iOS系统,模仿微信公众号jssdk,前端可以通过CDN方式引用Js文件 软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等...

    《Android系统回顾(八):网络通信(三)》源码.zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    基于Android的个人理财系统的设计与实现(源码+数据库+文档+截图).zip

    阐述了基于Android平台的个人理财软件的设计与实现过程,系统基于Android平台,采用Java语言开发,通过XML文档进行界面编程,并通过相应的Activity与后台Service实现指定功能,且实现了对数据的图形处理,数据存储与...

    android开发入门与实战(下)

    8.1 Android数据存储概述 8.2 轻轻地我保护——SharedPreferences存储 8.3 谁的文件,谁主宰——文件存储 8.4 打造自己的数据库存储——SQLite存储方式 8.4.1 Android中对数据库操作 8.4.2 完整地操作数据库——日记...

    Cinema Management System in Android(影院管理系统 Android 版).zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    android签到系统.zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    DataManagement:用于轻松存储对象的 Android 本地数据库库

    它消除了编写单独的类来管理数据库-对象交互的需要,并允许开发人员使用简单的方法来存储、查询、更新和删除对象。 该库能够存储类的所有对象,这些类的实例变量要么是原始数据类型,要么本身就是另一个可存储类的...

    小方便APP生活工具,纯Android原生开发支持Android9.0系统以上。.zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    android系统 Gps模拟.zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    Android Diary日记系统.zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

    Android系统 时钟 APP.zip

    6. 数据存储:Android 提供了多种数据存储方式,包括 SQLite 数据库、文件存储、SharedPreferences 等。 7. 网络通信:Android 支持多种网络通信方式,包括 HTTP、TCP、UDP 等。 8. 社交媒体集成:Android 提供了...

Global site tag (gtag.js) - Google Analytics