收藏 分享(赏)

毕业设计(论文)-基于Android系统的英语词库查询程序的设计与实现(全套源程序代码).doc

上传人:QQ153893706 文档编号:2293031 上传时间:2018-09-09 格式:DOC 页数:50 大小:1.49MB
下载 相关 举报
毕业设计(论文)-基于Android系统的英语词库查询程序的设计与实现(全套源程序代码).doc_第1页
第1页 / 共50页
毕业设计(论文)-基于Android系统的英语词库查询程序的设计与实现(全套源程序代码).doc_第2页
第2页 / 共50页
毕业设计(论文)-基于Android系统的英语词库查询程序的设计与实现(全套源程序代码).doc_第3页
第3页 / 共50页
毕业设计(论文)-基于Android系统的英语词库查询程序的设计与实现(全套源程序代码).doc_第4页
第4页 / 共50页
毕业设计(论文)-基于Android系统的英语词库查询程序的设计与实现(全套源程序代码).doc_第5页
第5页 / 共50页
点击查看更多>>
资源描述

1、 毕 业 设 计基于 Android 的英语词库查询程序的设计与实现学生姓名: 学号: 系 部: 计算机工程系 专 业: 计算机科学与技术 指导教师: 二零一五年六月诚信声明 本人郑重声明:本设计(论文)及其研究工作是本人在指导教师的指导下独立完成的,在完成设计(论文)时所利用的一切资料均已在参考文献中列出。本人签名: 年 月 日毕业设计(论文)任务书设计(论文)题目: 基于 Android 系统的英语词库查询程序的设计与实现 系部: 计算机工程系 专业: 计算机科学与技术 学号: 学生: 指导教师(含职称): 1课题意义及目标本课题旨在开发一款基于 Android 平台的英语查询程序,可以对

2、单词进行查询,四六级词汇学习,具有生词本添加功能的多用途程序。该程序针对学习四六级的人群开发,可以方便他们对四六级词汇的学习,从而更好的掌握四六级词汇。2主要任务(1)调查高校学生在四六级学习中遇到的问题,根据这些问题对本课题进行系统的分析,划分其功能模块(2)对已划分的功能模块进行界面布局,设计出大概风格(3)进行英语四六级词汇和英汉互译词汇数据库的搭建以及单词录入工作。(4)对英汉查询模块中英语与汉语的互译功能实行具体的代码编写。(5)对四六级词汇的学习功能以及生词本功能进行设计实现(6)对程序进行测试,检测各功能的可行性3主要参考资料1耿祥义,张跃平.Java2实用教程M.北京:清华大学

3、出版社, 2006:1-126.2彭艳,杨欧.Android平台的数据储存技术J.计算机系统应用,2012,05(3):120-124.3陈琮,李文亮.Android内核分析J.现代计算机,2009,06(11):112-115.4进度安排设计(论文)各阶段名称 起 止 日 期1 进行需求分析,并分析功能模块并搭建框架 12 月 01 日3 月 13 日2 数据库搭建与 UI 界面设计 3 月 14 日4 月 07 日3 添加英汉互译功能 4 月 8 日5 月 13 日4 实现四六级词库分类查询及其他功能 5 月 14 日6 月 03 日5 完成毕业论文及答辩工作 6 月 4 日6 月 22

4、日审核人: 年 月 日基于 Android 系统的英语词库查询程序的设计与实现摘要本程序的以基于 Android 系统的英语词库查询为课题的毕业设计,通过该课题的研究可以满足用户在无网络和有网络的情况下对英语词汇进行查询学习,加深用户对四六级词汇的记忆,提高四六级考试的通过率。该程序是在 Win7 操作系统下,使用 Eclipse 为开发工具,使用 Android 自带的轻量级数据库 Sqlite 作为数据库,采用 Java 语言来实现程序主要功能。程序界面美观,操作简便,用户体验良好。从功能上讲将系统划分为四个模块:离线查询模块、在线查询模块、生词本模块、四六级词汇学习模块。本文以技术背景简

