在安卓应用程序上建立并使用数据库外文翻译资料

 2022-12-06 15:13:51

英语原文共 8 页,剩余内容已隐藏,支付完成后下载完整资料


在安卓应用程序上建立并使用数据库

摘要:本文提出了在安卓平台上开发移动或非移动端应用程序的概述。安卓平台包含了一款流行的开源的SQLite数据库,该数据库已经在使用中取得了巨大的成功,作为磁盘文件格式,其允许开发人员以一种简单的方式处理数据,并且具有数据库的使用特征(例如:撤销,重做等)。

关键词:安卓;安卓平台;SQLite数据库

1 引言:安卓

安卓是由谷歌公司开发的可以在手机设备上运行多线程应用程序的由操作系统、中间件、核心应用程序组成的开源软件集合。它的操作环境完全基于Linux2.6版本的内核之上。最初,安卓的部署目标是手机领域,例如:智能手机和廉价的翻盖手机。

在安卓平台上,开发者可以充分利用手机上网的所有功能来创造出新的、有创意的手机应用程序。作为完整的手机平台,安卓提供了一整套包含强大的操作系统、综合类库集合、丰富的多媒体应用接口及手机应用程序的通用集合。因为安卓平台包含了流行的开源SQLite数据库,所以数据存储负担较轻。SQLite是实现了SQL引擎的软件库。SQLite在磁盘文件格式使用取得了巨大的成功:不仅允许开发者用一种简单的方式去处理数据,而且包含数据库的使用特征(例如:撤销,重做等)。在嵌入式设备中,处理并发性较低、数据集较小或中等大小的情况下,SQLite是很适合的选择。

本文中,我们讨论了安卓平台的概述,架构以及安卓应用程序。我们也将讨论安卓特殊的数据库SQLite存储数据的方式。

本文其他部分组织如下:第二章论述了安卓平台的概述;第三章讲述了安卓中数据库的使用;其他数据库在安卓中的使用会在第四章论述;第五章为总结结束语。

2 安卓平台概述

安卓是一系列为手机设备提供的软件集合,包含操作系统,中间件以及核心应用程序,以及全新的谷歌手机平台。它的操作环境完全基于Linux2.6版本的内核之上,提供了一套包含强大的操作系统、综合类库集合、丰富的多媒体应用接口及手机应用程序的通用集合。

在安卓平台上,开发者可以充分利用手机上网的所有功能来创造出新的、有创意的手机应用程序。安卓平台最先由谷歌公司开发,后来开放手机联盟(OHA) 也参与其中。

开放手机联盟是一些手机和技术公司组成的团体,他们致力于加速手机的革新,为消费者提供更丰富、更廉价,以及更好的手机体验。

在安卓平台上使用Java编程语言开始开发应用程序时,安卓SDK提供了必要的工具和接口。安卓是一个多线程系统,每个程序(以及其系统的每部分)都运行其自身的线程。应用程序和系统间的安全性保证通过标准Linux设备执行线程级别,例如用来标识应用程序的用户和组的ID。

通过“权限”机制提供了额外的更为细致的安全特性,在特定的操作中执行限制条件,使得特殊的线程可以执行,在临时访问特定的数据块时,授予per-URI权限。

2.1 安卓体系结构

Linux内核。安卓依赖Linux 2.6版本的核心系统服务,比如安全机制、内存管理、进程管理、网络堆和驱动模型。内核也扮演着其他软件堆与硬件之间的抽象层角色。

库。安卓提供了一组C/C 库,它们为平台的不同组件所使用。开发人员通过应用程序框架来使用这些库所提供的不同功能。

(1)系统C库:一个从标准C库中实现的BSD-衍生库。专为基于Linux的嵌入式设备进行了调整。

(2)多媒体库:基于PacketVideos OpenCORE(轻便的视频开放核);这些库支持回放及录制多种流行的音视频格式和静态图像文件;包括了MPEG4, H.264, MP3, AAC,AMR,JPG和PNG。

(3)表面管理器:管理访问显示子系统,并无缝合成来自多应用程序的2D和3D图层。

