基于google-android平台电子辞典软件设计与实现_第1页
基于google-android平台电子辞典软件设计与实现_第2页
基于google-android平台电子辞典软件设计与实现_第3页
基于google-android平台电子辞典软件设计与实现_第4页
基于google-android平台电子辞典软件设计与实现_第5页
已阅读5页,还剩24页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大连理工大学硕士(论文)PAGEIV基于googleandroid平台电子词典软件的设计与实现摘要本文阐述了在Android平台下电子词典软件的设计与实现过程。其目的是让人们能够在基于GoogleAndroid平台的移动设备上享用英汉词汇翻译功能。系统实现了英汉词汇查询、添加,删除等功能。在词汇存储及检索方面,系统使用了Android内置的小型嵌入式数据库Sqlite的开发接口,支持单词的模糊检索和词库导入功能。平台基于Java语言开发完成,在不同型号的设备模拟器上测试通过。关键词:Android平台;电子词典软件;嵌入式开发;AbstractInthispaper,wedescribethatelectronicdictionarysoftwareforthedesignandimplementationprocessinGoogleandroidplatform.ItspurposeisthedevelopmentofthisplatformundertheEnglish-Chineseelectronicdictionarytranslationfeaturesthedesignandimplementation,It’sdefaultuseofsmallembeddeddatabase-Sqlite,theplatform’slanguageisjavaprogramminglanguageandusetheplatformprovidedbythesimulator.enablingusersfacilitatetouseanysimplefunctionsthattheEnglishwordsfortheChineseexplainedwhatthesoftwareachievedwords’addition,delete,modifyonmobilephones.Thesoftwaredesignanddevelopmentbasedonthejavalanguage.Keywords:platform;simulator;database目录TOC\t"标题_谢辞及参考文献,1,标题_附录,1,第2级标题,2,第3级标题,3,第1级标题,1"1前言 11.1系统开发背景 12系统概述 22.1系统需求分析 22.2Android平台结构 23系统设计 43.1系统需要解决的主要问题 43.2系统功能框架 43.3系统总体流程图 63.4系统关键技术 73.5数据库的设计 74系统实现 94.1查询模块的实现 94.2添加模块的实现 104.3删除模块的实现 114.4装载模块的实现 124.5系统交互界面的实现 145系统测试及性能分析 175.1系统测试 176总结与展望 23参考文献 24致谢 25大连理工大学硕士(论文)PAGE25前言系统开发背景目前,市场上使用较多的智能手机操作系统包括Symbian、PalmOs、windows