5、介、需求分析、数据库设计,详细设计为主线,详细介绍了基于 Android 系统的英语词库查询程序的设计与实现的流程。关键词:Android,Sqlite 数据库,英文单词全套 源程序代码加 153893706The Design and Implementation of English Vocabulary Query System Based on Android SystemAbstractThe program is based on the topic of querying of English word based on Android system, can satisfy t

6、he user inquiring and learning of English vocabulary in the case of no network and the Internet, deepen the memory of CET vocabulary, improve the pass rate of CET exams. The program uses the Eclipse as the development tool running on the operating system of Win7, uses Androids built-in lightweight d

7、atabase Sqlite as the database, uses language of Java to implement the main function of program. Programs interface is beautiful, operation is simple, user experience is good. It is divided into four modules on the foundation of function: off-line query module, on-line query module, the new words mo

8、dule, the learn module of CET vocabulary. This article is based on the background introduction、requirement analysis、database design, detailed design as main module, introduced in detail the design and process of implementation based on the Android system of English word library query program.key wor

9、ds: Android, Sqlite database, English words太原工业学院毕业设计(论文)第 I 页,共 II 页目录1 绪论 .11.1 研究目的及意义 .11.1.1 研究目的 11.1.2 研究意义 11.2 国内外研究 .12 相关技术背景介绍 .32.1 Android 工程的简单介绍 32.2 关键技术 52.3 Android 环境的搭建 52.4 Android 虚拟机的创建 72.5 运行环境 73 系统需求分析 .83.1 软件的功能需求 .83.2 功能需求(用例图分析) .93.2.1 基本功能需求用例图 93.2.2 离线词典用例图 .103.

10、2.3 在 线词典用例图 .113.2.4 添加到生词本用例图 .123.3 系统结构图 123.4 软件数据模型 134 数据库的设计 154.1 离线词典的数据库设计 154.2 连接数据库 164.2.1 数据库的创建 .164.2.2 数据库的操作 .164.2.3 数据库的查看 .165 详细设计及其编码实现 185.2 查询功能模块 205.2.1 离线查询 .20太原工业学院毕业设计(论文)第 II 页,共 II 页5.2.2 在线查询模块 .245.3 生词本模块 255.3.1 生词本界面 .255.3.2 生词本点击事件及编辑界面 .265.3.3 生词本菜单添加新单词界面

11、 .275.4 四六级模块 285.4.1 四六级词汇显示 .285.4.2 四六级词汇播放 .295.5 菜单模块 315.5.1 查询 Activity 的菜单 315.5.2 生词本的菜单项 .325.5 说明界面 346 系统测试 356.1 测试 356.1.1 离线精确查询测试 .356.1.2 离线查询菜单测试 .366.1.3 添加或移除生词本单词测试 .376.1.4 生词本单词的点击事件测试 .3761.5 生词本的编辑界面测试 386.1.6 四六级词汇显示界面测试 .386.1.7 四六级播放功能测试 .396.2 性能测试及分析 406.2.1 可扩展性 .406.2

12、.2 可移植性 .40参考文献 .42致谢 .42太原工业学院毕业设计(论文)11 绪论1.1 研究目的及意义1.1.1 研究目的本课题旨在开发一款基于 Android 平台的英语词库查询程序,可以对英语或者汉语词汇进行查询,同时可以进行四六级词汇学习,具有生词本添加功能的多用途程序。该程序针对学习四六级的人群开发,可以方便他们对四六级词汇的学习,从而更好的掌握四六级词汇。提升英语能力,增加高校在校生的英语四六级通过几率。1.1.2 研究意义在高校中,四六级考试已成为大学生活中必不缺少的一部分。而四六级考试中词汇的记忆问题是四六级考生所面临的重要问题。目前,很多公司开发了各种各样的电子词典,这

