当前位置: 代码迷 >> Android >> 基于google android平台电子词典的设计与兑现
  详细解决方案

基于google android平台电子词典的设计与兑现

热度:64   发布时间:2016-05-01 14:09:30.0
基于google android平台电子词典的设计与实现

?

?

基于google android平台电子词典软件的

设计与实现

?

?

?

?

?

?

?

?

?

?

?

本文阐述了在Android平台下电子词典软件的设计与实现过程。其目的是让人们能够在基于Google Android平台的移动设备上享用英汉词汇翻译功能。系统实现了英汉词汇查询、添加,删除等功能。在词汇存储及检索方面,系统使用了Android内置的小型嵌入式数据库Sqlite的开发接口,支持单词的模糊检索和词库导入功能。平台基于Java语言开发完成,在不同型号的设备模拟器上测试通过。

?

关键词:Android平台;电子词典软件;嵌入式开发;

Abstract

In this paper, we describe that electronic dictionary software for the design and implementation process in Google android platform. Its purpose is the development of this platform under the English-Chinese electronic dictionary translation features the design and implementation, It’s default use of small embedded database -Sqlite,the platform’s language is java programming language and use the platform provided by the simulator. enabling users facilitate to use any simple functions that the English words for the Chinese explained what the software achieved words’ addition, delete, modify on mobile phones. The software design and development based on the java language.

Key words: platform;simulator;database

?

1 前言................................................................................................................................... 1

1.1 系统开发背景............................................................................................................. 1

2 系统概述........................................................................................................................... 2

2.1 系统需求分析............................................................................................................. 2

2.2 Android平台结构......................................................................................................... 2

3 系统设计........................................................................................................................... 4

3.1 系统需要解决的主要问题......................................................................................... 4

3.2 系统功能框架............................................................................................................. 4

3.3 系统总体流程图......................................................................................................... 6

3.4 系统关键技术............................................................................................................. 7

3.5 数据库的设计............................................................................................................. 7

4 系统实现........................................................................................................................... 9

4.1 查询模块的实现......................................................................................................... 9

4.2 添加模块的实现....................................................................................................... 10

4.3 删除模块的实现....................................................................................................... 11

4.4 装载模块的实现....................................................................................................... 12

4.5 系统交互界面的实现............................................................................................... 14

5 系统测试及性能分析..................................................................................................... 17

5.1 系统测试................................................................................................................... 17

6 总结与展望..................................................................................................................... 23

参考文献............................................................................................................................. 24

?

?


1? 前言

1.1 系统开发背景

目前,市场上使用较多的智能手机操作系统包括SymbianPalm Oswindows?Mobiles Linux等,谷歌基于Linux的手机软件Android一度被业内视为最有希望的移动平台。Android的强势进入不但给Linux带来了新的生机,也加剧了Linux移动平台内部的竞争,开发这样一个手机软件平台的原因之一,就是30亿的手机用户享受近年来各种各样的技术创新,特别是在互联网方面的各种技术创新。在这样的基础和前景下,基于android平台下设计电子词典应用软件,可以在android平台下更好的学习相关技术。

2? 系统概述

2.1 系统需求分析

针对本课题在当前google提供的SDK的最新版本的开发过程中,汉英功能暂不能实现,只能进行英汉功能模块的开发,在使用数据库方面使用默认自带的sqlite嵌入型的小型数据库。尽管不如完全面向对象的数据库(例如db4o)开发的更加方便。但当完成开发后,可以尝试用db4o来取代sqlite数据库。这样就使整个数据库的操作效率更加完善。

系统总体业务可以描述为以下几点:

1) 在主界面是否能显示出数据库中的单词,并按一定次序显示出来。

2) 显示菜单功能,是否能进行功能键的判断并进行相应的测试。

3) 运行状态的判断,根据对菜单功能进行测试得到的结果,对当前状态进行判断。

4) 异常的出现,判断可能出现的异常,并对不同的功能进行测试。

5) 模拟器的重新启动,清除在模拟器下操作功能出现的异常情况。

2.2 Android平台结构

以下图表展示了Android操作系统的主要组成部分。

?

图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 explorerdos操作或鼠标操作)

2) 模糊查询

3) 单词的添加、删除、修改

?

1 楼 robbin 2008-12-08  
你可以打包附件上传。
2 楼 skyxiaobai 2008-12-09  
恩,已经传上去了。谢谢大家的关注。
3 楼 wu521120 2008-12-10  
哥们,搞的不错,
小弟请个问题,我把工程导入到eclipse中发现源代码有些问题,缺包吗?
4 楼 skyxiaobai 2008-12-10  
不好意思,少一个包。马上传上去。多谢提醒了。
5 楼 索马里海盗 2008-12-11  
今天晚上回家了鼓捣鼓捣
6 楼 guying1028 2008-12-29  
我想知道bsh-core-2.0b4.jar是这什么样的包?
7 楼 wuhua 2009-01-05  
guying1028 写道
我想知道bsh-core-2.0b4.jar是这什么样的包?


应该是一个词库相关的吧
8 楼 jiaaiming 2009-01-08  
怎么我一导入工程就一堆错误,我用的是SDK_r2
9 楼 jiaaiming 2009-01-08  
还有一个问题就是我从外部导入的数据库已经存在database里面了,我还要在工程里面去写创建数据库或者表的代码么?我的QQ:183777280,谢谢,请问你的MSN或者QQ是多少啊?
10 楼 skyxiaobai 2009-02-27  
不好意思,很久没来了。
如果有问题,因为更新到sdk有关系。新版sdk中许多功能参数发生了变化。
11 楼 programmar 2009-03-09  
好东西就是要顶……
12 楼 rem1x 2009-04-16  
非常感谢博主的分享。
我的毕业设计也是基于android,你的论文给我提供了很好的参考,忍不住感谢一下!
13 楼 wby3902433 2009-04-16  
有好多的错误啊 。是sdk的问题吗,  敢问LZ的sdk是什么版本 ,好像用的都是旧方法。


亲爱的LZ,你那么强大,能不能用最新的SDK在做一个词典呢 ?

我QQ601215191

如果真的能做的话,贴在帖子里,  我,我,我感谢你八倍祖宗。。。。

14 楼 turionboy 2009-04-19  
楼上真搞笑呀,呵呵
15 楼 jkfzero 2009-06-02  
想知道楼主用的是什么词库。怎么使用的。
16 楼 heidi0607 2009-06-08  
很想知道,您开始就导入到File explorer 中的db格式的电子词典的数据库,是在哪里找到的呢,还是自己新建的呢?
17 楼 skyxiaobai 2009-06-12  
.db数据库文件,你可以自己做,不过可行性不大。我是从别的词库文件,然后通过sqlite数据库生成的。这样就可以了。
18 楼 chenzubin 2009-06-14  
支持一下~~~~~~~~~~
19 楼 heidi0607 2009-07-15  
那个db数据库能共享一下吗?因为你说的“从别的词库文件,然后通过sqlite数据库生成”,[email protected]m。非常非常感谢!
20 楼 endual 2012-04-11  
请问LZ你有用到ContentProvider么 ?
  相关解决方案