基于Android的电子词典软件的设计与实现(毕业论文doc)_第1页
基于Android的电子词典软件的设计与实现(毕业论文doc)_第2页
基于Android的电子词典软件的设计与实现(毕业论文doc)_第3页
基于Android的电子词典软件的设计与实现(毕业论文doc)_第4页
基于Android的电子词典软件的设计与实现(毕业论文doc)_第5页
已阅读5页,还剩70页未读 继续免费阅读

下载本文档

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

文档简介

1、调- 乂拿LANZHOU UNIVERSITY OF TECHNOLOGY毕兆设计题目基于Android的电子词典软件的ig计与剪见学生姓名学 号08250239专业班级通信(2)班指导教师学 院计算机与通信学院2012. 6. 11答辩日期摘要本文设计了基丁-Android T台的电了同典软件。此英文词典包括两部分,部分足离线 的英文词典,部分楚冼线的英文词典。离线的英文词典土要垃使WJ Android自带的轻景级 数据库SQLile来保存单词倍息,系统通过SQLite数据库的query方法来杏找到&指定英文相 对应的中.词的中文释义。在线的英文词典楚利用oracle数据库来保作唞词信总,然

2、G利用Hup 协议解析出苹词信息显示到手机界面上,同时还能够增加、删除、更新单词信总# A然,对 于许询到的生疏的单词II丨以添加到单词本以便于随时复习,关键词:Android, oracle数据库,SQLite数据库,英文单词AbstractIn this paper, we design and implementation about electronic dictionary software which is based on the Android platform. English dictionary mainly include two parts, and one is t