13、些字典具有海量词库,具有真人发音,整句翻译等功能。但没有针对于四六级学习的专项电子词典,且需要联网。而该程序可以满足广大高校学子的英语学习需求,为用户提供英语单词查询与学习及相关服务,从而更好地帮助他们进行英语学习。因此开发一款适用于考四六级同学的基于 Android 系统的英语词库查询程序有着十分重要的意义,可以随时随地的不受网络限制进行学习。1.2 国内外研究现在的手机电子词典功能比较完善,使用起来也比较方便。手机词典内置本地词库,提供数以万计的常用中英文本地词汇,外加智能输入提示功能,另外还提供真人发音、联网网络释义查询、翻译功能,包含从数十亿网页中提取的精准网络解释和两百万例句,让用户

14、准确理解各种词汇的详细解释和用法 1。最新有道电子词典也新增了摄像头查询功能,这在手机电子词典行业是一个比较大的创新。HiDict推出的 HiDict 词典集成了本地词库、在线翻译、屏幕取词、快速词典等功能,同时支持更换词典程序主题,自带阅读器可进行背景图片、字体、自动翻页的功能设置 2。太原工业学院毕业设计(论文)2GF Midia Apps 开发的 French Translator 是一款在 Android1.5 及以上版运行的手机词典软件,支持英文与法文互译,支持听说功能与电子邮件或 SMS 翻译,但是需要连接网络。也有不少是以漫画或游戏的形式帮助用户对单词的记忆。像 Newave E

15、nterprise 开发的 The Children Of ThePhoenix(在凤凰的孩子)以及 Sand Storm 的主题便是游戏和漫画,画面精致,操作简单,但占用资源较大 3。太原工业学院毕业设计(论文)32 相关技术背景介绍2.1 Android 工程的简单介绍Android 系统将插件 ADT 集成到了 Eclipse 工具上,因此,一个 Android 程序启动后,系统会启动一个模拟器(Emulator),该模拟器是一款手机版的样式,拥有手机硬件的基本操作,界面的大小可以自由设定 4。(1)Android 的工程程序的结构:Android 工程基本结构目录包括:src(源码),

16、gen(Android 系统自动生成的常量 ),res (资源文件):主要是存放程序界面的布局配置(.xml)文件和图片资源。AndroidMainfes.xml 是 Android 四大组件的驱动配置文件,有它的存在,Android 程序的四大组件才可以正常的跳转。Android 资源的类型和布局如表 2.1 所示:表 2.1 资源的类型和布局目录结构 资源类型res/anim XML 动画文件res/drawable 一些图片文件res/layout 布局文件res/values 各种 xml 资源文件arrays.xml:XML 数组文件colors.xml:XML 颜色文件dimens

17、.xml:XML 尺寸文件style.xml:XML 样式文件res/xml 任意的 xml 文件res/raw 直接拷贝到设备中的原生文件res/menu XML 菜单文件太原工业学院毕业设计(论文)4下图 2.2 和 2.3 为本程序代码结构和资源配置文件,图像资源等,其中 src 为 java的源代码,res/drawable 为工程程序中用到的图片资源,res/layout 为工程中用到的布局文件。res/values 为工程中用到的各种 xml 资源文件,res/raw 为工程中离线查询时用到的数据库资源。图 2.2 工程结构图 1 图 2.3 工程结构图 2(2)Android 工

18、程的配置文件 AndroidMainifest.xml 的介绍 5Android 系统的任何一个程序启动都需要 AndroidMainifest.xml 来启动程序,任何一个新建的工程目录都会自动生成一个 AndroidMainifest.xml 文件,此配置文件是整个程序能够运行的核心,他里面包含了 AndroidSDK 的版本,程序运行的默认Activity,当程序中的任何一个组件触发事件后,系统都会自动的去AndroidMainifest.xml 中寻找标示来做出相应的操作。任何一个 AndroidMainifest.xml文件的格式都应为:太原工业学院毕业设计(论文)5这时系统确定的首

19、先要启动的 Activity 是 MainActivity。在 intent-filter 选项中,有 action 和 category 等等属性,我们需要定义 action 的值为 android.intent.action.MAIN,categor 的值为 android.intent.category.LAUNCHER,他们是系统的值,程序在解析到这些常用后就可以确定首先要启动的 Activity。当我们需要通过一个组件触发另一个组件时,我们将设定 action 和 category 的其他属性值,系统会根据我们设定的属性值去 AndroidMainifest.xml 的 applic