MobilesLinux等,谷歌基于Linux的手机软件Android一度被业内视为最有希望的移动平台。Android的强势进入不但给Linux带来了新的生机,也加剧了Linux移动平台内部的竞争,开发这样一个手机软件平台的原因之一,就是30亿的手机用户享受近年来各种各样的技术创新,特别是在互联网方面的各种技术创新。在这样的基础和前景下,基于android平台下设计电子词典应用软件,可以在android平台下更好的学习相关技术。系统概述系统需求分析针对本课题在当前google提供的SDK的最新版本的开发过程中,汉英功能暂不能实现,只能进行英汉功能模块的开发,在使用数据库方面使用默认自带的sqlite嵌入型的小型数据库。尽管不如完全面向对象的数据库(例如db4o)开发的更加方便。但当完成开发后,可以尝试用db4o来取代sqlite数据库。这样就使整个数据库的操作效率更加完善。系统总体业务可以描述为以下几点:1)在主界面是否能显示出数据库中的单词,并按一定次序显示出来。2)显示菜单功能,是否能进行功能键的判断并进行相应的测试。3)运行状态的判断,根据对菜单功能进行测试得到的结果,对当前状态进行判断。4)异常的出现,判断可能出现的异常,并对不同的功能进行测试。5)模拟器的重新启动,清除在模拟器下操作功能出现的异常情况。Android平台结构以下图表展示了Android操作系统的主要组成部分。Android系统架构图系统设计本章对系统的功能框架以及各个功能模块之间的关系进行描述,使用面向对象的思想对系统的设计方法进行分析,设计了系统中的相关类。系统需要解决的主要问题基于在android平台下设计电子词典软件需要解决以下几个问题:数据库使用情况:当前android平台采用的是sqlite数据库。把单词库作成“.db”文件导入到android平台下的sqlite数据库。首要问题是在初始化时需要创建的数据库名称,并且表名要和导入的数据库名称一致。此外还要熟悉Fileexplorer的文档结构。布局问题:在android平台下开发应用软件,最重要的是布局问题。在该平台中采用的是xml文件来设置布局。在SDK平台下,提供了包括图片、文字显示、以及xml文件的布局设计方法。在此基础上,开源爱好者也开发出一个可视化的布局工具。虽然控件不是很丰富,但随着android平台被更多广大爱好者的关注,更多更好的布局工具将会出现在我们面前。系统功能框架在设计系统的功能架构时,主要分为查询、动态装载和定位、增删改、显示尺寸、动态导入和导出等功能模块。系统模块结构示意图如下:系统功能结构示意图英汉查询功能模块中包括了英文查询功能,并且还实现了模糊查询功能。主要操作是在主界面中单击查询和输入动态查询。单词的增删改功能包括单词的增加,删除,修改功能。用户可以向单词库中增加、删除、修改单词库中的单词。导入和导出功能现在只能手动在模拟器中才能实现单词库的导入和导出的功能。详细的处理过程:1)首先,配置好数据库。使数据库支持模拟器文本框的检索。通过模拟器的文本框进行单词输入。通过数据库进行匹配,并将结果输出到屏幕。2)其次,把不同类型的文件(英文单词库)制作成一个.db文件。通过Fileexplorer,使得sqlite数据库可以动态的导入。3)添加4个功能模块,分别为:添加词汇功能、删除功能、查询功能以及导入功能(单词库文件)。4)进行屏幕尺寸的调配,使得中心屏幕更适合用户的要求。系统总体流程图启动模拟器后,模拟器会自动加载指定的单词库,然后进入主界面,并在主界面中把单词库中的单词显示出来,而且会根据屏幕的大小自动调整显示出的单词数量。然后在菜单栏中可以选择添加、删除和查询功能,并进入相应的界面。如果不想进入相应的界面,按ESC可以后退到主界面。整个流程图如下:总体流程图系统关键技术在android平台下开发电子词典所采用的关键技术有以下几点:1)对数据库数据(单词库)的导入、导出(对Fileexplorer的dos操作或鼠标操作)2)模糊查询3)单词的添加、删除、修改复杂性分析:1)当启动模拟器后,android平台会自动启动DDMS功能,把已有的功能模块的File文件自动生成镜像文件。可以在dos下输入:adbemulator-tcp-5555shell来进入数据库,并输入指定位置的的数据库名称,并打开相应的文件查看。利用模拟器自带的push和pull功能来实现单词库导入和导出。其复杂度中等。2)界面查询功能的实现需要了解android平台下的定位操作,也是SDK中的基本功能之一。其复杂度较小。3)添加、删除、查询功能的实现需要查看底层代码。深入了解后可以在程序中直接使用相关的函数。数据库的设计数据库名称:sqlite.db表名:dict表中字段名称:id,title,body说明:title:存放英文单词。body:存放相应的英文单词的中文解释。数据库定义为sqlite.db的原因是:android平台下采用的数据库是sqlite3,运行后生成数据库的名称.db文件。定义好的外部数据库可以直接导入到模拟器下的位置为:/data/data/com.gewei.dictionary/databases/sqlite.db。这样单词库的数据就可以直接在模拟器中显示出来。在DOS下查看android下的数据库文件的内容如下:sqlite>/data/data/com.gewei.dictionary/databases/sqlite.db/data/data/com.gewei.dictionary/databases/sqlite.db...>.modeline.modelineSelect*fromdict;数据库E-R图系统实现本章阐述了电子词典中各个功能的实现,并且对该软件实现过程中的主要问题进行了分析并提出了解决方案。根据上章得知,该软件包括界面布局、查询、动态装载和定位、增删改、显示尺寸以及动态导入和导出等功能模块。查询模块的实现查询模块的功能就是把查询到单词的中文解释在界面中显示出来。在屏幕中单击要查询的单词或输入要查询的单词,另一个界面中显示出单词和单词的中文解释。实现过程:设置6个静态字段——包括3个数据库中表字段的名称、数据库的名称、表的名称和数据库的版本(sqlite版本默认为3)。首先,创建数据库,并通过模拟器把外部单词的数据库导入,修改创建数据代码将其改为已打开的数据库。其次,通过调用函数publicCursorquery(Stringtable,String[]columns,Stringselection,String[]selectionArgs,StringgroupBy,Stringhaving,StringorderBy)来实现查询功能,并在相应的editText中显示出查询的信息。查询界面添加模块的实现添加单词的功能就是在数据库中添加没有的单词。当点击菜单栏中的添加按钮后,会进入另一个界面,在此界面中输入要添加的单词。由于api未支持中文的输入,所以单词的释义还不能添加。添加后的单词会自动进入数据库中并保存下来。实现过程:在editText中输入英文单词,调用dictionaryeditText.java中的saveState()函数。在此函数中调用createNote()方法,参数为输入的内容。此内容的获取是通过读取当前在editText中的字符串,利用insert()方法把读取到的内容插入到数据库中,从而完成对单词的添加。添加界面删除模块的实现删除单词功能的实现过程是在点击菜单栏的删除键,前提已经选中要删除的单词。界面会弹出一个消息栏,提示单词已经删除,并且在数据库中该单词也已经删除。实现过程:删除功能的实现过程调用函数publicintdelete(Stringtable,StringwhereClause,String[]whereArgs)操作数据库。具体的参数如下:delete(DATABASE_TABLE,KEY_ROWID+"="+rowId,null)>0;根据ID来进行单词的删除。删除界面装载模块的实现动态装载模块在现阶段仅仅实现了手动加载。从模拟器加载进来外部已经生成好的.db文件。利用模拟器中的push和pull可以把单词库文件导入。加载界面主界面系统交互界面的实现AndroidXML布局文件的大体的结构很简单。它是一个标签的树,任何一个标签就是View类的名字。在这个例子中,它是一个很简单的只有一个元素的树,一个TextView。你可以使用任何继承自View类的名字作为标签的名字。包括在你的代码中自定义的View类。这个结构可以很容易的构建界面,它比你在源代码中使用的结构和语法更简单。这个模式的设计灵感来自于Web开发。就是可以将界面和应用程序逻辑分离的模式。