3、o realize the offline English dictionary, the other is to realize the online English dictionary. Offline English dictionary is mainly used a lightweight database SQLite (hat belongs to Android to preserve words information, we find the specified English word corresponding to the Chinese interpretati

4、on by using query method of SQLite database. Offline English dictionary use an oraclc database to save the word information, and then parse out the word information to display in the mobile phone interface by Http protocol, at the same time there have the functions that is used to increase,delete, u

5、pdate word information. Of course, we can add unfamiliar word to the note of word in order to review at any time.Keywords: Android; oracle database; SQLite database; English words目录第1章绪论I第2章系统求分析32.1软件的功能要求32.2需求分析32.3功能谣求(用例图分析)42.3.1基本功能需求例图42.3.2离线词典的例图62.3.3在线畓询用例图72.3.4添加到单词本的用例图82.4系统结构图和流程图10

6、2.5系统界面需求142.6运行环境152.6.1关键技术152.6.2运行环境16第3章数据厍的设计173.1在线词典的服务器端的数据库设计173.1.1数据库中数据表的设计173.1.2在线词典的客户端的数据库设计183,1.3离线时的数据库的设计193.1.4软件数据模型203.2连接数据库213.2.1数据库的创建213.2.2. 数据库的操作213.2.3数据的杏费223.2.4服务器和客户端的连接22第4章环境的搭建244.1关于Android的简中介绍244.1.1 Android环境的搭建244.1.2Android命令行的使用254.1.3 Android工程的简单介绍264

7、.2 Java Web环境的搭建29第5章具体功能模块的设计335.J査询模块的设计345.1.1离线杳询345.1.2在线资询355.2添加单词模块375.3删除单词模块385.4修改单词模块395.5菜单模块的实现405.6先词本模块的设计44第6章系统测试与性能分析466.1 466.2性能测试及分析47总结48参考文献49附录英文翻译原文50附录二:英文翻译译文58附录三:程序淸单65St 72第1章绪论如今,英语在人们的工作、学习中显得越来越朮要,而手机词典软件的出现无疑带来了 极人的便利,遇到遇到虫疏的英语单词,现在窣起T机就能轻松解决。近两年,谷歌android 手机系统日益盛行

8、,支持该系统的应用软件日益增多,0然T机词典软件也不例外。纵观web 网的发展,从21世纪初基于web网的矽用开始逐步引入屮1到现在基于wcb网的应用发展 的如此火爆。基于android手机系统的应用也将成为米来我W网络行业的发展潮流。据我们调 查2007年11月5日,Google与其他33家手机制造商(包括摩托罗拉、宏达电、三星、LG)、 手机芯片提供商、软硬件提供商合作。电信业者所联合组成了开发手机联盟,发布了“android” 的幵发手机软硬件平台。而这平台的软件与其他手机平台受手机型号的影响相比,android究 令可以通用。基于android手机系统的手机这两年来迅速的引入屮闻,而且

9、受到中_用户的- 致好评。且看下面这组资料据台湾媒体报道,位分析师称,作为苹泶iphone在.今年假日季节到来之时的 竞争产品,実国最大的移动电话制造商摩托罗拉的智能手机Droid Q 09年11月6日通 过Verizon Wireless推出以来,其销售量已经达到80万部。摩托罗拉智能手机Droid, 运行的是袢歌Android操作系统。纽约RBCCapitalMarkets公分析师休(MarkSue)周日在份研究报告屮 农示,该数字将使得摩托罗拉在第四季度按汁划实现销售100力部3标叫见基子android 操作系统的手机的发展很快,这也是我们为什么首先基于android平台升发这款软件的

10、原因。外电f词典作为我们学习和生活的重要部分,对于很多英语不好的学生或卜班族 们,特别楚在北、上、广、深,这种一线城市的工薪阶层们,随时都会遇到国外的同胞,或 者随时都舟叫能到W外去深造,如果随身没科个英汉互译的软件,可能会难以同別人交流, 因此推出款好的电子词典软件足很有必要的,个人认为开发 款人众化的丁机电子同典软 件显得很有必要,特别足对于受教竹程度较低和没钉任何相关专业知识的人群,意义显得犹 为突出。现行软件技术发展迅速,各种类型的软件更新速度快,T机电/同典已经不足什么有创 意的软件了,而足-类实州的软件。正因为KM有实用性,各个T机软件开发者都已经幵发 出来了基丁各种手机系统的电/

11、词典软件。而基于android系统的电Y词典软件也已经出现,此软件就足基丁 Android平台升发的,只有操作简卑,适合人部分人群使用。在设计出 本软件之前,我们芮先做了充分的市场调赍,了解基丁android甲台的电子词典软件的现状, 了解大部分人对手机电子词典软件祚界面上和功能卜.的要求,然后进行了细致的软件需求分 析,进行软件的整体结构设计,确保软件屮的任何个功能点都楚有意义的,接着开始软件 的实施,将项目分成多个模块,完成各个M体的功能,拗后当整个软件完成后,我们对软件 进行专业测试,确保软件能正确的运行。在设计该软件时,我们将该软件定义为CS结构, 这样即使在手机不能接入网络的情况K软

12、件的各项功能还足能照常使用,在设计代码时,我 们采用常用软件开发中常用的MVC模式,将操作界面和业务逻辑进行分离,降低代码的藕 合度,便于软件的升级和维护,而这思想也正好和android工程的程序结构相符,因为在 atidmid软件开发中,界面完企可以以xml的形式设计而不需要进行任何的硬编码,在软件的 只-体功能%现时,使用androi d 4|i Fj技术兑成UI的设计,使Z4J androi d数据存储技术sqli t e究 成底层数据的读写。软件敁终现的功能除了稍确奔询,模糊奔询,生词本等常用的功能外, 还加入了独特的记忆单词提醒、数据备份和恢复等功能。在本论文中,各章主要介绍的内容如

13、下:第2章主要介绍了电子词典软件的系统蒞求, 第3章卞要介绍了数据库的设计,第4章卞要介绍了本软件中到的语#环境的搭建,第5 章主要介绍了此软件的各个模块的具体功能的实现9论文第2章系统需求分析2.1软件的功能要求经过以上详细的丨I户调资,在现行业务流程和数据分析的基础上,基本忖以确定系统设 计必须达到的H标了。根据软件工程的K理,需求分析的任务足确定系统必须完成的:丨:作, 也就足对H标系统提出完整、准确、淸析、-具体的要求,在经过了多方的调裔了解后,就可 以确定电子词典的功能需求。以下足屯子词典系统具輅的功能:设有主菜单选项界面,供川户选择要执行的操作。设軒增加单词界面,符现员坩以添加肀词

14、和.中词解释。设有更新难同界面,符理员吋以更新某个中词的解释。设科删除中词界面,符理员付以删除某个中.词。设科单词杏询界面,用户|丨以许询某个甲词的解释或者进行模糊冉询。设有生词本符理界面,用户可以杏符生.词本中的单词解释。设軒隼词解释显示界面,用来显示用户杏询到的卑词的解释。设有设置界面,用户可以设置该软件的-些信总。设有数据备份和恢复界面,)1户坷以将化词本屮的数据方便的备份起来和恢复。2.2需求分析在软件设计之前,我们要做的:丨:作就楚对电r词典的流程,操作等,做出详细的调奔,从而了解系统耑要实现的功能。系统在开发过程屮,经过比较长时间的设计阶段,w以说模贴近生活,有很大的现实意义,般学