20、ation 中去寻找标识,任何一个 Activity 的 action 和 category 是唯一,所以程序在任何时候都能唯一启动一个 Activity,这样,不同的 Activity 之间的跳转就实现了 6。2.2 关键技术本程序采用 Eclipse 为开发工具,以 java 为开发语言,数据存储和布局是程序开发中的关键技术,数据存储技术主要记录了用户所有的操作数据及用户所需要提取的数据,数据的操作通过 SQL 语言对已存储的数据进行操作,布局用来设计用户交互界面,布局的设计是否美观和合理直接影响到用户的体验,所以运用好布局技术时直接和用户相关的。在 Android 中,界面的布局主要使用

21、 xml 技术设计,而 xml 中控件的位置和状态离不开布局的使用,Android 中常用的有五中布局,AbsoluteLayout 绝对布局、 LinerLayout 线性布局,RelativeLayout 相对布局、FrameLayout 帧布局、TableLayout 表格布局,由于布局的使用,使布局之间可以相互嵌套,从而使得 Android 软件 UI 布局更加灵活方便,即使是一些非常复杂的界面设计,只要合理的使用布局也会变的非常容易 7。Android 中的数据存储技术主要有:文件存储、sharepreference、sqlite 、ContentProvider 和网络存储,本程序

22、主要使用了五种当中的sqlite 和文件存储,文件存储是以流的形式进行文件的读写操作,可以以文件的格式,也可以以二进制流的形式,在 java 中要使用流,则写入文件的对象必须进行序列化。Sqlite 是嵌入式移动设备中经常用到的轻量级数据库,可看做是计算机上使用的sqlserver 和 oracle 数据库 7。本程序中,四六级词汇以及查询的单词信息全部存储在sqlite 中,只有生词本中的词汇是保存在文件中。2.3 Android 环境的搭建太原工业学院毕业设计(论文)6下面介绍Android的开发环境的配置 8。(1)搭建开发环境需要的软件操作系统:Windows XP 或 Linux软件

23、包:Android SDK(Software Development kit Java Development Kit )、ADT(Android Development Tool)IDE 环境:Eclipse IDE+ADT Eclipse 3.3 以上JDK:Java Runtime Environment 虚拟机、(JDK)Java Development Kit(2)安装步骤如下:第一步:安装 Java 虚拟机 sun-java7-jdk 版本,可以在这个网址进行下载第二步:安装 Eclipse3.5 工具官网 http:/www.eclipse.org/downloads/选择版本第

24、三步:安装 Android SDK,首先下载 SDK,可以在这个网址下载http:/ Android ADT 插件,运行 Eclipse,选择 help-install new software 选择add,将会弹出一个如图对话框,点击 OK,选择要安装的软件,然后 next,选择接受协议,直到安装成功,重启 Eclipse 软件,设置 Android SDK Home,window -refrence在 SDK location 中输入 SDK Tools 路径:E:androidandroid-sdk-windows 点击 OK这样 Android 的环境就搭配成功了。图 2.1 环境搭配

25、图太原工业学院毕业设计(论文)72.4 Android 虚拟机的创建(1)创建 Android Virtual Device(AVD)使用 android list target 命令列出当前可用 SDK 的版本android create avd n-t-(2)模拟器 Emulator 的使用启动和停止模拟器emulator-avd(3)Android Debug Bridge(adb)的使用查询当前模拟器实例数量adb devices(4)本地机与模拟器之间相互拷贝文件D:adb push d:test.txtsdcardD:adb pull /sdcard/test.txt d:/(5)

26、安装 apk 应用程序adb push d:test.apk/sdcard/adb install test.apk(6)使用 shell 命令在 DOS 命令行输入 adb shell 进入 shell 命令行退出 shell 用 exit2.5 运行环境操作系统:Android 系统基于 linux 操作系统支持环境:2.3.3 及其以上版本开发环境:eclipse 版本 4.3.0 ADT 版本 21.1.0太原工业学院毕业设计(论文)83 系统需求分析在程序设计之前,我们要做的是对现行电子词典的流程,操作等做出详细的调查,从而了解本程序要实现的基本功能。程序在开发过程中要经过较长时间的

