当前位置:首页>> >>


基于Android的英文词典的设计与开发.rar

收藏

资源目录
    文档预览:
    编号:20180824111437586    类型:共享资源    大小:5.60MB    格式:RAR    上传时间:2018-08-24
      
    80
    金币
    关 键 词:
    基于 Android 英文 词典 设计 开发
    资源描述:
    本科生毕业设计(论文)I基 于 Android 的 英 文 词 典 的 设 计 与 开 发 摘 要本文阐述了在 Android 平台下电子词典软件的设计与实现过程。其目的是让人们能够在基于 Google Android 平台的移动设备上享用英汉词汇翻译功能。系统实现了英汉词汇查询、添加,删除等功能。在词汇存储及检索方面,系统使用了 Android 内置的小型嵌入式数据库Sqlite 的开发接口,支持单词的模糊检索和词库导入功能。平台基于 Java 语言开发完成,在不同型号的设备模拟器上测试通过。关键词 英文词典;Android;Eclipse;Java本科生毕业设计(论文)IIBased on the design and development of the Android English Dictionary ABSTRACTIn this paper, we describe that electronic dictionary software for the design and implementation process in Google android platform. Its purpose is the development of this platform under the English-Chinese electronic dictionary translation features the design and implementation, It’s default use of small embedded database -Sqlite,the platform’s language is java programming language and use the platform provided by the simulator. enabling users facilitate to use any simple functions that the English words for the Chinese explained what the software achieved words’ addition, delete, modify on mobile phones. The software design and development based on the java language.KEY WORDS English Dictionary;Android;Eclipse;Java本科生毕业设计(论文)III目 录第 1 章 绪论 ............................................................................11.1 系统开发背景 ...................................................................1第 2 章 系统概述 ........................................................................22.1 Android 平台结构 ...............................................................22.2 Android 应用程序框架 ...........................................................42.3 系统需求分析 ...................................................................5第 3 章 系统设计 ........................................................................63.1 系统需要解决的主要问题 .........................................................63.2 系统功能框架 ...................................................................63.3 系统总体流程图 .................................................................83.4 系统关键技术 ...................................................................93.5 数据库的设计 ...................................................................9第 4 章 系统实现 .......................................................................114.1 查询模块的实现 ................................................................114.2 添加模块的实现 ................................................................124.3 删除模块的实现 ................................................................134.4 装载模块的实现 ................................................................144.5 系统交互界面的实现 ............................................................15第 5 章 系统部署与安装 .................................................................175.1 相关下载 ......................................................................175.2 软件安装 ......................................................................185.3 Eclipse配置 ...................................................................195.3.1 安装android 开发插件 ....................................................195.3.2 配置Android SDK .........................................................245.3.3 新建Android项目 .........................................................30结 论 .................................................................................37致 谢 .................................................................................38 参 考 文 献 ............................................................................39附录A 译文 ............................................................................40Android 开发指南 ....................................................................40附录B 外文原文 ........................................................................47Android Dev Guide ...................................................................47本科生毕业设计(论文)1第 1章 绪论1.1 系统开发背景目前,市场上使用较多的智能手机操作系统包括Symbian、Palm Os、windows Mobiles Linux 等,谷歌基于Linux 的手机软件Android 一度被业内视为最有希望的移动平台。Android 的强势进入不但给Linux 带来了新的生机,也加剧了Linux 移动平台内部的竞争,开发这样一个手机软件平台的原因之一,就是 30 亿的手机用户享受近年来各种各样的技术创新,特别是在互联网方面的各种技术创新。在这样的基础和前景下,基于Android 平台下设计电子词典应用软件,可以在Android 平台下更好的学习相关技术。本科生毕业设计(论文)2第 2章 系统概述2.1 Android 平台结构以下图 2.1 展示了Android 操作系统的主要组成部分。图 2.1 Android系统架构图从图 2.1 可以看出Android 分为 4 层,从高到底分别是应用层、应用框架层、系统运行库层和Linux 内核层。下面将对这 4 层进行简要的分析和介绍。1)应用层应用是用Java 语言编写的运行在虚拟机上的程序,如图 2.1 中最上层部分所示。其实,Google 最开始时就在Android 系统中捆绑了一些核心应用,比如E-mail 客户端、SMS 短消息程序、日历、地图、浏览器、联系人管理程序,等等。2)应用框架层这一层是编写Google 发布的核心应用时所使用的API 框架,开发人员同样可以使用这些框架来开发自己的应用,这样便简化了程序开发的架构设计,但是必须遵守其框架的开发原则。从图 2.1 中可以看出,Android 提供了如下一些组件。* 丰富而又可扩展的视图(View):可以用来构建应用程序,它包括列表(List)、网格(Grid)、文本框(Text Box)、按钮(Button),以及可嵌入的Web 浏览器。* 内容提供器(Content Providers):它可以让一个应用访问另一个应用的数据(如联系本科生毕业设计(论文)3人数据库), 或共享它们自己的数据。* 资源管理器(Resource Manager):提供非代码资源的访问,如本地字符串、图形和布局文件(Layout file)。* 通知管理器(Notification Manager):应用可以在状态栏中显示自定义的提示信息。* 活动管理器(Activity Manager):用来管理应用程序生命周期并提供常用的导航退回功能。* 窗口管理器(Window Manager):管理所有的窗口程序。* 包管理器(Package Manager):Android 系统内的程序管理。后面的章节将进一步介绍这些组件的使用。3)系统运行库(C/C++库以及Android 运行库)层当使用Android 应用框架时,Android 系统会通过一些C/C++库来支持我们使用的各个组件,使其能更好地为我们服务。* Bionic 系统C 库:C 语言标准库,系统最底层的库,C 库通过Linux 系统来调用。* 多媒体库(MediaFramework):Android 系统多媒体库,基于PacketVideoOpenCORE,该库支持多种常见格式的音频、视频的回放和录制,以及图片,比如MPEG4、MP3、AAC、AMR、JPG、PNG 等。* SGL:2D 图形引擎库。* SSL:位于TCP/IP 协议与各种应用层协议之间,为数据通信提供支持。* OpenGL ES 1.0:3D 效果的支持。* SQLite:关系数据库。* Webkit:Web 浏览器引擎。* FreeType:位图(bitmap)及矢量(vector)。每个Java 程序都运行在Dalvik 虚拟机之上。与PC 一样,每个Android 应用程序都有自己的进程,Dalvik 虚拟机只执行.dex 的可执行文件。当Java 程序通过编译,最后还需要通过SDK 中的dx 工具转化成.dex 格式才能正常在虚拟机上执行。Google 于 2007 年底正式发布了Android SDK, 作为Android 系统的重要特性,Dalvik 虚拟机也第一次进入了人们的视野。它对内存的高效使用,以及在低速CPU 上表现出的高性能,确实令人刮目相看。Android 系统可以简单地完成进程隔离和线程管理。每一个Android 应用在底层都会对应一个独立的Dalvik虚拟机实例,其代码在虚拟机的解释下得以执行。很多人认为Dalvik 虚拟机是一个Java 虚拟机,因为Android 的编程语言恰恰就是Java 语言。但是这种说法并不准确,因为Dalvik 虚拟机并不是按照Java虚拟机的规范来实现的,两者并不兼容。它们有两个明显的不同:Java 虚拟机运行的是Java 字节码,而Dalvik 虚拟机运行的则是其专有的文件格式为dex(Dalvik Executable)的文件。在Java SE 程序中的Java 类会被编译成一个或者多个字节码文件(.class)然后打包到jar 文件,而后Java 虚拟机会从相应的class 文件和jar 文件中获取相应的字节码;Android 应用虽然也是使用Java语言进行编程,但是在编译成class 文件后,还会通过一个工具(dx)将应用所有的class 文件转换成一个dex 文件,而后Dalvik 虚拟机会从其中读取指令和数据。Dalvik 虚拟机非常适合在移动终端上使用,相对于在桌面系统和服务器系统运行的虚拟机而言,它不需要很快的CPU 计算速度和大量的内存空间。根据Google 的测算,64MB 的内存已经能够让系统正常运转了。其中 24MB 被用于底层系统的初始化和启动,另外 20MB 被用于启动高层服务。当然,随着系统服务的增多和应用功能的扩展,其所消耗的内存也势必越来越大。归纳起来,Dalvik虚拟机有如下几个主要特征:(1)专有的dex 文件格式。dex 是Dalvik 虚拟机专用的文件格式,而为什么弃用已有的字节码文件(.class 文件)而采用新的格式呢?原因如下:本科生毕业设计(论文)4* 每个应用中会定义很多类,编译完成后即会有很多相应的class 文件,class文件中会有大量冗余信息,而dex 文件格式会把所有的class 文件内容整合到一个文件中。这样,除了减少整体的文件尺寸和I/O 操作外,也提高了类的查找速度。* 增加了对新的操作码的支持。* 文件结构尽量简洁,使用等长的指令,借以提高解析速度。* 尽量扩大只读结构的大小,借以提高跨进程的数据共享。(2)dex 的优化。dex 文件的结构是紧凑的,但是如果还想运行时的性能有进一步提高,就需要对dex 文件进一步优化。优化主要针对以下几个方面:* 调整所有字段的字节序(LITTLE_ENDIAN)和对齐结构中的每一个域。* 验证DEX 文件中的所有类。* 对一些特定的类和方法里的操作码进行优化。(3)基于寄存器。相对于基于堆栈实现的虚拟机,基于寄存器实现的虚拟机虽然在硬件、通用性上要差一些,但是它在代码的执行效率上却更胜一筹。(4)一个应用,一个虚拟机实例,一个进程。每一个Android 应用都运行在一个Dalvik 虚拟机实例中,而每一个虚拟机实例都是一个独立的进程空间。虚拟机的线程机制、内存分配和管理、Mutex 等的实现都依赖底层操作系统。所有Android 应用的线程都对应一个Linux 线程,虚拟机因而可以更多地依赖操作系统的线程调度和管理机制。不同的应用在不同的进程空间里运行,对不同来源的应用都使用不同的Linux 用户来运行,可以最大程度地保护应用的安全和独立运行。4)Linux 内核层Android 的核心系统服务基于Linux 2.6 内核,如安全性、内存管理、进程管理、网络协议栈和驱动模型等都依赖于该内核。Linux 内核同时也作为硬件和软件栈之间的抽象层。Android 更多的是需要一些与移动设备相关的驱动程序,主要的驱动如下所示。* 显示驱动(Display Driver):基于Linux 的帧缓冲(Frame Buffer)驱动。* 键盘驱动(KeyBoard Driver):作为输入设备的键盘驱动。* Flash 内存驱动(Flash Memory Driver):基于MTD 的Flash 驱动程序。* 照相机驱动(Camera Driver):常用的基于Linux 的v4l2(Video for Linux)驱动。* 音频驱动(Audio Driver):常用的基于ALSA(Advanced Linux Sound Architecture)的高级Linux 声音体系驱动。* 蓝牙驱动(Bluetooth Driver):基于IEEE 802.15.1 标准的无线传输技术。* WiFi 驱动:基于IEEE 802.11 标准的驱动程序。* Binder IPC 驱动:Android 的一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能。* Power Management(电源管理):比如电池电量等。2.2 Android 应用程序框架上一节我们对Android 的系统构架进行了详细剖析,Android 分为应用层、应用框架层、系统运行库层和Linux 内核层。我们在开发应用时都是通过框架来与Android 底层进行交互,接触最多的就是应用框架层了。什么是应用程序框架呢?框架可以说是一个应用程序的核心,是所有参与开发的程序员共同使用和遵守的约定,大家在其约定上进行必要的扩展,但程序始终保持主体结构的一致性。其作用是让程序保持清晰和一目了然,在满足不同需求的同时又不互相影响。Android 系统提供给应用开发者的本身就是一个框架,所有的应用开发都必须遵守这个框架的原则。我们在开发应用时就是在这个框架上进行扩展,下面来看看Android 这个框架都有些什么功能可供我们使用。本科生毕业设计(论文)5* android.app:提供高层的程序模型和基本的运行环境。* android.content:包含对各种设备上的数据进行访问和发布。* android.database:通过内容提供者浏览和操作数据库。* android.graphics:底层的图形库,包含画布、颜色过滤、点、矩形,可以将它们直接绘制到屏幕上。* android.location :定位和相关服务的类。* android.media:提供一些类管理多种音频、视频的媒体接口。* android.net :提供帮助网络访问的类,超过通常的java.net.* 接口。* android.os :提供了系统服务、消息传输和IPC 机制。* android.opengl:提供OpenGL 的工具。* android.provider:提供访问Android 内容提供者的类。* android.telephony:提供与拨打电话相关的API 交互。* android.view:提供基础的用户界面接口框架。* android.util :涉及工具性的方法,例如时间日期的操作。* android.webkit :默认浏览器操作接口。* android.widget:包含各种UI 元素(大部分是可见的)在应用程序的布局中使用。2.3系统需求分析针对本课题在当前google 提供的SDK 的最新版本的开发过程中,汉英功能暂不能实现,只能进行英汉功能模块的开发,在使用数据库方面使用默认自带的sqlite嵌入型的小型数据库。尽管不如完全面向对象的数据库(例如db4o)开发的更加方便。但当完成开发后,可以尝试用db4o 来取代sqlite 数据库。这样就使整个数据库的操作效率更加完善。系统总体业务可以描述为以下几点:1) 在主界面是否能显示出数据库中的单词,并按一定次序显示出来。2) 显示菜单功能,是否能进行功能键的判断并进行相应的测试。3) 运行状态的判断,根据对菜单功能进行测试得到的结果,对当前状态进行判断。4) 异常的出现,判断可能出现的异常,并对不同的功能进行测试。5) 模拟器的重新启动,清除在模拟器下操作功能出现的异常情况。本科生毕业设计(论文)6第 3章 系统设计本章对系统的功能框架以及各个功能模块之间的关系进行描述,使用面向对象的思想对系统的设计方法进行分析,设计了系统中的相关类。3.1 系统需要解决的主要问题基于在android 平台下设计电子词典软件需要解决以下几个问题:数据库使用情况:当前android 平台采用的是sqlite 数据库。把单词库作成“.db”文件导入到android平台下的sqlite 数据库。首要问题是在初始化时需要创建的数据库名称,并且表名要和导入的数据库名称一致。此外还要熟悉File explorer 的文档结构。布局问题:在android 平台下开发应用软件,最重要的是布局问题。在该平台中采用的是xml 文件来设置布局。在SDK 平台下,提供了包括图片、文字显示、以及xml 文件的布局设计方法。在此基础上,开源爱好者也开发出一个可视化的布局工具。虽然控件不是很丰富,但随着android 平台被更多广大爱好者的关注,更多更好的布局工具将会出现在我们面前。3.2 系统功能框架在设计系统的功能架构时,主要分为查询、动态装载和定位、增删改、显示尺寸、动态导入和导出等功能模块。系统模块结构示意图如图 3.1:
    展开阅读全文
    1
      金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:基于Android的英文词典的设计与开发.rar
    链接地址:http://www.gold-doc.com/p-82016.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
    copyright@ 2014-2018 金牌文库网站版权所有
    经营许可证编号:浙ICP备15046084号-3
    收起
    展开