15、化成者上班族-般都都能较方便的使用本软件,考虑到软件本分H荇较强的专业性,而这些知识普及率毕竞钉限,所以在程序设计过程屮-以遒循实际成用的原则。因此它的操作界面会尽可能的简中.,明了,各种控件的布置也会非常的淸晰,使用的控件种类不会太多II.对控件的操作不会太复杂。这样就能11:不参该软件设计的人也能够熟练的更好的使用。报据用户奔询单词和记忆单词的耍求,和记朵数据的 些习惯,该软件实现后,能达到 以K目标:界面设计友好、数据存储安全,nj靠。基本的设置保证单同资询功能*保证数据杏询的灵活性。对增加、删除、修改,資询的信息进行精密设计,保证能及时处理信息。此软件包括两部分的设计,第部分是离线的单

16、词杏询,Andmid Q带的轻量级数据厍SQLite来保存单词信总,系统通过SQLite数据库屮保存的堆词信息来杏找到与指定英文相对应的承2.2添加到中诃本功能衣词的中文信息。实现这样一个英文词典需要解决一系列技术问题。例如,如何将保存英文单 词信息的数据库随程序一起发布;发布后如何打幵数据库;如何在输入前儿个字母后,在 AuloCompleteTextView纽件提示裂变屮显示以所输入字符串肝头的所有甲i司。在线的英文诃典在设计该时,我们将该软件定义为CS结构,即使手机不能接入网络但 足软件的各项功能还足能照常使用。在设计代码时,我们采用常州软件开发屮常阳的MVC 模式,将操作界面和业务逻辑

17、进行分离,降低代码的耦合度,便丁软件的升级和维护。茌软 件的具体功能实现时,使用Android布局技术完成UI的设计,使用oralce数据库保存单词的 基本信息,使用Android数据存储技术内罝的小型嵌入式数据库sqlitc完成底层数据的读写。 同样在线英文词典也耍解决-系列的技术M题。例如,如何将保存在oracle数据库中的单词 信息解析出来,如何把选中的英文苹词保存在手机上轻量级数据库中以及如何把保荏在手机 数据库中的单词信总赍询出来a2.3功能需求(用例图分析)根据项H的Hfe,我们讨获得项Nl系统的基本需求,以下从不同角度来描述系统的需并 且使用用例图来描述,系统的功能求,我们分为以

18、K儿个本分分别描述:基本功能耑求例 图,离线词典的功能例图,在线词典的功能例图,印词本的共能例图。各个例图分别简肀的 描述了各个部分的基本功能和简.中的实现。2.3.1 基本功能蒞求例图论文其中各个部分的详细功能描述如下表所示农2.1杳询功能农用例名称沓询参与者用户目标从-f机数裾库屮或者从服务器端的数据库屮资询单词前置条件程序后动基本事件流点击査询按钮赍询用例名称添加到单词本参与者用户目标把查询到的单词添加到单词本中前S条件己经杳到吶词基本琪件点击添加按钮添加到艰词本流m 1.2离线的词典的菽本功能例阁 其屮各个部分的详细功能描述如下表所示表2.3发音功能农用例名称发音参与者用户目标使查询到

19、的单词发裔前置耕单词己经成功査询到蒜本事件流点击发音按钮使单同发音2.3.2离线词典的例图用例名称离线査询参与者用户目标从手机数据库中查询单词前置条件切换到离线间典菡本艰件流1点击离线词典2输入艰词后点击畓询按钮2.3.3 在线裔洵用例图1 .丨.,01.3士.:小:H i H裉抿客丨_*枘输入的亨坷门动联想出lk隊中和 此哦间关联的所有轵网 :oradevSlK vf, 图2.3在线词典的基本功能的例阁 Jt屮各个部分的详细功能描述如卜-表所示农2.5离线資询功能农用例名称在线査询参与希用户1=1标从服务器端的oracle数据库中杳询单词前置条件程序冶动葙本卑件流1切换到在线资询2输入单词点

