要想控制手机界面的显示方式,则必须使用布局这一概念。布局就像容器,里面可以装下很多控件。布局里面还可以套用其他的布局。这样就可以实现界面的多样化以及设计的灵活性。
(1) LinearLayout(线性)布局: 线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的。包括垂直线性布局和水平线性布局。
(2) RelativeLayout(相对布局)就是以相对的方式定位布局,允许子元素指定他们相对于其它元素或父元素的位置(通过ID指定)。相对布局示例如图3-2所示:
图3-2 Android相对布局
(3) FrameLayout(帧布局)是最简单的一个布局对象。是一个框架布局样式,可以用include标签载入定义的另一个layout文件,所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前 一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。 (4) TableLayout(表格布局) 是一种类似表格的布局,这种布局会把包含的元素以行和列进行排列。表格的列数为所有行中的最大列数;每一行可以是一个Table Row布局对象,也可以是普通的View(视图)对象,TableRow里面每一个元素占一列TableLayout总列数由列数最多的那一行决定。
因此,要想实现各种显示效果,可根据不同的界面需求,选用不同的布局方法。 3.3 英语背单词软件需求分析与性能分析
技术可行性上,Android是一个成熟强大的移动操作系统,而且是一个开源的系统,市场占有率很高。Android应用是用java语言,虽然版本有好多,但一般会向下兼容,用Eclipse + ADT来创建应用程序,Android提供开发的足够的接口API让开发者开发功能强大的应用程序。
7
经济可行性上,该应用程序不需要服务器端,不需要与别的应用进行交互,只需要本地Android智能机设置好,用户学习内容自动保存,而且复习计划可自行设置提醒。占用内存小,用户电池消耗小。所以该方案是可行的。
操作可行性上,利用现有的windows系统进行开发。使用Eclipse作为开发工具以及使用Sqlite作为数据库,通过模拟器进行程序调试,然后通过android智能机进行功能测试。整个过程平台广泛,皆可实现。
系统性能分析方面要求程序响应速度快、安全性高、信息处理速度快。 3.4 英语背单词软件操作流程图与数据库设计 3.4.1 英语背单词软件操作流程图
本英语背单词软件的操作流程图如图3-3所示:
启动 选择词库 学习习
复 习 测 试 生词本 发音加入生词本发音加入生词本测试结果加入生词本删除编辑单词3.4.2 数据库的创建与设计
当前android平台采用的是sqlite数据库。SQLite数据库功能强大,使用方便。 本系统使用了SQLite数据库来保存英文单词信息。在Android中创建和打开一个数据库都可以使用openOrCreateDatabase方法来实现,本系统创建了名为“wordroi d.db”的数据库,并返回一个SQLiteDatabase对象db如下:
SQLiteDatabase db=SQLiteDatabase.openOrCreateDatabase( DB_NAME, null); DB_NAME为数据库的储存地址:\data/data/wordroid.model/databases/wordroid.db\ 创建表通过execSQL方法来执行一条SQL语句。本系统创建了一个名为sql的表。具体代码如下:
图3-3 操作流程图
8
String sql=\CREATE TABLE \+ table + \( ID text not null, SPELLING text not null , MEANNING text not null, PHONETIC_ALPHABET text, LIST text not null\db.execSQL(sql);
向表中添加一条数据使用insert方法来添加数据即单词。具体实现如下:
db.insert(table, null, values);
通过使用update方法来修改表中数据,具体实现如下: db.update(table, values, whereClause, whereArgs);
通过使用delete方法从表中删除数据。关闭数据库很重要,经常容易忘记。直接使用SQLiteDatabase的close方法。
在Android中查询数据是通过Cursor类实现的,使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor指向的就是每一条数据。注意Android使用Cursor类返回一个需要的值,Cursor作为一个指针从数据库查询返回结果,使用Cursor允许Android更有效地管理它们需要的行和列,运用cursor.moveToFirst()是对Cursor指向的位置进行操作:移到第一行。
wordroid.db文件放在Eclipse Android工程中的res文件夹下的raw目录中,通过使用getResources().openRawResource方法获得raw目录中资源的InputStre am对象,然后将该InputStream对象中的数据写入手机内存或SD卡的目录中相应文件中。如图3-4所示:
图3-4 数据库文件
9
在wordroid数据库中主要包含以下几个表格: ? 表BOOKS
该表记录了词库的基本信息,包括词库的ID,词库的名称,加入时间,list数量,单词数量。如下表3-1所示:
表3-1 BOOKS表 字段 类型 非空 默认值 主键 描述 √ √ ID text 编号 √ NAME text 名称 √ GENERATE_TIME text 加入时间 √ NUMOFLIST text List数量 √ NUMOFWORD text 单词数量
BOOKS表具体内容如图3-5所示:
图3-5 表BOOKS
? 表book1
该表记录了单词的基本信息,包括单词的编号,单词的拼写,单词的意思,单词音标,所属list. 如下表3-2所示:
表3-2 book1表 字段 类型 非空 默认值 主键 描述 √ √ ID text 编号 √ SPELLING text 拼写 √ MEANNING text 意思 PHONETIC_ALPHABET text 音标 √ LIST text 所属list 10
表book1具体内容如图3-6所示:
图3-6表book1
? 表book2
该表记录了单词的基本信息,包括单词的编号,单词的拼写,单词的意思,单词音标,所属list。见表3-2。
表book2具体内容如图3-7所示:
图3-7表book2
? 表book3
该表记录了单词的基本信息,包括单词的编号,单词的拼写,单词的意思,单词音标,所属list。 见表3-2。
表book3具体内容如图3-8所示:
11
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库基于Android的背单词软件设计与实现计算机毕业论文(3)在线全文阅读。
相关推荐: