d操作系统的主要组成部分。
图2.1 Android系统架构图
3 系统设计
本章对系统的功能框架以及各个功能模块之间的关系进行描述,使用面向对象的思想对系统的设计方法进行分析,设计了系统中的相关类。
3.1 系统需要解决的主要问题
基于在android平台下设计电子词典软件需要解决以下几个问题:
数据库使用情况:
当前android平台采用的是sqlite数据库。把单词库作成".db"文件导入到android平台下的sqlite数据库。首要问题是在初始化时需要创建的数据库名称,并且表名要和导入的数据库名称一致。此外还要熟悉File explorer的
文档结构。
布局问题:
在android平台下开发应用软件,最重要的是布局问题。在该平台中采用的是
xml文件来设置布局。在SDK平台下,提供了包括图片、文字显示、以及xml文件的布局设计方法。在此基础上,开源爱好者也开发出一个可视化的布局工具。虽然控件不是很丰富,但随着android平台被更多广大爱好者的关注,更多更好的布局工具将会出现在我们面前。
3.2 系统功能框架
在设计系统的功能架构时,主要分为查询、动态装载和定位、增删改、显示尺寸、动态导入和导出等功能模块。系统模块结构示意图如下:
图3.1 系统功能结构示意图
英汉查询功能模块中包括了英文查询功能,并且还实现了模糊查询功能。主要操作是在主界面中单击查询和输入动态查询。
单词的增删改功能包括单词的增加,删除,修改功能。用户可以向单词库中增加、删除、修改单词库中的单词。
导入和导出功能现在只能手动在模拟器中才能实现单词库的导入和导出的功能。
详细的处理过程:
1) 首先,配置好数据库。使数据库支持模拟器文本框的检索。通过模拟器的文本框进行单词输入。通过数据库进行匹配,并将结果输出到屏幕。
2) 其次,把不同类型的文件(英文单词库)制作成一个.db文件。通过File explorer,使得sqlite数据库可以动态的导入。
3) 添加4个功能模块,分别为:添加词汇功能、删除功能、查询功能以及导入功能(单词库文件)。
4) 进行屏幕尺寸的调配,使得中心屏幕更适合用户的要求。
3.3 系统总体流程图
启动模拟器后,模拟器会自动加载指定的单词库,然后进入主界面,并在主界面中把单词库中的单词显示出来,而且会根据屏幕的大小自动调整显示出的单词数量。然后在菜单栏中可以选择添加、删除和查询功能,并进入相应的界面。如果不想进入相应的界面,按ESC可以后退到主界面。整个流程图如下:
图3.2 总体流程图
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下的数据库文件的内容如下:
sqlite> /data/data/com.gewei.dictionary/databases/sqlite.db
/data/data/com.gewei.dictionar