27、设计阶段,以使程序贴近生活,具有较大的现实意义。一般学生都比较频繁的使用本程序,尤其是学习四六级的同学,考虑到本程序使用的专用性,程序设计过程中遵循实际运用的原则。因此操作界面会尽可能的简洁,明了,各种控件的布置也会非常清晰,使用的控件种类不会太多,对空间的操作不会太复杂。使用程序的学生也能熟练地操作和使用。根据用户查询单词和记忆单词的要求,软件实现后,能达到智能查询的灵活性,此软件主要包括两部分的设计,一部分是离线的单词查询。离线的单词查询又分为英汉和汉英查询,为了使界面简洁以及使用方便,将需要查询的英语词汇和汉语词汇的输入设置在一个文本框,用户可以输入英语或者汉语词汇进行查询,程序通过对输

28、入的内容进行判断,然后做出相应的数据库查询。Android 自带的轻量级数据库SQlite 来保存单词信息,程序通过 SQlite 数据库保存的单词信息查找到与指定英文对应的单词的中文信息。实现这样一个查询程序需要解决一系列问题,如何使用户更方便的查询,如何使界面更加的美观,保证及时处理信息。另一部分是四六级词汇的学习功能,该部分同样使用 Android 自带的 SQlite 存储四六级单词,从数据库查询单词信息后显示在程序中,供用户浏览学习。最后一部分是在线的单词查询。该部分是为了防止用户在离线查询不能满足用户需求时,进行在线查询,在线查询部分没有设计自己的服务端,只是用 webview显示

29、调用第三方的网页查询。此方法解决了在既没有服务器,又不增加客户端的复杂性的情况下可以满足用户的需求,很好的解决了用户在离线查询不能满足需求时,进行有网络连接的在线查询,包括单词查询,句子翻译等。3.1 软件的功能需求 经过对在校高校生的调查,以及对现行行业流程分析的基础上,分析高校生对英语词汇的,以及对四六级词汇学习需求,现确定程序的功能需求,以下是英语词库查询程序的功能:太原工业学院毕业设计(论文)9(1)设有主菜单选项界面,供用户选择和要执行的操作。(2)设有离线查询界面,供用户输入单词进行查询。(3)设有在线查询界面,当离线查询不能满足用户需求时查询。(4)设有生词本显示界面,供用户查看

30、生词本以及对生词本中的词汇进行操作。(5)设有四六级词汇显示界面,供用户学习四六级词汇。(6)设有四六级词汇学习界面,供用户对四六级词汇进行记忆学习3.2 功能需求(用例图分析)根据对程序的需求分析,确定了程序的基本需求,以下从不同角度来描述程序的需求并且使用用例图来描述,程序的功能需求分为以下几个部分进行描述:基本功能需求用例图,离线查询功能用例图,四六级学习功能用例图。3.2.1 基本功能需求用例图系统基本功能用例图如图 3.1 所示。图 3.1 系统基本功能用例图其中查询功能表和添加到生词本功能表如下表 3.1 与 3.2 所示太原工业学院毕业设计(论文)10表 3.1 查询功能表用例名

31、称 查询参与者 用户目标 从手机数据库中查询单词前置条件 程序启动基本事件流 点击查询按钮查询表 3.2 生词本功能表用例名称 添加到生词本参与者 用户目标 将查询出来的单词释义添加到生词本前置条件 已经查到该单词基本事件流 点击添加按钮添加到生词本3.2.2 离线词典用例图离线词典用例图如图 3.2 所示,离线词典功能表如表 3.3 所示。图 3.2 离线词典用例图太原工业学院毕业设计(论文)11表 3.3 离线词典功能表用例名称 离线查询参与者 用户目标 从手机数据库中查询单词前置条件 切换到离线词典基本事件流 1.点击离线词典2.输入单词后点击查询按钮3.2.3 在线词典用例图在线词典用