20、击资询k 2.6离线査询的菜单的功能表用例名称菜单参与者用户巨丨标从客户端添加,删除,更新单词前置条件已经切换到在线炎询基本事件流I点缶菜艰按钮2点击添加进行添加3点击删除进行删除4添加更新进行更新2.3.4添加到单词本的用例图12农有播細到单阏本的单阚 3、丨.,丨. !卜!柄的oradt數#1阼中SW到的单W图2.4单词本的幾本功能例阁 其中各个部分的详细功能描述如下表所示农2.7添加到单词本的功能表用例名称添加到单词本参与者用户目标将资洵到的肀词添加到艰词本前S条件单词已经成功裔询到鉴本事件流点击添加按钮添加用例名称显示添加到单词本的单词参与者用户间标显示添加到单词本的单词前S条件中-词

21、已经成功添加到吶调本基本事件流1切换到爪词本 2单击上-个显示上一个单词 3单击下一个显示下一个单词 4单击播放播放添加到单词本的所有单词2.4系统结构图和流程图此软件主要分为两部分来实现,部分足离线的英文词典,部分足在线的英文词典a 离线的英文词典主要是使用Android D带的轻呆级数据库SQLite来保存单词信总,系统通过 SQLite数据库屮保钮的单词信息来赉找到拒定英文相对应的中词的中文信息。实现这样- 个英文词典需要解决一系列技术问题,例如,如何将保存英文卑词信总的数据库随程序 起 发布:发布后如何打丨数据库:如何在输入前儿个字母后, AutoCompleteTextView组件提

22、 示裂变中显示以所输入字符串开头的所有年词。在线的英文词典冼设计该时,我们将该软件 定义为CS结构,即使手机不能接入网络但是软件的各项功能还足能照常使州。在设计代码 时,我们采用常用软件开发中常用的MVC模式,将操作界面和业务逻辑进行分离,降低代 码的藕合度,便子软件的升级和维护在软件的具体功能实现时,使用Android布局技术完 成UI的设计,使用oralce数据库保存单词的基本信息,使用Android数据存储技术内置的小梨 嵌入式数据库叫lite完成底层数据的读写a同样在线英文词典也要解决-系列的技术问题。 例如,如何将保葆在oracle数据库中的单词信息解析出来,如何把选屮的英文难词保存

23、在手 机上轻蛩级数据库中以及如何把保在:手机数据库屮的单词倍总舟询出来。其中离线词典的主要的系统流程图如图2.5所示,在线词典的结构图和系统流程图分别 如图2.6和2.7所示,系统功能结构图如图2.8所示:主界而符理说明:it屮词典的部分分为在线的电_r同典和在线的电丫冏典,在离线部分主耍足对 Android Q带的SQLite数据的操作,即中.词的伉总足徉储办:SQLite数据库中的,我们所做的 足如何把甲词的鉴本信总从数据库屮读取出来,并IL存储到爷词本。而在线词典的部分我们 主要使用的足服务器端的orade数据库,我们的符要-1:作就足如何把服务器端的数据库屮的 数据读取出来,显示在手机

24、的界面上。此外还要舉词本的屮的单词信总的存储,在此处我们 也足使用Android的SQLite数据库,而我们的播放舉词的功能就足把存储在单同本的舉冈按 照顺序播放。所以本软件很大以部分的I:作足对数据库的操作。scr crclientmysqlLogonsearchdeleteaddupdate烧录登采Vdispluy2.6在线词典的架构阳(C/S)在图2.6屮主要针对C/S架构进行说明,所谓的C/S架构就足客户端和服务器端。我们 把此软件的架构定义为C/S,域人的好处就足即使没有网络的情况下,我们仍然可以从服务 器端的数据厍屮读取到我们的中词信息,只足W为我们通过web服务器发布了我们的服务

25、器,构建了 -个虚拟的网络资源。Client阌2.7介线讨典的系统流程阁在图2.7中我们1_:要的圮针对在线的电丫词典进行设计,涉及到的M题就足如何把服务 器端的数据库屮的单词倍息渎取出来然后显示在T机界面上。我们使H1的圮Http协议来解析, 通过把私词倍总解析到浏览器上,然后我们洱通过pos丨()和get()方法来解析浏览器上的信总,论文基于Android的龟子词典在线杳询单诃操作阁2.8系统功能结构阁2.5系统界面需求当今社会的少活节奏越来越快,随着硬件移动设各的越来越先进,人们对移动设硌的要 求也越来越从以前的追求技术到现在的追求视觉,W此,也逐步的提A了对系统的要求, 因此设计的过程