本软件关于界面布局的设置主要是与dictionary_edit.xml,dictionnary_list.xml,string.xml文件有关。相关文件具体说明如下:dictionary_edit.xml采用的是线性布局。本布局的具体含义是:设置的垂直或水平的属性值来排列所有的子元素。通过两个edittext、一个button和两个textview来实现两个文本框(在界面视图中包含)和一个按钮(save),并设置其相关的属性值。该布局体现在对单词添加功能和对单词查询功能进行操作时显现的界面。Dictionary_list.xml采用的也是线性布局。该布局通过两个界面元素listview和textview,实现了当从数据库中导入的单词在主界面中动态的加载和显示时,会自动的扩充单词在主界面中显示的行数,并根据模拟器的尺寸来进行调整。String.xml该文件主要是设置在界面中显示出的中文和英文信息(标题等显示在界面中的信息)。dictionary_edit.xml: <?xmlversion="1.0"encoding="utf-8"?><LinearLayoutxmlns:android="/apk/res/android" android:orientation="vertical"android:layout_width="fill_parent" android:layout_height="fill_parent"> <LinearLayoutandroid:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextViewandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/title"/> <EditTextandroid:id="@+id/title" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="1"/> </LinearLayout> <TextViewandroid:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/body"/> <EditTextandroid:id="@+id/body"android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:scrollbars="vertical"/> <Buttonandroid:id="@+id/confirm" android:text="@string/confirm" android:layout_width="wrap_content" android:layout_height="wrap_content"/></LinearLayout>系统测试及性能分析系统测试总体性能图主类dictionary.java测试图工程测试图该图说明代码结构良好,不需要进行重构。(红线在绿色的范围之内)复杂度较小。而在dictionaryEdit.java文件中我们可以看到:dictionaryEdit.java测试图说明该段代码需要进行重构,进行重构的方法可以从下图看出:函数复杂度测试图在onCcreate()方法的复杂度大到了9,说明该方法需要进行改进和重构。主方法测试图测试总体来说,需要进行重构的方法较少,整体性能较好。数据测试表输入值预期结果实际结果结论添加新词汇测试:输入abnormal,单击保存添加abnormal到数据库添加abnormal到数据库添加成功删除单词测试:选择单词base并点击删除按钮只能删除用户保存过的单词,不能删除掉系统自带的单词单词base从数据库中删除。删除成功查询单词测试:输入ad查询结果:以ad开头的单词。如:admin查询结果:admin查询成功动态加载和导出功能测试:动态加载和导出,点击push和pull并调整屏幕尺寸从页面中显示出单词库中的单词(尺寸自动调整)成功从页面中显示出单词库中的单词(尺寸自动调整)加载成功尺寸调整成功总结与展望虽然基于android平台开发的电子词典的应用软件还很不完善,例如不能进行汉英的功能查询。但本课题完成了电子词典软件的添加,删除,查询基本功能。不足之处在于界面设计不够完善,更多更好的功能没有实现。下一版本的系统将从以下几个方面进行功能扩展:1)扩展电子词典软件的模糊查询功能,可以利用网络利用该平台下开发的google搜索的功能,提供在线翻译的功能。2)电子词典软件可以自动的装载需要加入的单词库。3)代码和界面效果的优化。提供更为丰富的界面设计,优化代码使结构更加合理,反应速度会更快。4)扩展功能,增加多单词的翻译,即全文翻译等功能参考文献/Android开发者论坛/Android实验室/bbs/index.phpAndroid爱好者/Sqlite中文社区中国Linux论坛Android中国论坛/android/Android官方网站郎波,java程序语言设计,北京:清华大学出版社.2005BruceEckeljava编程思想北京:机械工业出版社2007RajKamalEMBEDDEDSYSTEMSARCHITECTUREPROGRAMMINGANDDESIGN北京:清华大学出版社2005DanielW.LewisFUNDAMENTALSOFEMBEDDEDSOFTWARE北京:高等教育出版社2005致谢特别要感谢我的导师——周宽久老师,在百忙中多次为我解决设计及技术上的困难,并在设计过程中,及时指正了程序中存在的不足使我没有走弯路。基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发基于Cygnal单片机的μC/OS-Ⅱ的研究基于单片机的一体化智能差示扫描量热仪系统研究基于TCP/IP协议的单片机与Internet互联的研究与实现变频调速液压电梯单片机控制器的研究基于单片机γ-免疫计数器自动换样功能的研究与实现基于单片机的倒立摆控制系统设计与实现单片机嵌入式以太网防盗报警系统基于51单片机的嵌入式Internet系统的设计与实现单片机监测系统在挤压机上的应用MSP430单片机在智能水表系统上的研究与应用基于单片机的嵌入式系统中TCP/IP协议栈的实现与应用单片机在高楼恒压供水系统中的应用HYPERLINK"/detail.htm?3

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论