32、例图如图 3.3 所示,在线词典功能表如表 3.4 所示。图 3.3 在线词典用例图表 3.4 在线词典功能表用例名称 在线查询参与者 用户目标 从第三方网页查询单词前置条件 切换到在线词典基本事件流 1 点击在线词典2 输入单词后点击查询按钮3 联网太原工业学院毕业设计(论文)123.2.4 添加到生词本用例图添加到生词本用例图如图 3.4 所示,显示生词本的单词表如下表 3.5 所示。图 3.4 添加到生词本用例图表 3.5 显示生词本的单词用例名称 显示生词本的单词参与者 用户目标 显示已添加到生词本的单词前置条件 单词已成功添加到生词本基本事件流 1 切换到生词本2 单击上一个显示上一

33、个单词3 单击通过显示下一个单词4 单击播放按钮播放生词本中的单词3.3 系统流程图本程序主要包括四个部分,离线查询、在线查询、生词本、四六级学习。其中离线词典主要使用 Android 自带的轻量级数据库 Sqlite 保存单词信息,系统通过 SQL语句进行数据库的查询获得与指定单词相对应的中英文释义,从而实现离线词典。在线词典是在有网络情况下利用第三方有道词典网页版进行查询,实现英汉词语的太原工业学院毕业设计(论文)13查询。生词本部分是将查询出的单词及释义保存为 txt 文档,然后再读出来显示在生词本列表中供用户学习。四六级同样是使用 Android 自带的轻量级数据库 Sqlite 保存

34、四六级单词信息,通过通过 SQL 语句进行数据库的查询获得单词信息显示在四六级列表中。实现本程序需要解决一系列技术问题。例如:如何将数据库文件与 apk 文件一起发布,且发布后如何打开数据库对数据库进行操作 9;如何实现智能提示功能;如何实现四六级词汇的显示与学习。其中系统流程图如图 3.5 所示。3.5 系统流程图3.4 软件数据模型建立系统数据模型的主要工具是实体关联图,即 E-R 图。根据上面给出的 E-R图的图形符号表的描述画出数据库的 E-R 图如图 4.1 所示。太原工业学院毕业设计(论文)14图 4.1E-R 图单词以及单词释义对应的实体类为词汇 word 实体。单词词汇单词释义

35、太原工业学院毕业设计(论文)154 数据库的设计数据结构组织和数据库文件进行设计时要根据不同的用途,使用要求等,来决定数据库的整体组织形式等一系列问题。数据库,顾名思义,是存放数据的仓库。只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的。数据库中的数据按一定的数据模型组织、描述和存储,具有较小的重复度、较高的数据独立性和易扩展性。并且可以被在一定范围内的各种用户共享。在涉及数据库的软件开发中,需要根据有待解决的问题性质、规模以及所采用的前端程序创建工具等,做出合适的数据库选择 10。4.1 离线词典的数据库设计本程序采用 sqlite 数据库,sqlite 数据库是 Andro

36、id 自带的小型数据库,可以将少量的数据存储在该数据库中。这里的数据库的设计与单词的单词表的设计基本类似,本程序的主要有三张表,分别是 engtoch、foursix、t_words ,分别用来存放英译汉单词,四六级单词和汉译英的单词。下面为三张表的具体设计。表 4.1 数据库的具体设计数据库名称 dictionary表名 engtoch、foursix 、t_words表 4.2 离线时的英译汉 engtoch 表的设计字段名 数据类型 长度 是否为空english varchar 20 非空chinese varchar 100 非空表 4.3 离线时的四六级 foursix 表的设计字段

37、名 数据类型 长度 是否为空english varchar 20 非空chinese varchar 100 非空太原工业学院毕业设计(论文)16表 4.4 离线时的汉译英 t_words 表的设计字段名 数据类型 长度 是否为空english varchar 30 非空chinese varchar 100 非空4.2 连接数据库这里将首先介绍如何进行Android数据库连接,Android中自带的数据库是一个很小的数据库,这样正适合Android平台的使用,Android数据库的存储位置在data/data/databases/目录下,而本程序是先用操作sqlite 数据库的sqlited