26、中疢该注意界面的友好性以及客户的HJ户体验。图2.9圮词典的用户界面:图1.9电子词典用户界面说明:在图2.9为默认的英文词典的主界面,在文本框屮输入相疢的中词或者汉字,点 -山杏询按钮就能显示出相疢的汉语释义或者英文平同,点击在线词典就会出现在线杏询的界 面,点*单词本就会显示添加到单词本屮的咿词。2.6运行环境 2.6.1关键技术本软件采用java作为开发语言,布局和数据存储足开发本软件的关键技术,布局用来设 计用户交互界面,用户界而的设计足否美观和合理过接影响用户体验,因此运用好布局技术 好足货接和州户相关的,而数据存储技术则记泶了州户所荇的操作数据和用户所耑要提取的 数据。在andro

27、id中,软件UI通常使用xml技术设计,而xml屮控年的位置和状态则离不开 布局的使用,android中常用的布局有5种,分别是:AbsoluteLayout、LinearLayout、 RclativeLayout、FramcLayout、Tab丨cLayout,山丁布局的使用,并.11 Y|j局之间i丨J以互相联發, 使得android软件U丨的设计变得非常灵活,即使足些非常复杂的界面设计,只要合理的使 用布局,也会使幵发变得很容易-android屮数据存储技术卞.要对:文件存储、prcfercnce、sqlitc、ContcntProvidcr和网络存 储,在本软件屮卞要使用到了文件存储

28、、sqlite,文件存储足以流的形式读写文件,忖以以文格的格式,也可以以进制的形式,在java语言屮耍使用流,则写入文件的对象必须进行序 列化,sqlite足嵌入式移动设备中常用的轻景级数据库,可脅作计算机上使用的sq丨server、orac丨e 数据库。本软件中,用户生词本屮的数据都稃在sqlite数据库中,而进行数据谷份和恢复时 则足文件作为介质保徉数据。2.6.2运行环境操作系统:Android_机基于Linux极作糸统 支持环境:Android 1.5-2.3.1版本开发环境:Eclipse 3.5 ADT 0.95论文第3章数据库的设计数据结构组织和数据厍文件设计要根据不同用途,使用

29、要求等,来决定数据的整体组织 形式等-系列问题。数据库,顾名思义,足存放数据的仓库。只不过这个仓库是在计筇机存 储设缶卜.,而II.数据足按定的格式存放的。数据库中的数据按-定数据模.型组织、描述和 存储,具有较小的隶复度、较商的数据独立性和易扩展性,并JJ.可以被在定范围内的各种 用户共享。在涉及数据库的软件幵发中,需要根据軒待解决的问题性质、规模,以及所釆用 的前端程序创建.I:具等,做出合适的数据库类型选杼。3.1 在线词典的服务器端的数据库设计在线:ft洵时耑要把服务器端的oracle数据庳中的数据解析出来。把印.词库异入到oracle 数据库。在本系统屮采用了简鉍版的oracle,即

30、数据库的名字为XE,辟先耍解决的圮也该数据 库里某个用户下创建表。3J.I数据库中数据农的设计在此软件中农的关系比较简肀,只有张单词农,JI;具体的设计为表3.1数据砟中数据表的兵体设计数据库名字XE表名b一 diet字段名namc,info说明:name为平词的英文名称为数据表的主键,info为咿河的中文释义不能为空。在 DOS下创建数据表的M体步骤为:安装oracle简易版的数据库之C打幵DOS进行配盟,配置Oracle的步骤为(1) 以oracle 符理员的身份进入 oraclesqlplus “as sysdba”(2) 启动oracle监听先退出exit;然后启动监听lsnrctls

31、tart(3) 创建新的用户辟先以竹理W的:份进入sqlplus“/assysdba” create user name identified by password;grant resource,connect to name;注:以新的用户妓采符先推出数据库exit;然后sqlplus name/password(4) 修改3前的语H格式,默认为中文allcr session set nls_datc_languagc=cnglish;(5) 创建新的数据表、 create table b_dict(name varchar2(20) primary key, info varchar2(

32、 100) not null );(6) 炎?!数据表足界创建成功select table_name from user_tables;杏H数据表的内界desc b_dict;齊fl数扼表的所A内容select * from b一diet;将单词导入到数据库屮insert into b_dict vaIues(*AD7Ad/ abbr.公元(后);写P稣纪元后);QL desc b diet:名称是否为空?类型NAMEUARCHAR2(20)INFOUPRCHPR2(100)阁3.1数扼农b_dici的内容3.1.2在线词典的客户端的数据库设计客户端采用的足sqlile数据库,sqlile数据