(4)网络核库:一个现代化的网络浏览器引擎,它全力支持Android浏览器及一个可嵌入的Web view。

(5)SGL:底层2D图形引擎。

(6)3D库:一个基于OpenGL ES 1.0 APIs实现,这些库既可使用硬件3D加速(可用)或者也可用它包括的高优化的3D软件渲染器(rasterizer)FreeType--位图和向量字体渲染引擎。

(7)SQLite :一个强大的,轻量级的关系数据库引擎,可用于所有的应用程序。

安卓运行时。安卓包含了核心库,其中提供了Java语言核心库中包含的大部分功能。

每个安卓应用,运行在它自己的进程中,拥有自己的Dalvik虚拟机实例。为了一个设备能高效的运行多个VM虚拟机,Dalvik已被重写。Dalvik执行.dex格式的可执行文件,这种格式专为最小内存优化。

应用程序框架。通过提供一个开放的平台,安卓赋予了开发者去开发及其丰富、有新意的应用程序的能力。开发者能任意的发挥硬件设备的优点,访问本地信息,运行后台服务,设置闹钟,给状态栏增加通知等等。

应用程序。安卓将装载一套核心应用,包括Email客户端、SMS程序、日历、地图、浏览器、通讯录等。这部分程序均使用Java语言编写。

2.2 安卓应用程序

安卓运行在Linux内核之上。安卓应用程序使用Java编程语言编写,并在虚拟机(VM)内运行。每个安卓应用程序中都有Dalvik虚拟机(开放源码技术)的实例,反过来驻留在一个Linux 内核中管理进程的运行。

一个安卓应用程序由以下一个或多个类型组成:

(1)活动。安卓应用程序通过活动实现了可见的UI界面。当用户从主屏幕或者应用启动栏选择了一个应用程序,活动就开始了。

(2)服务。服务可在任何应用程序中使用,可以持续很长时间,例如:网络的检测或者应用程序的检测更新。

(3)内容提供者。你可以将内容提供者理解为一个数据库服务器。内容提供者负责去获取使用一些永久保存的数据,例如SQLite数据库。如果你的应用程序非常简单,你可能没有必要去创建一个内容提供者。如果你创建了一个大型的应用程序,或者将在不同活动和应用程序之间实现数据的交互,内容提供者是一种解决获取数据的有效方式。

(4)广播接收器。安卓应用程序可以启动去处理一小部分数据或是对某个活动作出回应,例如:接受文本消息。

安卓应用程序携带了一个称为AndroidManifest.xml的文件,将部署到设备上。AndroidManifest.xml包含了正确安装到设备上的必要的配置信息。它包含了所需要的类名,应用程序可以处理的事件的种类,以及应用程序运行时所需要的权限。举个例子:如果一个应用程序需要使用到网络,例如:从网上下载文件,那么在资源配置文件中必须明确的规定具有网络的权限。许多应用程序都可以拥有这种特别的权限。这种宣言式的安全说明可以减少流氓软件对你的手机设备造成损坏的可能性。

3 安卓应用程序数据库

每个安卓应用程序的命脉就是其数据库。我们需要数据库系统去存储数据,除非应用程序只是处理一些简单的数据。安卓使用SQLite数据库系统,该数据库是一种开源的,独立的SQL数据库,被广泛的应用于众多流行的应用程序中。SQLite是一种轻量级事务性的数据库引擎,占据很小的磁盘存储空间和内存。因此,对于例如安卓或者IOS的许多移动端操作系统而言,创建SQLite数据库是一个非常完美的选择。

该数据库为某个应用程序创建,则只有该应用本身可以访问使用该数据库,其他应用程序无法访问它。一旦被创建,SQLite数据库将会被存储在安卓设备的/data/data/lt;package_namegt;/databases文件夹中

3.1 什么是SQLite

SQLite是嵌入到安卓中的开源的数据库。SQLite支持标准的关系型数据库的特征,例如:SQL语言,事务,预处理语句。此外,在运行的时候只需要非常少的内存(大约250千字节)。SQLite是实现了独立的,无服务器的,零配置的,事务型的SQL数据库引擎的软件库。在全世界SQLite是部署最广泛的SQL数据库引擎。