38、ev软件新建数据库,将建好的db文件放在Android目录下raw的目录下,该目录通常保存Android 项目中需要的音频、视频以及一些不可更改的资源。然后用io操作将数据库复制到sd卡路径下,在Android中利用SQLiteDatabase对象打开数据库对数据库进行操作,即SQLiteDatabase.openOrCreateDatabase(databaseFilename, null) 11。4.2.1 数据库的创建本程序是采用用操作 sqlite 数据库的 sqlitedev 可视化软件新建数据库名为dictionary 的数据库,然后建立三张表,分别为英译汉表 engtoch、四六

39、级词汇表foursix、汉译英表 t_words。然后建立各表字段名。最后将已有单词数据的 csv 表中的数据录入到对应表中,完成了数据库的创建,且创建后文件为 dictionary.db。4.2.2 数据库的操作Android 对 sqlite 数据库的操作一般有插入、查找、删除、更新等操作。但是前置条件是数据库必须打开,打开数据库才能进行相关操作。注意当操作完数据库需要对资源进行释放,因此需要关闭数据库,关闭数据库的方法是 close()。4.2.3 数据库的查看太原工业学院毕业设计(论文)17Android 中程序是利用 Cursor 游标类只想数据中的某一项,然后进行数据查询,用 Lo

40、g 显示出来。查询时的方法是数据库本身的方法 query(),需要注意的是这个方法比较复杂,它有 8 个参数,因为它将一个完整的 SQL 语句拆分成若干个部分 12。第一个参数 table :表名,相当于 SQL 的 from 后面的部分。在此还要注意如果和多表联合查询时,就用逗号将两个表名分开,拼成一个字符串的 table 值。第二个参数是 columns, 要查询出来的列名。相当于 SQL 的 select 后面的部分。第三个参数是 selection, 查询的条件,相当于 SQL 的 where 后面的部分,在这个语句中允许使用“?“,也就是说这个用法和 JDBC 中的 Prepared

41、 Statement 的用法相似。第四个参数 selection Args,对应于 selection 的值,selection 有几个问号,这里就得用几值。第五个参数 group By ,相当于 SQL 的 group by 后面的部分。第六个参数 having, 相当于 SQL 的 having 后面的部分。第七个参数 order by, 相当于 SQL 的 order by 后面的部分,如果是倒序,或者是联合排序,可以写成类似这样:string order by =“id dese ,name “。第八个参数 limit, 指定的结果集的大小,它和 Mysql 的 limit 用法不太一

42、样,Myspl 可以指定从多少行开始之后取多少条,例如 limit 100,10,但是这里只支持一个数值。注意:游标查询时,必须把 Cursor 移动到第一个位置,即 move To first (),因为每次查询时,游标都会从第一个往后查找,通常在查询数据库之前进行。此外,游标和数据库一样都要及时关闭,要不会出现异常。其详细代码见程序清单。数据的query ()方法,他用的参数只有一个就是 sql 语句,sql 语句的写法是 sql=“select sum (字段名)as 别名 from 数据表 where 条件表达式”例如 String sql=select from b _dict wh

43、ere name =?“。最后要执行 sql 语句,用法如下 set rs =conn.excute (sql),用 rs(别名)表示获取统计的值。太原工业学院毕业设计(论文)185 详细设计及其编码实现Android 环境搭建好了之后,我们就开始设计我们的客户端各部分模块,主要分为三部分,一部分是在线查询,一部分是离线查询,另外一部分是四六级学习。下面是对各个模块分别进行详细的分析设计。在设计时我们应该注意两个方面,一个是数据库的设计,一个是各功能模块的布局。在 Eclipse 新建一个 android project 工程,工程名为 Dictionary,它的结构如图 5.1 所示图 5.

44、1 程序工程结构图在 com.example.util 包中 openDB 类是打开数据库的类,在com.example.dictionary 中的每一个类都对应一个界面。详细情况如下:About.java 是菜单中的说明界面Cetfour.java 是四六级词汇显示的界面Editword.java 是编辑生词本单词的界面HomeActivity.java 是程序的启动界面太原工业学院毕业设计(论文)19MainActivity.java 是程序主界面NoteBook.java 是显示生词本单词的界面Offline.java 是离线查询界面Online.java 是在线查询界面5.1 系统界面

