1、中文 2580字 文献出处: Wei H . Mobile Webserver to the Android PlatformM/ Affective Computing and Intelligent Interaction. Springer Berlin Heidelberg, 2012. 面向 安卓平台的移动网络服务器 Huchengwei 摘要: Android 是一款完全基于 Linux2.6 内核版本的操作系统。 Android 系统的主要发展目标是移动手机领域,包括智能手机和价格低廉的触屏设备。 Jetty是一项提供 HTTP 服务的开源项目, HTTP 客户端和 javax.
2、sevlet 容器。基于安卓端的 i-Jetty 版本是作为服务器程序加载到 Android,称为 Webtide。 一旦加载完成,他就能够远程通过手机来访问台式电脑。在本文章中,将介绍面向安卓平台的 Jetty 网络服务器。 关键词: Android、 Jetty,移动网络服务器, eclipse, Linux,开 源 I.介绍 自引入谷歌介绍的移动手机开源 Android 平台后,就已经出现了大量基于网络或者是网络承载的应用开发。其中最重要的一项应用就是 在移动设备上提供网络服务,被称为移动依托的 Web 服务,外部应用所请求的网络服务是由移动设备所提供的。 Jetty被设计成单机网络服务
3、器或者作为动态内容服务器作用在一个专用的 HTTP服务器之后,比如 Apache。基于 Android 的 i-Jetty版本是被加载在 Android系统上作为服务程序的,被称为 Webtide(基于 Web 的服务小程序)。它能够使得台式电脑通过函数调用远 程接入手机, i-Jetty 用户也可以通过构建公开访问移动网络服务器。这种潜在性与诺基亚的技术相比,i-Jetty 的可能性更大,这是因为 i-Jetty 是一种全功能的 Java 应用服务器,而不是作为传统的网页服务器。例如, i-Jetty 支持网页服务技术,比如 AJAX(异步 Java 脚本和 XML),加快支持 AJAX 应
4、用(例如像 谷歌地图这样的应用 )的交互过程 。 II.Android 平台 随着 Android 系统的能力范围越来越广,它很容易与桌面操作系统相混淆。 Android 是一个运行在 Linux内核上的移动操作系统,它包含丰富的功能。 Android系统最初是由 Android公司开发的,这个公司后来被谷歌公司收购,随后属开放手机联盟。它允许开发人员编写Java 语言可执行代码,通过谷歌开发的 Java 函数库来控制设备设备。 Android 系统依赖于 Linux2.6 版本作为核心系统服务,比如安全、存储管理、进程管理、网络堆栈和驱动模型。这个核心系统是作为介于硬件和剩余软件栈之间的抽象
5、层。 Android系统包含用于该系统各种组件的 C/C+函数库。这些功能是通过 Android 应用狂街对开发人员可见的。 下图 1 简单的描述了 Android 软件层次。 应用层 应用 框架层 函数库 图形 、多媒体、数据库 等 Android运行时 虚拟机 Linux核心层 电源、文件系统、驱动、进程管理等 图 1.Android 系统软件层次 正如图中描述的那样, Android 系统运行在 Linux 核心层之上。 Android 应用是 Java 编程语言编写的,在虚拟机上运行。但需要指出的是这里的虚拟机并不是你所认为的 Java 虚拟机( JVM),而是 Dalvik Virt
6、ual Machine,一项开源技术。每一个安卓应用都运行一个 DVM 实例,在 Linux 核心系统进程管理下轮流运行,如下图 2 所示 。 图 2.Dalvik 虚拟机 一个 Android 应用程序有以下一个或多个组件构成: Activities: 一个应用程序包含继承一个 activity 的可视 UI。当用户从主屏幕或者应用启动器选择一个应用的时候,一个 activity 就启动了。 Services: 服务应该是任何一个应用程序使用的需要留存一段时间的,就如一个网络监视器或者确认更新应用。 Content Providers: 你可以把内容提供者看作是一项数据服务器。内容提供者的工作是提供持续的数据访问,比如 SQLite 数据库。如果你的应用程序非常简单,你可能没有必要创建内容提供者。如果你正在创建一个比较大型的应用程序,或者需要将数据共享给多个 activity 或应用程序的话,内容提供者是一种接入访问你的数据的一种有效途径。 Broadcast Receivers: Android 应用程