SQLite支持TEXT (类似于Java中的字符串)、INTEGER(类似于Java中的长整形)、REAL(类似于Java中的双精度的数据类型)。在将其他数据类型存储到数据库前,必须先将它们转化成这几种数据类型。

如果写入到列中的数据类型就是已经定义的数据类型,SQLite本身是不验证的,例如:将整数类型写入字符串类型的列中,反之亦然。

SQLite在每部安卓设备上都是可用的。在安卓上使用SQLite数据库不需要任何安装或管理数据库。创建和更新数据库的SQL语句必须被唯一声明,数据库将在安卓平台上自动为用户设置好。

3.2 使用SQLite数据库

安卓提供对SQLite数据库全部的支持。任何创建的数据库可以通过数据库名被应用程序中的任意的类访问,但是应用程序之外的类无法访问。

推荐创建新SQLite数据库的方式是创建SQLiteOpenHelper的子类并重写onCreate方法。接下来,在数据库中执行SQLite指令创建表。图4展示了一个例子。

你可以得到一个实现了SQLiteOpenHelper的实例,其构造方法已被定义好。在数据库中读出或写入数据时,分别调用getWritableDatabase()和getReadableDatabase()方法。两者都可以返回一个SQLiteDatabase对象,代表了数据库并提供了SQLite操作的方法。

可以使用SQLiteDatabase的query()方法去执行SQLite查询,可以接受各种各样的查询参数,例如:查询表、映射、选择、列数、分组等。对于复杂查询,例如:需要使用到别名的列,可以使用SQLiteQueryBuilder,在使用查询时,可以提供许多简单便捷的方法。

每个SQLite查询都将返回一个指向查询出的所有的行的指针。指针机制总是可以在从数据库中查询,在读取行和列的结果中起导航作用。

4 其他数据库

安卓的Cellica数据库允许在安卓设备上查看和更新数据库内容。它也可以与Microsoft Access、 Microsoft Excel以及其他符合ODBC的例如Oracle、SQL Server等数据库进行同步。软件包由两部分软件组成:在微软Windows系统上运行的桌面Cellica数据库(服务器),在安卓设备上运行的安卓Cellica数据库(客户端)。桌面端软件是用来为安卓手机/平板电脑创建数据库配置文件(创建数据库列表),根据手机/平板电脑的同步设置,数据将与安卓手机/平板电脑进行同步。

安卓手机/平板上的Cellica数据库的特征包含可以与安卓手机/平板无线同步数据,查看更新数据,使用SQL选择查询、过滤器、字段排序、相应数据同步、密码保护支持、形式支持、自定义数据库创建等等。

Memento是一种允许安卓用户在某处存储全部私人数据的个人数据库。记录可以被谷歌文档同步。例如:Memento操纵集合、采集、存储、方法、任务。主要的特点包括使用自定义字段存储记录、排序、分组,可通过任何字段,密码保护,与谷歌文档的同步过滤记录,通过SMS、邮件、以及其他可用的设备传送记录、条形码扫描、回收记录、重新存储数据等等。

5 结论

安卓是一系列为手机设备提供的软件集合,包含操作系统,中间件以及核心应用程序。在安卓平台上使用Java编程语言开始开发应用程序时,安卓SDK提供了必要的工具和接口。安卓提供对SQLite数据库全部的支持。任何创建的数据库可以通过数据库名被应用程序中的任意的类访问,但是应用程序之外的类无法访问。

因为安卓平台包含了流行的开源SQLite数据库,所以数据存储负担较轻。SQLite是实现了SQL引擎的软件库。SQLite在磁盘文件格式使用取得了巨大的成功:不仅允许开发者用一种简单的方式去处理数据,而且包含数据库的使用特征(例如:撤销,重做等)。在嵌入式设备中,处理并发性较低、数据集较小或中等大小的情况下,SQLite是很适合的选择。

剩余内容已隐藏,支付完成后下载完整资料


资料编号:[28793],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。