33、库足Android G带的小型数据库,可以将少 的数据存放在该数据库屮。针对不同的用户的叱词足不同的,nj以很方便的将词异入到数 据库中,也可以很方便的将苹词从数据库屮删除-此软件屮的数据表的关系也比较简单,只 H张表用来存放添加到中词本屮的中.同H体设计如卜表所示:表3.3离线时的数椐库的设计表数据库名称sqlite.db表名diet字段名_id,title,body说明:title:存放英文.中.词。body:#放相Kv:的英文中同的屮文解释。数据库定义为sqlitc.db 的原W是:android平台下釆州的数据厍是sqlite3,运行后免成数据库的名称.db文件.定义好 的数据库可以

34、W接与入到/data/data/com.briup.dictionary/databases/sqlite.db。这样卞.词本的数 据就可以直接在模拟器中显示出来。建农语句为create table diet(一id Integer primary key increment by, title text not null, body text not null):DOS卜资蕾android K的数据库义件的内容如K:(1 )cd /data/data/com.briup.dictionary/databases/sqlite.db(2) sqlite3 sqlite.db(3) .table

35、s(4) select*from diet;(5) 将单词导入到数据库中,insertinto b_dict values( 1 ,AD,/Ad/abbr.公元:耶稣纪元后 3.1.3离线时的数据库的设计这里的数据库的设计和单词的中词表的设计基本类似,这里就省略作详细的建表的过 程而简喂的给出设计的功能表。字段名数据类型_id数字english字符Chinese字符3.1.4 软件数据模型建立系统数据模型的卞要丨具足实体一关联图,即E-R图。E-R图形符号约定如下表: 3.4E-R阌阌形符号表阁形符号说明o将厲性连接到实体集或将实体集连接到联系集 表示实体集合表示屈性 表示关系集根据上面的给出

36、的E-R图的图形符号农的描述,画出的在线时的数据库的E-R分别 如下:m 3.2在线时服务器端的单词表的E-R閱图3.3在线时客户端的单词本中单词表的E-RSI3.2 连接数据库在线时的服务器端用的Oracle数据库用来衧储中词的S本倍总(中词的名称和中词的屮 文释义),客户端用的足android Q带的sqlite数据库。这里将首先介绍如何进行Android数据 库连接,Android中白带SQLite数据库,这足-个十分小型的数据库,这样正适合Android 这种移动平u使用。Android数据萍存储的位質办data/data/项H文件夹/daabases/H#下, Android足利用C

37、ontent Provider作为内容提供商,SQLiieOpenHelper数据库帮助类来进tj对 数据库的创建和操作3通过Comcxt.getContcntRcsolvcr()7j法接对数据库进行操作。程序屮 数扼阵类为 DBHe丨per extends SQLiteOpenHe丨per (继承关系),内容提供类 DBProvider extends Comeii丨Provide (继承关系)。-M次介绍服务器端的数据库的详细设计,再介绍服务器端和客 户端的数据库的连接。3.2.1数据库的创建Android提供了 唯的数据库创建力式。继承SQLiteOpenHelper,实现onCreat

38、e()和 onUpgradc()两个方法,衔个好处就足便于数据库版本的升级,连接数据库的算法见程序消单。 数据库如果创建不成功则抛出FI丨eNotFoundExceptiori服务器端数据库的创建:V.要足通过DOS利用命令进行创建的,详细的创建命令在2.丨.丨屮已经详细的做了介绍,此处不再进行 赘述。3.2.2.数据库的操作Android对SQLite数据库的操作主要有插入、删除、3!新、舍询操作。伹足前置条件 必须打幵数据库。在这里打开数据库用的主要的方法是opcnForReadablc()和 openForWriteable(),打开数扼之f才能进行相关的操fl,JL-屮插入中词的方法足

39、insertWord(), 删除单词的方法楚deleteNoleO,更新中词的方法足updateWordO。K详细代码见程序淸爷。注 意:在操作完了数据库之后,耑耍对资源进行释放,这里就足对数据库资源进行关闭,关闭数据库的方法足close()o迕服务器端的数据库同样科增加,删除和更新等操作,因为我们用 在线电子词典时,潘要把数据从服务器端通过URL读出来。闪此我们用的足servlet来劣现 舉词的增删改资。與中资询操作的介绍将在卜面的3.2.3节数据的畓肴屮详细的分析,这里不 再赘述。3.2.3数据的查看Android屮程序足利用Cursor游标类指向数据表中的某一项,然后进行奔询数据,用Lo

40、g 日志显示出来。杏询时用的方法足数据库本身的畨询方法queryO,需要注意的足这个方法比较 复杂,他有8个参数,因为它将-个完整的SQL语句拆成了若干个部分:第-个参数table:表名,相当于SQL的from后面的部分。在此还要注意如果和多表联 合裔询时,就用逗号将两个表名分开,拼成个字符率的table值。第-个参数足columns,耍舍i句出来的列名。相 1于SQL的select丨面的部分5 第个参数是selection,查询的条件,相当于SQL的where后面的部分,在这个语句中 允许使用“? ”,也就足说这个用法和JDBC中的PrcparcdStatcment的用法相似。第四个参数se

41、lectionArgs,对应于selection的值,selection有儿个闷号,这里就得用儿第五个参数groupBy,相广1于SQL的group by后面的部分第六个参数liaving,相$ T SQL的havi ng /u面的部分。第七个参数orderBy,相:!/|于SQL的order by Ju面的部分,如果足倒序或者足联合排 序,可以写成类似这样:String orderBy = “it! desc,nanie” ,第八个参数limit,衍定的结來集的大小,它和Mysql的limit用法不太-样,Mysql 以 指定从多少行开始之后取多少条,例如,“limit 100,丨0”,仴足

42、这里只支持个数值。注意:游标査询时,必须把Cursor移动到第-个位置,即rnoveToFirst(),因为每次查询 时,游标都会从第个往后杏找,通常在裔询数据库之前进行,此外,游标和数据库样都要 及时关闭,要不会出现W常3其详细代码见程序消.中Oracle屮杏询丨H到的也足数据的queryO 方法,他用到的参数只有个就是sql语句,sql语句的法是sql= 44 select sum (字段名)as 別名 from 数据农 where 条件农达式,”例如 String sql = select * from b_dict where name=?”。 最ii:要执行sql语句,用法如下.se

43、tnconn.cxcutc (sql),用rs (别名)表示获取统计的值。 3.2.4服务器和客户端的连接服务器端和客户端的连接通过URL连接到浏览器,然C客户端从浏览器端把信息解析 出来。此处卞要的方法就是post()或者get()方法,般用到的都足past()方法,下面简肀介绍论文KpostO方法的参数极.K:参数的用法4 post()方法軒两个参数,第个足url (统资源定位 符)相S于网址,第二个是封装的参数3其使用步骤足:I创建HttpCliem对象;2根据实际需求创建HtlpGe丨和H丨ipPost对象3如果需要发送参数,调用selParams /法来添加谘求参数,HupPost对

44、象f调用setEntity 来设置。4调)|j HttpC丨iem的execute发送请求,返丨丨丨丨个HttpRequest。5调用HupResponse对象相关方法获取服务器的相疢内容进行处理。第4章环境的搭建木软件祚线词典的设计足C/S结构的系统,W此耍先搭建服务器端,利用Java EE屮的 servlet来提供服务,并将部署在Tomca丨下。需耍解决的足创建不同的servle丨來提供不同的 服务。另外此软件足运行在Android平台下,所以耑要搭建Android平台。4.1关于Android的简单介绍任何事物要运行都要夼它的环境,Android也要科它的环境才能够运行,下面介绍 And

