跳转到主要内容

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。

所有提交的信息确保安全。

  • 关闭 [x]

当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

所有提交的信息确保安全。

  • 关闭 [x]

使用 Android 和 XML 构建动态用户界面

使用一个 Android 表单引擎收集数据

Frank Ableson, 企业家, MSI Services, Inc.
W. Frank Ableson 是一名企业家,同他的妻子和孩子住在新泽西北部,他的专业兴趣包括移动软件和嵌入式设计。他是 揭密 Android 一书(Manning Publications,2010)的作者,也是 Linux Magazine 的移动编辑。

简介:  有几个网站从事一些非盈利服务,提供一些可轻松设置和使用的表单来进行民意测验和数据收集。本教程介绍一个简单的架构来为 Android 设计类似的应用程序 — 允许非编程员从移动用户收集数据的动态用户界面。在本教程中,您将创建一个拥有服务器端和移动端的示例表单引擎。

发布日期:  2010 年 12 月 22 日
级别: 中级

访问情况 : 38676 次浏览

开始之前

为更好地利用本文,您应该使用 Android SDK 来构造 Android 应用程序。完成本文之后,您将了解如何使用 HTTP(S) 执行从应用程序到 web 服务器的通信,以及如何使用 DOM 解析器解析 XML。在此过程中,您将创建自定义和动态的用户界面布局、多线程通信、消息处理程序、以及进程对话框。至少,您将了解 AndroidManifest.xml 和服务器端脚本编写。

关于本教程

常用缩略词

  • API:应用程序编程接口
  • DOM:文档对象模型
  • HTML:超文本标记语言
  • HTTP(S):超文本传输协议安全
  • IDE:集成开发环境
  • SAX:XML 的简单 API
  • SDK:软件开发工具包
  • UI:用户界面
  • URL:统一资源定位符
  • XML:可扩展标记语言

本教程介绍一个用于在 Android 设备上进行移动数据收集的动态表单的架构。我将首先介绍一个高级架构,讨论这样一个应用程序在数据收集的大环境中的应用。快速浏览这个已完成的项目,包含每个源文件,对本教程将要介绍的内容有一个大概了解。就像 “厨艺展示” 一样,您使用一些 Java 类从头开始构建这个应用程序,每个 Java 类都被小心引入并关联到应用程序的其他方面,其中最显著是一个数据模型,这个表单引擎就是基于它构造的。最后,您将表单数据保存在服务器上并简单地查看应用程序的服务器端。


先决条件

表 1 显示了这个项目需要的工具。


表 1. 这个作业需要的工具
工具注释
Eclipse 和 ADT主代码编辑器和 Android Developer Tools Plugin
Android SDKAndroid Software Developer 工具包
Web 服务器所有支持 PHP 的。您可以将脚本轻松移植到另一个服务器环境。

我使用 Eclipse 3.4.2 和 Android SDK version 8(支持标签为 2.2 的 Android 发行版)在 MacBook 上创建了本教程的样例代码。本教程代码没有利用这个 SDK 的任何特定特性,这个应用程序应该能够在上溯到 1.5 版的所有 Android 版本上正常运行。参见 参考资料 中所有这些工具的链接。

1 页,共 12 | 后一页

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=XML, Web development
ArticleID=604551
TutorialTitle=使用 Android 和 XML 构建动态用户界面
publish-date=12222010
author1-email=fableson@msiservices.com
author1-email-cc=