【Android论文栏目提醒】:网学会员鉴于大家对Android论文十分关注,论文会员在此为大家搜集整理了“安卓软件开发--基于google+android平台电子辞典软件设计与实现-V011 - 产品手册”一文,供大家参考学习
基于 google
android 平台电子词典软件的 设计与实现 摘 要 本文阐述了在
Android 平台下电子词典软件过程。
其目的是让人们能够在基于 Google
Android 平台的移动设备上享用英汉词汇翻译功能。
系统实现了英汉词汇查询、添加,删除等功能。
在词汇存储及检索方面,系统使用了
Android内置的小型嵌入式数据库 Sqlite 的开发接口,支持单词的模糊检索和词库导入功能。
平台基于 Java 语言开发完成,在不同型号的设备模拟器上测试通过。
关键词:
Android 平台;电子词典软件;嵌入式开发; Abstract In this paper we describe that electronic dictionary software for the design andimplementation process in Google
android platform. Its purpose is the development ofthis platform under the English-Chinese electronic dictionary translation features thedesign and implementation It’s default use of small embedded database -Sqlitetheplatform’s language is java programming language and use the platform provided by thesimulator. enabling users facilitate to use any simple functions that the English words forthe Chinese explained what the software achieved words’ addition delete modify onmobile phones. The software design and development based on the java language. Key words: platformsimulatordatabase 目 录1 前言................................................................................................................................... 1 1.1 系统开发背景 ............................................................................................................ 12 系统概述........................................................................................................................... 2 2.1 系统需求分析 ............................................................................................................ 2 2.2
Android 平台结构 ....................................................................................................... 23 系统设计........................................................................................................................... 4 3.1 系统需要解决的主要问题 ........................................................................................ 4 3.2 系统功能框架 ............................................................................................................ 4 3.3 系统总体流程图 ........................................................................................................ 6 3.4 系统关键技术 ............................................................................................................ 7 3.5 数据库的设计 ............................................................................................................ 74 系统实现........................................................................................................................... 9 4.1 查询模块的实现 ........................................................................................................ 9 4.2 添加模块的实现 ...................................................................................................... 10 4.3 删除模块的实现 .......................................................................................................11 4.4 装载模块的实现 ...................................................................................................... 12 4.5 系统交互界面的实现 .............................................................................................. 145 系统测试及性能分析..................................................................................................... 17 5.1 系统测试 .................................................................................................................. 176 总结与展望..................................................................................................................... 23参考文献............................................................................................................................. 24致 谢................................................................................................................................. 25 大连理工大学硕士(
论文) 1 前言1.1 系统开发背景 目 前 ,市 场 上 使 用 较 多 的 智能 手 机 操 作 系 统 包 括 Symbian 、 Palm Os 、windows Mobiles Linux 等,谷歌基于 Linux 的手机软件
Android 一度被业内视为最有希望的移动平台。
Android 的强势进入不但给 Linux 带来了新的生机,也加剧了Linux 移动平台内部的竞争,开发这样一个手机软件平台的原因之一,就是 30 亿的手机用户享受近年来各种各样的技术创新,特别是在互联网方面的各种技术创新。
在这样的基础和前景下,基于
android 平台下设计电子词典应用软件,可以在
android 平台下更好的学习相关技术。
1 大连理工大学硕士(
论文) 2 系统概述2.1 系统需求分析 针对本课题在当前 google 提供的 SDK 的最新版本的开发过程中,汉英功能暂不能实现,只能进行英汉功能模块的开发,在使用数据库方面使用默认自带的 sqlite嵌入型的小型数据库。
尽管不如完全面向对象的数据库(例如 db4o)开发的更加方便。
但当完成开发后,可以尝试用 db4o 来取代 sqlite 数据库。
这样就使整个数据库的操作效率更加完善。
系统总体业务可以描述为以下几点: 1 在主界面是否能显示出数据库中的单词,并按一定次序显示出来。
2 显示菜单功能,是否能进行功能键的判断并进行相应的测试。
3 运行状态的判断根据对菜单功能进行测试得到的结果,对当前状态进行判 断。
4 异常的出现,判断可能出现的异常,并对不同的功能进行测试。
5 模拟器的重新启动,清除在模拟器下操作功能出现的异常情况。
2.2
Android 平台结构 以下图表展示了
Android 操作系统的主要组成部分。
2大连理工大学硕士(
论文)图2.1
Android 系统架构图 3 大连理工大学硕士(
论文) 3 系统设计 本章对系统的功能框架以及各个功能模块之间的关系进行描述,使用面向对象的思想对系统的设计方法进行分析,设计了系统中的相关类。
3.1 系统需要解决的主要问题 基于在
android 平台下设计电子词典软件需要解决以下几个问题: 数据库使用情况: 当前
android 平台采用的是 sqlite 数据库。
把单词库作成“.db”文件导入到
android平台下的 sqlite 数据库。
首要问题是在初始化时需要创建的数据库名称,并且表名要和导入的数据库名称一致。
此外还要熟悉 File explorer 的文档结构。
布局问题: 在
android 平台下开发应用软件,最重要的是布局问题。
在该平台中采用的是xml 文件来设置布局。
在 SDK 平台下,提供了包括图片、文字显示、以及 xml 文件的布局设计方法。
在此基础上,开源爱好者也开发出一个可视化的布局工具。
虽然控件不是很丰富,但随着
android 平台被更多广大爱好者的关注,更多更好的布局工具将会出现在我们面前。
3.2 系统功能框架 在设计系统的功能架构时,主要分为查询、动态装载和定位、增删改、显示尺寸、动态导入和导出等功能模块。
系统模块结构示意图如下: 4 大连理工大学硕士(
论文) 基于google
android平台电子辞典的设计 动态装载 新词条的 显示尺寸 动态导入英汉查询功 和定位功 增、删、 设备的运 和导出功 能 能 改 行 能 英文 定位 单词 英文 添加 删除 修改 单词 单词 调整 修改 库的s 导出 查询 功能 功能 功能 库导 的位 尺寸 颜色 手动 单词 功能 入 置 加入 图3.1 系统功能结构示意图 英汉查询功能模块中包括了英文查询功能,并且还实现了模糊查询功能。
主要操作是在主界面中单击查询和输入动态查询。
单词的增删改功能包括单词的增加,删除,修改功能。
用户可以向单词库中增加、删除、修改单词库中的单词。
导入和导出功能现在只能手动在模拟器中才能实现单词库的导入和导出的功能。
详细的处理过程: 1 首先,配置好数据库。
使数据库支持模拟器文本框的检索。
通过模拟器的文本框进行单词输入。
通过数据库进行匹配,并将结果输出到屏幕。
2 其次,把不同类型的文件(英文单词库)制作成一个.db 文件。
通过 File -explorer,使得 sqlite 数据库可以动态的导入。
3 添加 4 个功能模块,分别为:添加词汇功能、删除功能、查询功能以及 。
导入功能(单词库文件) 5 大连理工大学硕士(
论文) 4 进行屏幕尺寸的调配,使得中心屏幕更适合用户的要求。
3.3 系统总体流程图 启动模拟器后,模拟器会自动加载指定的单词库,然后进入主界面,并在主界面中把单词库中的单词显示出来,而且会根据屏幕的大小自动调整显示出的单词数量。
然后在菜单栏中可以选择添加、删除和查询功能,并进入相应的界面。
如果不想进入相应的界面,按 ESC 可以后退到主界面。
整个流程图如下: 开始 启动模拟器 Y 动态加载单词 库 Y 主界面 Y Y N 添加 删除 查询 Y 添加,删除查询界 面 结束 图3.2 总体流程图 6 大连理工大学硕士(
论文)3.4 系统关键技术 在
android 平台下开发电子词典所采用的关键技术有以下几点: 1 对数据库数据(单词库)的导入、导出(对 File explorer 的 dos 操作或鼠标 操作) 2 模糊查询 3 单词的添加、删除、修改 复杂性分析: 1 当启动模拟器后,
android 平台会自动启动 DDMS 功能,把已有的功能模块 的 File 文件自动生成镜像文件。
可以在 dos 下输入:adb emulator-tcp-5555 shell 来进入数据库,并输入指定位置的的数据库名称,并打开相应的文件 查看。
利用模拟器自带的 push 和 pull 功能来实现单词库导入和导出。
其复 杂度中等。
2 界面查询功能的实现需要了解
android 平台下的定位操作,也是 SDK 中的 基本功能之一。
其复杂度较小。
3 添加、删除、查询功能的实现需要查看底层代码。
深入了解后可以在程序中 直接使用相关的函数。
3.5 数据库的设计 数据库名称:sqlite.db 表名:dict 表中字段名称:id,title body 说明:title:存放英文单词。
body:存放相应的英文单词的中文解释。
数据库定义为 sqlite.db 的原因是:
android 平台下采用的数据库是 sqlite3,运行后生成数据库的名 称 .db 文 件 。
定 义 好 的 外 部 数 据 库 可 以 直 接 导 入 到 模 拟 器 下 的 位 置 为 :/data/data/com.gewei.dictionary/databases/sqlite.db 。
这样单词库的数据就可以直接在模拟器中显示出来。
在 DOS 下查看
android 下的数据库文件的内容如下: sqlitegt /data/data/com.gewei.dictionary/databases/sqlite.db /data/data/com.gewei.dictionary/databases/sqlite.db 7 大连理工大学硕士(
论文) ...gt .mode line.mode lineSelect from dict 图3.3 数据库 E-R 图 8 大连理工大学硕士(
论文) 4 系统实现 本章阐述了电子词典中各个功能的实现,并且对该软件实现过程中的主要问题进行了分析并提出了解决方案。
根据上章得知,该软件包括界面布局、查询、动态装载和定位、增删改、显示尺寸以及动态导入和导出等功能模块。
4.1 查询模块的实现 查询模块的功能就是把查询到单词的中文解释在界面中显示出来。
在屏幕中单击要查询的单词或输入要查询的单词,另一个界面中显示出单词和单词的中文解释。
实现过程:设置 6 个静态字段——包括 3 个数据库中表字段的名称、数据库的名称、表的名称和数据库的版本(sqlite 版本默认为 3)。
首先,创建数据库,并通过模拟器把外部单词的数据库导入,修改创建数据代码将其改为已打开的数据库。
其次,通过调用函数 public Cursor queryString tableString columns String selection String selectionArgs String groupBy String havingString orderBy来实现查询功能,并在相应的 editText 中显示出查询的信息。
9 大连理工大学硕士(
论文) 图4.1 查询界面4.2 添加模块的实现 添加单词的功能就是在数据库中添加没有的单词。
当点击菜单栏中的添加按钮后,会进入另一个界面,在此界面中输入要添加的单词。
由于 api 未支持中文的输入,所以单词的释义还不能添加。
添加后的单词会自动进入数据库中并保存下来。
实现过程:在 editText 中输入英文单词,调用 dictionaryeditText.java 中的saveState函数。
在此函数中调用 createNote方法,参数为输入的内容。
此内容的获取是通过读取当前在 editText 中的字符串,利用 insert方法把读取到的内容插入到数据库中,从而完成对单词的添加。
10 大连理工大学硕士(
论文) 图4.2 添加界面4.3 删除模块的实现 删除单词功能的实现过程是在点击菜单栏的删除键,前提已经选中要删除的单词。
界面会弹出一个消息栏,提示单词已经删除,并且在数据库中该单词也已经删除。
实现过程:删除功能的实现过程调用函数 public int deleteString table StringwhereClause String whereArgs 操作数据库。
具体的参数如下: deleteDATABASE_TABLE KEY_ROWID quotquot rowId null gt 0根据ID来进行单词的删除。
11 大连理工大学硕士(
论文) 图4.3 删除界面4.4 装载模块的实现 动态装载模块在现阶段仅仅实现了手动加载。
从模拟器加载进来外部已经生成好的.db 文件。
利用模拟器中的 push 和 pull 可以把单词库文件导入。
12大连理工大学硕士(
论文) 图4.4 加载界面 13 大连理工大学硕士(
论文) 图4.5 主界面4.5 系统交互界面的实现 AndroidXML 布局文件的大体的结构很简单。
它是一个标签的树,任何一个标签就是 View 类的名字。
在这个例子中 它是一个很简单的只有一个元素的树,一个TextView。
你可以使用任何继承自 View 类的名字作为标签的名字。
包括在你的代码中自定义的 View 类。
这个结构可以很容易的构建界面,它比你在源代码中使用的结构和语法更简单。
这个模式的设计灵感来自于 Web 开发。
就是可以将界面和应用程序逻辑分离的模式。
本软件关于界面布局的设置主要是与 dictionary_edit.xmldictionnary_list.xml- 14 大连理工大学硕士(
论文)string.xml 文件有关。
相关文件具体说明如下:dictionary_edit.xml 采用的是线性布局。
本布局的具体含义是:设置的垂直或水平的属性值来排列所有的子元素。
通过两个 edittext、一个 button 和两个 textview 来实现两个文本框(在界面视图中包含)和一个按钮(save),并设置其相关的属性值。
该布局体现在对单词添加功能和对单词查询功能进行操作时显现的界面。
Dictionary_list.xml 采用的也是线性布局。
该布局通过两个界面元素 listview 和 textview,实现了当从数据库中导入的单词在主界面中动态的加载和显示时,会自动的扩充单词在主界面中显示的行数,并根据模拟器的尺寸来进行调整。
String.xml 该文件主要是设置在界面中显示出的中文和英文信息(标题等显示在界面中的信息)。
dictionary_edit.xml: ltxml versionquot1.0quot encodingquotutf-8quotgt ltLinearLayout xmlns:androidquothttp://schemas.
android.com/apk/res/androidquot
android:orientationquotverticalquot
android:layout_widthquotfill_parentquot
android:layout_heightquotfill_parentquotgt ltLinearLayout
android:orientationquothorizontalquot
android:layout_widthquotfill_parentquot
android:layout_heightquotwrap_contentquotgt ltTextView
android:layout_widthquotwrap_contentquot
android:layout_heightquotwrap_contentquot
android:textquotstring/titlequot /gt ltEditText
android:idquotid/titlequot
android:layout_widthquotwrap_contentquot
android:layout_heightquotwrap_contentquot
android:layout_weightquot1quot/gt lt/LinearLayoutgt ltTextView
android:layout_widthquotwrap_contentquot
android:layout_he.