45、roid的开发环境的配置。4.1.1 Android环境的搭建搭建开发环境蒞要的软件:操作系统:Windows XP成Linux软件包:Android SDK(Software Development kit Java Development kit)、ADT(Android Development Tool)IDE 环境:Eclipse IDE+ADT Eclipse 3.3 以 hJDK:Java Runtime Environment 虎拟机、(JDK)Java Development kit安装步骤如下:第-步:安装Java虚拟机sun-java7-jdk版本第:步:安装 Eclips

46、e3.5 T.HfT网 httD://down丨oads/选择版本(图 4.1)进行安装。Eclipse for RCPPljg*in Developers (183 MB)Mac Carton 32bit Mac Cocca 32W! e Linux y/ni t4tMtk complete set of tools for JeveloDer; who /ant to create Eclipse plug-ins or Rich Client Apcliwttons. tt includes a complete 30K. dsve oprtools ard

47、 soutce :ode. plus Mln. an XML editoi and the Eclipse Communication FrameworV. More Downloads: 29.550以在这个网址卜载第三步:安装Android SDK,首先要下载SDK,可 第四步:安装 Android ADT 插件,运行 Eclipse,选择 help-install new soflware 选 择add,将会弹出个如图3.2对话框,点击0K,选择要安装的软件,然后next,选择 接受协议,过到安装成功,重启Eclipsc软件,设置Android SDK Home,window-refrc