45、设计当今社会,Android 技术的发展已渐入成熟,Android 界面技术发展更为迅速,各种 app 的界面美观,简洁,操作方便,用户体验良好。因此人们从以前追去技术上升到追求视觉,追求体验,因此也逐步提高了对系统的要求。因此我们在对程序设计时应该注重界面的美观与友好性以及用户的体验。这样才能使产品更符合大众的要求。图 5.2 是程序的主界面:图 5.2 是程序的主界面说明:图 3.7 是系统默认的主界面,用户在文本框输入相应的单词或者汉字,会出现相关单词的智能提示下拉列表,然后点击要查询的单词或汉字确认后,点击查询按钮就能显示出相应的汉语释义或者英文释义,然后用户可以点击加入生词本按钮将不

46、熟悉的单词加入到生词本。点击在线查询就会出现在线查询的界面,在文本太原工业学院毕业设计(论文)20框输入单词或者汉字,在有网络的情况下会跳到有道 web 查询页面,显示出对应的英文或者中文释义。点击生词本就会出现已加入生词本单词列表,用户可以进行单词的复习,当点击学会的单词的行时会弹出提示对话框,提示用户对生词的操作,可以选择删除或者编辑或者取消操作。5.2 查询功能模块查询模块主要是将用户指定输入的中文或者英文单词翻译成对应的英文释义和中文释义显示到界面上,它分为离线查询和在线查询两个部分。离线查询就是在不借助网络的情况下通过查询手机自带轻量级数据库 sqlite 中保存的中英文单词信息将需

47、要的内容查询出来,从而显示在界面上。而在线查询时将输入单词传到有道网页版查询,通过 webview 将网页显示在界面中,实现单词的查询。5.2.1 离线查询在离线查询中,我们首先要解决的前面提出的几个技术问题。第一如何将数据库文件与程序 apk 一起发布、第二如何实现四六级单词的学习功能以及如何使界面简洁美观、第三如何实现输入智能提示功能。(1)如何将事先建好的 dictionary.db 文件与程序一起发布。因为在通常的程序设计中,数据库文件的建立是通过代码创建的,它的创建是在打开文件之后,而在本程序设计中,数据库文件是事先建好后放进去的,因此要做到将数据库文件与程序一起发布,可以将 dic

48、tionary.db 文件拷贝到 android 工程的 raw目录下,该目录用来保存原生文件,即不编译,可以保证数据库文件的完整性,当程序安装后可以将该数据库文件通过 io 流操作复制到 sdcard 目录下,从而实现数据库文件与程序一起发布。具体放置位置如图 5.3。太原工业学院毕业设计(论文)21图 5.3 dictionary.db 的放置(2)如何实现四六级单词的学习功能以及如何使界面简洁美观四六级单词的学习功能主要通过查讯数据库将四六级单词信息显示到 listview 控件上,然后可以对这些词汇进行播放,加深用户的记忆,当用户记住一个单词时可以点击通过显示下一个单词,或者上一个没有

49、记清楚点击上一个会显示上一个单词信息。为了使界面简洁我们通过 tabhost 实现界面之间的方便切换,同时我们将英文单词和中文输入放在一起,当输入内容时,我们通过代码判断用户输入的是中文还是英文,然后做出相应的查询操作。如图 5.4 和 5.5 所示分别为输入英文和汉语是查询的内容。太原工业学院毕业设计(论文)22图 5.4 输入英文查询结果 图 5.5 输入中文查询结果(3)如何实现输入智能提示功能 13智能提示功能即当用户输入两个及两个字母以上时或者输入一个及一个以上汉字时会显示以该字母开头或者以该汉字开头的英中文词汇列表,当用户选择时即选定查询该单词。智能提示功能的实现首先定义一个AutocompleteTextview 控件,然后为其定义一个填充数据的自定义 Adapter 类。要注意的是不能将

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报