已阅读5页,还剩36页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
全套设计加扣 3012250582湖南软件职业学院毕业设计 毕业选题: 中英互译词典 指导教师: 学生姓名: 院系名称: 软件工程系 专业班级: Java1304 学生学号: 提交日期: 2015年12月 19日 目 录第一章 绪论1.1 Android平台的背景1 1.1.2 Android的发展11.1.3 Android的优势11.2 课题研究的背景和意义21.2.1 课题的引出21.2.2 课题现在的研究现状21.2.3 课题研究主要内容31.2.4 课题研究的意义31.3 论文结构4第二章 系统架构和关键技术2.1 Android系统架构52.2 Android平台关键技术6 2.3 系统设计中的关键技术72.3.1 界面的布局72.3.2 数据库的技术72.3.3 模糊查询技术82.4 本章小结8第三章 需求分析3.1 系统的总体需求93.2 系统需求分析93.3 系统功能的需求说明103.4 系统的可行性分析113.5 本章小结12第四章 总体设计4.1 系统的设计目标134.2 系统的总体设计134.3 系统框架设计144.3.1 系统总体流程图144.3.2 系统功能模块图164.4 系统数据库的设计174.5 本章小结17第五章 详细设计5.1 系统详细设计目标185.2 系统的功能详细设计185.2.1 中英互译查询功能详细设计185.3 系统的界面详细设计195.3.1 欢迎界面的设计195.3.2 主界面的设计195.3.3 中英互译界面设计205.4 本章小结21第六章 实现与演示6.1 数据库的建立和连接226.2 界面的实现与效果246.2.1 欢迎界面的实现与效果246.2.2 主界面的实现与效果246.2.3 英汉互译查询界面的实现与效果266.3 功能的实现与效果276.3.1 英汉互译的实现与效果276.3.2 单词本的实现与效果296.4 本章小结30第七章 测试与运行7.1 系统测试目的及环境317.2 系统测试和运行317.3 本章小结32结束语34参考文献35致谢36iii第1章 绪论1、 Android平台的背景1 Android的诞生Android操作系统最初是由Andy Rubin开发,后由Google收购注册。随着Google公司进军移动领域和开放手机联盟(Open Handset Alliance,OHA)的成立及后来两者的协作,它们开始着手开发一个开放的标准非商业平台,这一平台将致力于缓解上述阻碍移动事业发展的各种问题。后来人们称之为“Android工程”1。当然Google对Android项目的投入巨大,主要主持开源项目,提供在线文档、工具、论坛和软件的工具包等资源。而OHA主要也就是一些手机巨头组成,如三星、摩托罗拉、HTC等。后来随着更进一步的合作,它们设计了第一代Android手机。Android平台也正式诞生。2 Android的发展随着Android平台的推出到现在的普遍推广,其发展的速度可以称之为神速。而随着Android2.0智能手机操作系统的正式发布,Android的应用更是异常的火热。但发展的同时也出现了第一个恶意间谍软件Mobile Spy。随后Google相继宣布与雅虎、亚马逊等知名公司合作。到2011年第一季度,Android在全球的市场份额首次最超越塞班系统,跃居全球第一。2012年2月数据,Android占据全球的智能手机操作系统市场的52.5%的份额,中国占有率为68.4%2。3 Android的优势Android平台之所以如此的受欢迎,就是因为其有很多的优势。当然Android的主要优势有源代码完全的开放、开发应用完全的免费、系统程序完全的平等、应用程序间无界限、快速方便的应用开发等等2。Android平台建立在开放源代码的基础上。开发人员在开发应用程序是可以无限的访问手机设备。开发Android应用程序是完全免费的。在这个平台上开发应用程序不需要任何许可证,不需要承担任何版权的费用,也无需缴纳会员费、测试费等。所以无论是程序开发人员、手机制造商、还是Android爱好者,都不需要为在这一平台上进行开发而承担版权或许可证费用。Android所有其他的东西,包括系统的核心应用和第三方的应用都是完全平等的。你可以改变主界面显示窗口的内容,或者将手机中任意的应用程序替换成你所需要的其他应用程序。同时Android也打破了应用程序间的界限,开发人员可以把Web上的数据与本地的联系人、日历、位置信息结合起来,创造全新的用户体验。2、 课题研究的背景和意义1 课题的引出随着移动硬件配置的不断提高,手机的功能也是越发的强大。而人们对于手机的依赖也不只是打个电话、发个短信而已,许多的手机软件的开发,大大的丰富了现代人的生活。而随着Android智能平台的出现,人们也需要更多、更好的手机软件来满足自己的需求。而作为一个未来的软件工作者,对Android这个平台也是万分的推崇。所以借毕业设计这个机会来研究自己的课题基于Android平台的电子词典的设计与实现。2 课题现在的研究现状Android自出现以后,许多的软件开发人员就试图在该平台上开发各种各样的应用程序。随着时间的推移,许多的手机应用软件也是相继的出现。当然在人们的正常生活中扮演英语导师作用的电子词典的应用更是十分的普遍。许多的学生用它来进行学习,许多的成年人用它来进行随时随地的查询等等。由于Android的开源性,现在网上基于Android平台的电子词典的软件,那真是不胜枚数。当然,许多的电子词典软件做的是真不错。比如有道词典和金山词霸。漂亮的界面、强大的功能、方便的操作等这一切都使这两款软件成了所有电子词典中的“精品”。当然还有一些编程爱好者也设计出来了很多的好用的电子词典。所以说现在基于Android的电子词典的版本是相当的多,技术也是很成熟。3 课题研究主要内容在对本课题进行设计的时候,首先要熟悉Android平台的结构和开发环境,也就是要了解Android SDK软件开发中的一些类库和熟悉工具包的使用及Android平台提供的多个接口函数。其次就是要熟悉Android平台下的开发技术,如Activity的生命周期、事件的处理机制、监听机制、数据的存储等等3。最后就是能够很好的运用相应的开发工具进行程序的编写和调试等。在做好以上的准备后就是对电子词典的研究。虽说在网上有很多的电子词典,但是分析发现还有许多的不完善之处。而这次毕业设计就是在借鉴网上的电子词典的基础上进行一些的改进,让用户使用起来更舒服。而在网上的许多的电子词典都只是单一的英-汉词典或者是单一的汉语词典。而本课题的主要实现的功能就是实现单词的英-汉的查询和汉-汉的查询双项功能,也就是在实现单词英-汉查询的基础上在加上汉语的解释功能,从而使用户在安装一个软件的情况下享受多种功能。4 课题研究的意义作为一个Android新手,选择一个基于Android平台的应用程序做毕业设计的研究课题,具有很大的意义。首先对于本课题的研究,对社会具有一定的意义,可以说是有很小的意义。通过浏览网上的一些电子词典发现,虽说它们的功能都很强大、界面很炫酷,但是都是单一的英-汉词典,汉-英词典或者就是汉语词典。而这次毕业设计就是把英-汉词典和汉语词典相应的结合,使功能尽可能的满足用户。系统的界面设计的相当的简洁,给用户清新的感觉。所以具有一定的意义。其次就是对自己意义重大。自己通过一段的Android自学,自己对这段学习也不是很有底,而正好可以通过毕业设计这个课题来检验一下自己,检查自己的不足和漏洞。从而进行弥补和完善。而从大局来看就是也可以对自己四年的专业知识进行一下测试,也为自己以后的工作积累点经验等等。所以总体来说这次毕业设计对自己的意义很大。3、 论文结构本论文共分为以下七个章节:第一章绪论,主要论述了本文的研究背景与意义。对电子词典的编写的平台进行简单的介绍和对本课题的研究现状、内容及意义的说明。第二章是系统架构和开发环境。主要介绍的就是Android的系统架构和进行电子词典的开发所需要的开发工具、环境搭建及简单的配置。第三章是电子词典的需求分析。主要的就是解释在进行电子词典的开发的时候所要进行的需求分析。第四章是电子词典的总体设计。主要的就是介绍整个电子词典的总体设计、功能模块、总体流程图、数据库设计和设计中的一些关键技术。第五章是电子词典的详细设计。主要就是对本课题的中所用的类、界面、功能、数据库等设计进行详细的阐述。第六章是电子词典的编码与效果图。主要就是对本课题的中界面、功能的代码实现与运行后的效果图。第七章是电子词典的测试。主要就是对该软件进行测试的目的、环境和测试流程的介绍。第2章 系统架构和关键技术本章是对Android的系统架构和有关Android的一些关键的技术进行介绍。主要包括Android系统架构、Android平台关键技术和系统设计中所用的关键技术。1、 Android系统架构Android操作系统是一个开源的软件平台,基于Linux Kernel,定义并实现了一套系统服务框架和图形用户接口。Android的系统架构和其它操作系统一样,采用了分层的架构。Android分为四个层,从高层到低层分别是应用程序层、应用程序框架层、系统运行库层、Linux核心层。Android操作系统组成如图21:图21 Android平台架构图42、 Android平台关键技术从软件的角度来看,Android平台由Linux内核、系统库、应用程序框架以及应用程序共4部分构成,下面将对这四部分进行分别介绍。l Linux 内核(Linux Kernel)主要也就是操作系统的内核框架和硬件驱动。这也是Android平台的开放性、安全性的基础4。图22所示就是Linux内核层为我们在软件层和硬件层建立的抽象层。图22 Linux内核l 系统库(Libraries)系统库主要采用C/C+语言编写,为Android系统服务提供一些底层实现和一些函数库。应用程序要通过Framework来访问这些库,从而来实现各个应用程序的相应的功能4。l 应用程序框架(Application Framework)主要实现Android的系统框架和GUI。应用程序框架层包含了视图系统、内容提供器、窗口管理器、活动管理器、通知管理器、位置管理器、资源管理器、电话管理器和包管理器9大部分4。如图23:图23 应用程序框架l 应用程序(Applications)主要就是包含Android的一些常用的应用程序。这些应用程序包括邮件、短信、日历、地图、浏览器、联系人管理程序等,而这些程序也是基于Java程序语言编写的4。如图24:图24 Android平台应用程序三、系统设计中的关键技术本论文中提到的系统的实现主要采用XML进行布局,而对于数据库的设计主要是采用Android自带的Sqlite。在单词的查询模块的模糊查询主要就是使用AutoCompleteTextView控件来实现。1.界面的布局对于手机上的应用软件,好的界面对用户来说也是一种享受。因而在Android平台下开发电子词典软件,一个重要的技术就是对界面的布局。当然在Android平台下主要就是采用XML文件来设置布局,主要的布局有线性布局、表格布局和相对布局。Android的SDK中也提供了包括图片、文字显示、及XML文件的布局设计方法5。2.数据库的技术Android平台使用的是Android内置的小型嵌入式数据库Sqlite。其主要的就是把单词库(.db文件)导入到Android平台下的Sqlite数据库。外部词库的导入会因为不同情况产生不同的问题。如词库的大小、词库的文件类型的不同等等,都会给词库的导入造成不可知的问题。因而,词库的导入虽说见简单,但是也是不可小觑的问题。当然首要的问题是在初始化时需要创建数据库的名称,同时表名必须与导入的数据库的名称要一致。同时也要熟悉Eclipse的DDMS、File Explorer的文档结构6。3.模糊查询技术模糊查询,也就只是单单的记住了单词的前几个字母,当输入单词的前几个字母的时候,系统会为我们显示出来单词库所有以这几个字母开头的单词,从而是我们的系统更加的智能化。当然在电子词典中就是运用AutoCompleteTextView组件来实现。本章小结本章主要就是对Android平台的架构进行了简单的介绍和对平台中的关键的技术进行了阐述。同时对本论文中系统的开发实现所使用的一些技术进行了简单的阐述,在后续章节中将会有这些技术的应用和详细说明。第3章 需求分析需求分析是软件工程中非常重要的一步,充分的需求分析是设计好程序的前提。这里主要包括系统的总体需求、系统的需求分析、系统的需求说明和系统的可行性分析。1、 系统的总体需求现在无论是在PC上还是在手机上,相信很多人都在用电子词典。随着国人更推崇学习英文和外国文化的渗透,许许多多的方面都需要进行英-汉的翻译,所以电子词典的作用就越来越重要。开发一个实用的电子词典就越来越适合当今的发展趋势。本次的毕业设计的课题就是在次基础上提出总体的功能需求。主要就是能够实现英-汉查询功能和汉-汉查询功能。通俗的将就是在英-汉字典的基础上在加一个汉语字典,实现电子词典的多功能化,从而来满足更多用户的需要。这可以说是该系统开发的一个小小的亮点吧。因为现在很多的电子词典都是单一语言的功能查询。2、 系统需求分析本次的毕业设计主要就是在基于Android平台下设计并开发一个电子词典软件。运用当前Google提供的Android SDK来实现对英-汉查询功能模块和汉-汉查询功能模块的查询。当然使用的数据库是Android自带的小型数据库Sqlite6。尽管没有面向对象的数据库的作用强大,但是在Android开发上 还是比较的灵活和方便的。系统的总体的功能业务可以主要描述为以下几点:l 欢迎界面功能欢迎界面是在运行该软件时的第一个要显示的界面,出现在菜单界面之前。主要就是显示一些欢迎的话语、开发作者、软件版本号等等。只要用户开启该软件,就会首先出来欢迎界面,然后设定一定的时间,让其经过一定的时间以后自动的跳到软件的主功能界面。l 主界面菜单选项功能主界面是该软件的第一个真正意义上的可操作界面,来响应用户的第一步的操作。主要就是让用户进行选择功能,即英-汉词典和汉语词典的选择。界面的主要需求就是简单明了,在加上清新明目的背景图片,一定会给用户视觉上的快感。主界面这里拒绝那些繁琐的操作,给用户以方便。其用例如下图31:图31 软件总用例图l 英-汉查询功能英-汉查询界面是在主界面查询。输入相应的单词,然后把查询结果显示在该界面。这里主要使用的是Android中的XML进行布局。为了避免让用户在查询的时候感到眼花缭乱,在此就不在用图片做背景,减少干扰。l 汉-汉查询功能汉语查询界面也是在主界面上点击的查询。这里也是运用XML布局,总体与英-汉查询模块一样。通过查询数据库实现汉语词典的功能,即对汉语词语的解释。3、 系统功能的需求说明根据对本课题的主要需求的分析做如下说明:1)欢迎界面主要就是对该软件的大致内容进行的简单的介绍,也就是能够介绍一下该软件的主题、作者等等信息。2)主界面上主要就是显示该系统所能够进行的动作和所能实现的功能。主要就是英-汉查询功能和汉-汉查询功能。然后通过设置按钮,让这些的界面之间可以随意的进行切换。3)英-汉查询功能主要就是对输入英文单词的查询。通过调用本地的数据库(单词库)来给输入的单词匹配,从而显示出英文单词的汉语意思。当用户输入单词的时候,调用按钮的监听事件,然后进行对数据库的操作,从而查出所要查询的单词。如果数据库没有所需要的单词,则提示该单词不存在。4)汉-汉查询功能主要就是对输入汉语词语的解释。也是通过调用本地的数据库来实现,最终显示出来查到解释。也是在用户输入汉语词语的时候,触发按钮的监听事件,然后操作数据库,进而显示出来所要查询的汉语解释。如果没有从数据库中查到,就显示数据库不存在该解释4。4、 系统的可行性分析l 复杂分析本系统的数据库文件是选用网上已经存在的数据库文件,所以进行设计与开发时候都要进行数据库方面的设计,来满足本系统的功能实现。要对已经存在的数据库文件进行分析,了解数据库文件中的表名和表的结构,字段等属性。在导入单词库要实用Eclipse里面打开DDMS功能窗口的File Explorer功能和在DOS界面的操作6。而在单词的查询和模糊查询也需要对数据库进行操作,需要用到数据库帮助类,还需要写出相应的方法,实现查询的功能,特别是模糊查询,模糊查询时候要进行列举多个单词,对数据库操作时候要使用DatabaseHelper中的相应方法6。l 可行性随着Android的快速发展和不断完善,Android的应用是越发的广泛。所以基于Android平台的手机小程序也是越来越多、越来越受欢迎。而一款好用且功能强大的电子词典软件可以为用户提供随时随地的服务,很多的Android电子词典的开发和网络上各种版本电子词典的出现,相信很多的用户都会选择享受这种服务。因而从服务的角度来说,具有可行性。通过以上的需求分析和对系统复杂性的分析,基于Android的电子词典的开发具有现实行。综述,该课题的设计开发具有可行性。5、 本章小结本章主要就是阐述本课题的需求分析。通过对系统进行需求分析,可知道该系统的实现具有可行性。这里做好需求分析,在后续的工作中就会做的更轻松。第4章 总体设计根据软件工程的思想对该系统进行总体的设计。主要包括系统的设计目标、总体设计、总体流程图、功能模块图和数据库的设计。1、 系统的设计目标通过对现有网上的电子词典的了解,在借鉴网上电子词典的基础上,设计一个有所创新的电子词典,而这个创新主要是体现在功能上。也就是说在实现英-汉词典的同时,实现汉语词典的功能。所以这也是这次毕业设所要达到的设计目标。2、 系统的总体设计电子词典需要具备的功能主要就是英-汉查询和汉-汉查询等。所以我们主要是围绕以下两项主要功能来实现的。该课题主要是在Windows的操作系统下搭建,在Android平台上开发和运行。总体设计图如Error! Reference source not found.:- 13 -3、 系统框架设计系统的框架的设计主要就是通过对系统的主要的流程和模块进行设计。在这里我们就对该系统的主要的流程和模块进行简单的介绍。1 系统总体流程图在启动Android的模拟器以后,系统首先显示一定时间的欢迎界面以后会自动的跳转到主功能界面,选择相应的操作以后,模拟器会自动的加载指定的单词库,在单词查询页面用户只要输入要查询的单词,就会调用数据库中的数据进行匹配,最终从单词库中查询翻译。而选择进入汉语查询页面用户可以输入汉语词语,通过检索本地的数据库中的信息,把汉语词语的详细的解释显示出来。其整个流程如图41:图41系统总体流程图英-汉查询就是在查询界面,输入所要查询的单词,通过调用本地的数据库来显示查询结果。在这里还需要进行进一步的设计,如果能够查处来单词,就显示出其结果,如果查不到单词,就会提示查不到该单词,而后返回到查询的界面。其主要的流程如图42:c图42英-汉查询流程图汉-汉查询也就是在界面,输入汉语词语后,查出相应的汉语解释。如果查到显示汉语解释,查不到提示数据库中没有该解释。其主要的流程如图43:图43汉语查询流程图2 系统功能模块图系统的功能框架,主要分为对英文单词的查询、汉语解释的查询(也可以说是对汉语词语的解释)。本课题模块结构示意如图44:图44系统的功能模块图英-汉查询模块主要就是包括了对英文的查询功能,同时还实现了单词的模糊查询功能。因而这就是在操作的时候在查询页面中的单击查询和动态查询。其主要的详细过程是首先要配置好数据库,使数据库支持模拟器文本框的检索,而后通过模拟器的文本框进行单词输入。通过数据库进行匹配,并将结果输出到屏幕7。汉语查询模块主要就是包括了对汉语的解释功能,在这里不用实现对词语的模糊查询。也是调用本地的数据库来查询一些词语的简单的解释。详细过程和英-汉查询模块基本相同。4、 系统数据库的设计本课题主要分为两个模块:即英-汉查询模块和汉语查询模块。在此两模块都是使用的Sqlite数据库,且数据库为.db文件。1 中汉互译查询模块数据库设计数据库名称:dictionary.db表名:t_words表中属性字段名称english,chinese说明:english:存放的英文单词。chinese:存放的是相应的英文单词的中文解释。Android平台下采用的数据库是Sqlite,运行后生成数据库文件。定义好的外部数据库可以直接导入到模拟器下的相应的位置。这样单词库的数据就可以直接在模拟器中显示出来8。英-汉查询模块的E-R图如图46:图46英-汉数据库E-R图英-汉数据库属性说明:表41英-汉查询属性表序号字段名称字段描述字段类型长度是否空值1English英文单词Varchar20否2Chinese汉语解释Varchar130否5、 本章小结本章主要就是阐述本课题的总体设计。通过对电子词典的总体设计,画出功能模块图和总体的流程图。数据库的设计是改程序的至关重要的地方,这里设计好的数据库,为以后的详细设计准备条件。第5章 详细设计在软件工程的思想中,详细设计是整个工程中最为重要的部分。经过详细设计,系统的整体结构和细节就确定了,下一步就只需要编码就行。本章主要包括详细设计的目标、功能详细设计及界面详细设计。1、 系统详细设计目标在对系统的总体设计完成以后,接下来就是对系统的详细设计。对于系统的详细设计主要就对其功能和界面的详细设计。在对功能的详细设计上详细说明具体的设计方法和所要调用的方法。界面的设计通过简单的示意图来进行详细的介绍。总之,通过详细设计,能让我们很快、很好的编写代码。2、 系统的功能详细设计1 中英互译查询功能详细设计(1) 查询功能查询模块的功能就是把查询到单词的中文解释在界面中显示出来。首先在Activity内定义ImageButton实例绑定用户页面的按钮,用setOnClickListener给它添加一个监听器,监听器内调用db.rawQuery()方法。通过此方法从数据库中取出单词翻译,这个方法需要一个参数,即要查询的单词,是通过AutoCompleteTextView实例getText().tostring()得到输入的字符串。由于采用混合布局,所以查询出来的结果在同一个Activity中。查找单词的动作是通过对ImageButton设置监听器,在监听器内调用向数据库提交查询的请求方法实现9。(2) 模糊查询模糊查询就是在输入一个单词的首字母时,系统会调用数据库中的所有的单词出来,并按序显示出来。当然会随着输入的字母的个数,慢慢的定位到该单词。在这里实现模糊查询此功能主要是使用Android SDK2.2版本来实现的。在电子词典中实现该功能主要就是使用AutoCompleteTextView这个组件。而在AutoCompleteTextView类中有个SetAdapter方法,然后把一个Adapter对象绑定到AutoCompleteTextView组件中,在AutoCompleteTextView组件中输入两个以及两个以上字母后,AutoCompleteTextView组件就会在这个绑定的Adapter对象中查找以所输入的字符串开头的单词,显示在AutoCompleteTextView组件下方的列表中9。模糊查询的方法,主要就是方便用户。当用户有时候对一些单词不熟悉或者是忘记了,只是记得单词的前几个字母,也完全可以查找到这个单词的完整拼写形式和其中文解释。关于实现这个功能的详细过程主要如下:由于Adapter对象既可以从数组、list等一些对象中获得数据,又可以从Cursor对象中获得数据。由于电子词典使用了Sqlite数据库来保存英语词典信息,因此,在本工程里使用从Cursor对象中获得数据的方法来创建adapter对象。这需要定义一个DictionaryAdapter类,该类需要从CursorAdapter类继承。这个类把Course中的内容取出来,形成一个字符串,然后把这个字符串绑定到一个已经存在的View中显示在界面上。3、 系统的界面详细设计本节主要是对电子词典中的所有界面的设计进行详细的解释。按照功能的需求分析,主要就是详细的介绍四个界面:欢迎界面、主界面、翻译界面、单词本界面。1 欢迎界面的设计欢迎界面是用户在运行该软件的时候第一个出现的界面,该界面主要也就是对用户使用该软件的简单的介绍,起到视觉上的缓冲作用。主要的设计还是在XML中实现的,在XML中定义一个ImageView控件,来加载drawable-hdpi文件中的Logo图片10。而Index类主要实现的是在欢迎界面的运行时间。运行软件的时候在欢迎界面出现一定的时间后,Index类自动控制该界面运行一段时间后,自动的跳转到主功能界面。界面的设计示意图如图51:图51电子词典欢迎界面示意图2 中英互译界面设计主界面是在欢迎界面之后出现的一个可操作界面,该界面就是让用户通过这个界面来选择自己所需要的操作。主要就是在XML文件中布置Button按钮控件,然后分设置相应的属性,设置不同Button按钮的ID属性,然后Function类对该界面的实现。通过类中定义的Button,用FindViewById方法获取各个Button按钮的ID值。然后分别为按钮设置监听器。最后把监听器绑定到相应的Button按钮上,实现界面之间的跳转。在界面的下方可以在设置一个Button按钮,来用说明该软件的版本10。界面的示意图如Error! Reference source not found.:图52主界面和查询界面示意图4、 本章小结本章主要就是阐述本课题的详细设计。经过详细的设计以后,就可以进行编码工作。在本章通过文字和示例图来共同来设计本系统。详细设计的好坏直接影响着编码的好坏。第6章 实现与演示1、 数据库的建立和连接本课题的数据库我们主要使用SqliteOpenhelper这个辅助类,这个类主要生成一个数据库,并对数据库的版本进行管理10。SqliteOpenHelper是一个抽象类,我们继承它,并实现里面的函数:onCreate(SQLiteDatabase db);。主要的数据库设计清单:/* * 数据库 */public class SqliteOpenhelper extends SQLiteOpenHelper private static SQLiteDatabase mDb;private static SqliteOpenhelper mHelper;private static final int DB_VERSION = 1;private static final String DB_NAME = hui_train.db;/单词表private static final String TABLE_WORD = hui_word;/* * 单例 * * param context * return */public static SQLiteDatabase getInstance(Context context) if (mDb = null) mDb = getHelper(context).getWritableDatabase();return mDb;public static SqliteOpenhelper getHelper(Context context) if (mHelper = null) mHelper = new SqliteOpenhelper(context);return mHelper;public SqliteOpenhelper(Context context) super(context, DB_NAME, null, DB_VERSION); */public List getSearchInfo() SQLiteDatabase db = SqliteOpenhelper.getInstance(mContext);List list = new ArrayList();String sql = select * from + TABLE_WORD;Cursor cursor = db.rawQuery(sql, null);if (cursor.getCount() 0) while (cursor.moveToNext() WordInfo searchInfo = new WordInfo();searchInfo.setId(cursor.getInt(cursor.getColumnIndex(_id);searchInfo.setWord(cursor.getString(cursor.getColumnIndex(word);searchInfo.setTrans(cursor.getString(cursor.getColumnIndex(trans);list.add(searchInfo);cursor.close();return list; else cursor.close();return null;这段代码在DBAdapter类中,此类为数据库管理类。DatabaseHelper类继承了SqliteOpenHelper类,并且重写了onCreate方法。在onUpgrade()方法里边首先我们执行一条SQL语句,然后调用List getSearchInfo() 语句。这条语句为我们生成一张数据表。2、 界面的实现与效果1 欢迎界面的实现与效果欢迎界面的出现也是一个用Activity来显现的。用来对用户使用该词典的简单的介绍和说明,起到欢迎的效果。欢迎界面主要的通过一个Index类和XML配置文件共同的实现,然后设置一个Time函数来进行对该界面的时间的控制,使之在显示两秒以后自动跳转到主功能界面。当然还需要设置一些参数是其全屏显示。欢迎界面的基本的效果图如图61:图61欢迎界面2 主界面的实现与效果主界面主要就是通过在XML中进行布局,然后通过主界面的功能类来实现各功能的实现。英-汉查询的界面运行主要以简单、简洁来进行设计。界面的主要设置也是在XML中进行设置。中英界面运行的效果图如Error! Reference source not found.主:图62主界面3、 功能的实现与效果1 中汉互译实现与效果在输入要找的单词,通过单击查询按钮,触发绑定到按钮上的OnClickListener()事件,该事件触发以后,会根据sql语句进行数据库查询,查到相应的单词后将查询的结果显示出来。如果没有查到该单词,用Toast.makeText()显示出未找到该单词,当然如果为空的话,也会用相同的方法显示提醒用户输入单词。中汉互译查询中的结果显示的效果图如图6和6-4:图63中查询结果效果图图64中查询结果效果图2 单词本的实现和效果将查询到的单词可以加入到单词库效果如图6-5和6-6所示:图65中添加结果效果图图65中单词本结果效果图4、 本章小结本章主要对本课题所有界面和功能的代码实现以及运行的效果图。到此,电子词典的基本开发工作都已完成,可能还有许多的不足之处,在以后的日子中在不断的完善。下一步就是对软件的测试,查找软件运行的时候可能出现的一些问题,并给与解决。第7章 测试与运行1、 系统测试目的及环境通过运行该软件,来找出该软件可能存在的一些问题。测试也是软件开发过程的重要部分,用来确认一个程序的品质和性能是否符合开发之前所提出的一些要求。软件测试也就是在软件投入运行之前,对软件需求分析、设计规格说明和编码的最后总复审,也是为了发现错误而执行程序的过程。可以说,软件测试的最终目的就是保证软件产品的最终质量。在这里我们主要采用的是黑盒测试,也就是说对功能实现的测试11。对于系统测试主要就是集中测试以下几方面:1)界面是否正常显示2)功能是否可以正常的实现3)操作过程中是否会有一些Bug出现4)系统的后台是否会出现异常的信息5)其他方面明显的错误2、 系统测试和运行该节主要是实施对该课题的测试和运行。主要分为在Windows下的Android模拟器的测试和在Android平台下的移动设备上的测试。l 基于模拟器的测试与运行Google公司对于Android的模拟器的开发,让Android的开发有了空前的发展。Android SDK提供的手机模拟器的功能也是十分的强大,操作起来也是十分的方便。所以在Android平台下开发的一些应用程序可以很好的在该模拟器上运行。当然该模拟器也设置了手机的许多功能,如键盘的操作、SD卡的操作、浏览器的操作、短信的发送、手机的设置等等Error! Reference source not found.。当然最真是的应该是对手机移动设备的屏幕的模拟,通过鼠标来进行触屏操作,真的是十分的方便和舒服。所以,在模拟器上可以真是的模拟出在手机上的运行效果。模拟器的启动如图71:图71模拟器启动过程图模拟器启动后,我们会看到一个类似手机屏幕的一个显示区域,这就是模拟器的实现效果。所以感觉上就像是真的手机屏幕一样,用起来的感觉也是十分的像。模拟器的运行效果如图72:图72 Android模拟器的启动后的效果图在用模拟器对该系统进行测试和调试的时候,发现了很多的问题。例如界面的布局相对混乱、插入的图片十分的模糊等等一系列的问题。然后通过对程序的通读和对一些资料的查询,通过改变相对布局的layout属性,采用像素表示法解决了布局的混乱的问题。而对于出入的图片显示的模糊这个问题也是设置不同的相片的像素,然后分别放在Eclipse的drawable-hdpi、drawable-ldpi、drawable-mdpi的文件夹下,这三个文件夹就是为了存放不同像素的图片Error! Reference source not found.。而在功能上暂时还没有发现什么Bug,但是我还会对该系统的功能进行更深层次的调试与运行。在模拟器上的运行效果如图73:图73在模拟器上的运行效果l 基于手机的测试与运行虽然说Android开发的那个手机模拟器已经相当的强大,但是还是有很多的功能是在模拟器上不能够实现的。所以在这里,我们有必要进行实机运行,我们多选用为三星S5368型号的手机。对于在实机上运行,我们要把做好的安装程序拷贝到手机的SD内存卡或者是手机的内存中。打开自己的Android的项目目录,定位到bin文件夹下,里面有个点缀是.apk的文件,这个文件就是自己设计的程序的安装程序,把该文件拷贝到手机里面就行。然后,我们进行安装就可以,然后运行,如果可以和模拟机上的运行情况相同,就说明改程序已经可以在Android平台下的移动设备上运行Error! Reference source not found.。该软件在手机上运行时,基本上达到了很好的效果,与预想的结果基本上一致,所以可以确认该软件对实机是可以运行的。同时对该软件的功能的测试也是比较理想的。在手机上,软件的功能都可以很好的进行。但是在手机进行横屏查看的时候,会看到软件的界面会变小,不过这个通过一些设置会很好的实现。总体来说,在手机没有出现排斥和不兼容的问题。在手机上运行的效果如图7-4:图74在手机上的运行效果3、 本章小结本章主要就是对电子词典这个软件的测试的阐述。在这里的测试主要就是集中在功能上的测试,分为在Android模拟器上的测试和在手机上的测试。当然,对于该软件的性能还不能很好的测试,这也是本章测试的不足之处。在以后的完善中,会对该电子词典进行更好的测试。结束语基于Android平台的电子词典的基本功能都已实现,但是也有很多的不完善之处。对于此,还是简单的对自己整个毕业设计做个总结和对该系统未来的发展与展望。此次毕业设计主要针对Google推出的Android平台下开发电子词典软件,并设计自己的数据库和单词搜索。当然这个系统是基于数据库建立起来的。在起初,主要就是看Android的SDK,学习Sqlite数据库的机制,表的建立等等。后来在网上搜到一些单词库,然后就试着导入,但是每次导入都是失败。后来下载一些小的数据库,导入才算成功。对于这种情况,我上网查了好多的资料,最后发现导入方法有点问题。最终在网上资料的指引下,这个问题得到了解决。使用的模糊查询使程序更人性化,给用户带来更多的便捷。而加入的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025广东广州银行风险条线专题招聘备考题库含答案详解(完整版)
- 2025重庆垫江县永安镇委员会公开选拔本土人才3人备考题库及答案详解(历年真题)
- 2025克拉玛依市公安机关招聘警务辅助人员备考题库(169人)及答案详解参考
- 2025年辽阳市公安局招聘警务辅助人员体能测试备考题库含答案详解(培优)
- 抗震宜居农房设计标准
- 2025四川宜宾市叙州区招聘社区专职工作者25人备考题库及参考答案详解
- 2026年陕西省选调生招录备考题库(面向清华大学)及答案详解(有一套)
- 2025海南琼海市社区专职网格员招聘为社区专职人员50人备考题库(1号)含答案详解(培优a卷)
- 2025广州银行人才招聘6人备考题库及1套完整答案详解
- 2025中国民生银行南宁分行招聘2人备考题库及答案详解(典优)
- 山东省济南市2025届高三下学期5月高考针对性训练(三模)英语试卷(图片版含音频)
- 数独基础课程讲座
- 智能机器人创客基本训练知到课后答案智慧树章节测试答案2025年春仲恺农业工程学院
- 2024年煤矿安全规程
- 湖北省武汉市2023-2024学年九年级上学期元调考试物理试题
- 《粉末冶金成型教程》课件
- 祁连山地区多民族文化的交融共生研究
- PM设备预防维修保养管理制度
- 肾癌护理常规
- 2024北京初三一模语文汇编:议论文阅读
- 社会体育管理的内容
评论
0/150
提交评论