48、nce 在 SDK location 中输入 SDK Tools 路径:E:androidandroid-sdk-windows 点丨丨丨 OK 这样Ld2JAndroid的环境就已经搭建成功了。4.1.2AndroiJ J-.-.-.JZ=lLJ1. 创建Android Virtual Device(AVD)使用android list target命令列出丨1的可用SDK版本 android create avd -n -t -J2. 模拟器Emulator的使用 启动和停止模拟器 emulator -avd 3. AndroidDebug Bridge(ADB)的使用 夼询_MV前模拟器

49、实例数S adb deviccs4.本地机器和模拟器之间相互拷贝文件 D:adb push d:tcsst.txt/sdcard D:adb pull /sdcard/test.txt d:/(1) 安装apk应用程序adb push d:tesc.apk/sdcard/ adb install test.apk(2) 使用shell命令在DOS命令行输adb shell进入shell命令行退出shell用exit4.1.3 Android工程的简单介绍Android系统将捅件ADT集成到了 Eclipse丨H.h,W此,个Android程序启动 后,系统会启动个模拟器(Emulator),该

50、模拟器足款T机版的样式,拥有手机硬件的 基本操作,我们付以右边的键盘通过代码诚性设置将隐藏,界面的人小可自山设定, H前M大支持800*600分辨率aI .Android的.1:程程序的结构:Android I:程基本结构H采包括:src (源代码),gen (Android系统Cl动生成的常嚴),res (资源文件):主要是存放程序界面的布周配置 (.xml)文件和图片资源。AndroidMainfes.xml足Android卩1!大组件的驱动配置文件, 有它的存在,Android程序的四大组件才可以正常的跳转。Android资源的类型和布周 如表3.1所示:论文表4.1 Android资源

51、的类型和布局表目录结构资源类型res/animXMI.动画文件rcs/drawablc一些阌片文件res/layoutXMI.布W文件rcs/valucs各种XML资源文件 arrays.xml:XML 数绀文件 colors.xml:XML 颜色文件 dimens.xml:XML 尺寸文件 style.xml:XML 样式文件res/xml仔:意的XML文件rcs/raw权接拷贝到设备屮的原生文件res/menuXML菜单文件卜图4.2和4.3为屯f词典代码结构和个界面的配置文件,图像资源等,其中 src为java的源代码,res/drawable为调典.1:程程序屮用到的图片资源,res/

52、layout 为词典:丨:程屮用到的布局文件,res/values为I:程中用到的各种XML资源文件, rcs/raw为I:程屮离线杏询时用到的数据库资源a阌4.2电于词典工程的结构图1 2. Android I 程的配置文件 AndroidManifest.xml 的介绍Android系统的任何个程序启动都耑要AndroidManifest.xml来启动程序, 任何个新建的:丨:程H 都会Q动成个AndroidManifest.xml文件,此配盟文件(冬 Dictionary3 src啓 gen Generated Java F wit Android 2.2 b assets bin 為r

53、es叵 AndroidManifest.xml b- proguard.cfg 1 perties1 Dictionary 这src& gen Goner,f.d Java Fil叫 wL Android 2.2 lc assets : & bin -resdrawable -drawable-hdpi drawable-ldpi - drawable mdpi layout v& raw values 丨 AndroidManifest.xml 当 proguard.cfg 甴 perties阌4.3电子词典工程结构阌2时整个程序能够正常运行的核心

54、,他里面包含了 AndmidSDK的版本,程序运行的默认ActivUy,3程序屮的任何个纟_H件触发事件后,系统都会Q动的去 AndroidManifest.xml中寻找标示来做出相应的操作。任何个AndroidManifest.xml 文件的格式都应为: encoding= utf-8?cmaiiifest xniIns:android= android: versionCode=I android: versionName=,7.0,application activityi men t-filteraction/category/Android支持的编码足”utf-8”,A程序中出现乱码足,我们须将M编码格式转化为utf-8. 在 AndroidManifest.xm丨屮会孔第行声明句:。 第;:行定义了我们需要使用的架构,该架构来axmlns:android=http:/schemas.android.coni/apk/res/androidxmln

温馨提示

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

评论

0/150

提交评论