基于Android的手机通讯录设计书Word文档格式.docx
- 文档编号:18593471
- 上传时间:2022-12-28
- 格式:DOCX
- 页数:19
- 大小:139.06KB
基于Android的手机通讯录设计书Word文档格式.docx
《基于Android的手机通讯录设计书Word文档格式.docx》由会员分享,可在线阅读,更多相关《基于Android的手机通讯录设计书Word文档格式.docx(19页珍藏版)》请在冰豆网上搜索。
随着手机通讯录功能的不断加强与完善,手机通讯录对于人们的意义,已不仅仅像记事簿一样显示通讯地址,而是向着个性化、人性化的方向发展[4]。
通讯录从无到有,从英文到中文,经过了十几年的发展历程,今后的发展趋势就是从通讯录发展为名片夹,也就是在一个人名下,可以存储座机、手机、单位、地址、电子邮件等内容。
这种名片夹在电话薄的基础上,大大丰富了内容,同时结构也发生了革命性变化,而且随着手机的发展,相信更优秀的通讯录会越来越受到社会各层人士的喜爱。
2.组员分工
尹煜:
UI界面设计,数据类设计。
余迪:
Main(Activity)设计,AddNew(Activity)设计。
王荔:
UserDetail(Activity)设计,MainPrivacy(Activity)设计。
3.需求分析
3.1前期调研
通过对已有的手机通讯录的研究,对其基本业务流程进行分析,确定出基本的处理需求:
用户的行为:
增、删、改、查、备份与还原。
Ø
增:
增加联系人的基本信息;
删:
删除已有联系人的基本信息;
改:
修改已有联系人的信息;
查:
查询联系人的基本信息;
备份与还原:
备份该通讯录数据库中的数据到SD卡上,或者从SD卡上还原备份的数据。
3.2数据流图
根据“功能分解,逐步求精”的原则,此次需求分析的数据流图主要分为三层:
顶层数据流图:
确定系统的输入与输出、第一层数据流图:
对系统进行第一层功能分解,确定系统的主要工作、第二层数据流图:
确定系统详细的工作流图
底层数据流图:
3.3数据字典
数据流图表达了数据和处理的关系,数据字典则是系统中的各类数据描述的集合,是进行详细的数据手机和数据分析做得到的主要成果,可以自己设计一套适合阅读的图表。
本设计的数据字典有:
联系人的信息,具体如下:
4.系统设计
4.1总体设计
Android手机通讯管理软件主要功能模块包括:
联系人添加、联系人查看、联系人编辑、联系人删除、联系人查找、呼叫、发送短信、数据备份与还原、个人空间等,如图5-1所示:
图5-1总体设计图
4.2数据库表结构
4.2.1实体
根据需求分析的数据流图,对其进行自底向上的分析。
抽象出设计视图,集成局部视图,得到全局的概念结构。
本数据库的实体为:
联系人信息(头像,姓名,手机号码,办公室号码,家庭电话,职务职称,单位名称,地址,邮编,Email,其他联系方式,备注)
4.2.2系统E-R图
根据E-R的设计过程,根据初始数据流图设计初始的E-R图,而后将各分E-R图集成,消除冲突、消除冗余,得到最初的E-R图,对其进行分析和根据规范化理论进行规范化,集成视图,最后形成基本的E-R图。
其过程如图所示:
联系人实体E-R图
图5-2联系人信息实体E-R图
4.2.3数据库表设计
根据上述联系人实体E-R图,设计出数据库的表,如表5-1所示,
表5-1user表的设计
字段名
数据类型
是否为空
约束条件
备注
_id
int
非空
主键
自动增量
name
Text
mobilephone
可以为空
officephone
familyphone
address
othercontact
position
company
zipcode
remark
imageid
privacy
隐私用户1
普通用户0
4.3输入/输出设计
在这个系统中,通过对系统的分析,可以识别出参与者:
用户。
对于用户而言,通讯录上按钮、菜单、输入框是用户向系统输入的操作请求的输入设备,GUI与是用于向用户输出信息的输出设备。
图5-3通讯录的参与者
事件是来自人操作的重要的消息,表5-2给出了通讯录系统中可能发生的所有事件。
表5-2系统响应及其执行结果
事件
系统响应
执行结果
1
从手机屏幕点击软件系统
调用函数入口,启动系统,进入该软件
进入该软件,显示联系人列表
2
点击"
Menu"
,选择添加联系人
调用添加函数
进入添加界面
3
点击其中一个联系人
调用查看/修改某个联系人函数
进入联系人详细界面
4
在联系人详细界面点击"
,可对联系人进行发送短信
调用系统发送短信函数
进入发送短信界面
5
,可对联系人进行拨打电话
调用系统拨打电话函数
进入呼叫联系人界面
6
,可对联系人进行修改
调用修改函数
修改联系人信息
7
,可对联系人进行删除
调用删除函数
8
在联系人列表界面点击"
,选择查找
调用查找联系人函数
显示用户查找结果
9
,选择退出
调用退出函数
退出通讯录软件
10
,选择菜单
调用菜单函数
先是菜单界面
11
在菜单界面选择显示所有人信息
调用显示函数
显示所有人信息
12
在菜单界面选择删除所有人信息
删除所有人信息
13
在菜单界面选择备份所有人信息
调用备份函数
备份信息到SD卡
14
在菜单界面选择还原所有人信息
调用还原函数
进入还原界面,还原信息到数据库
15
在菜单界面选择个人空间
调用私人空间类
进入私人界面
其中的输入包括:
用户选择的上述按钮、菜单,还包括输入框的内容,包括:
联系人头像、联系人姓名、手机号、家庭电话、单位电话、单位名、职位、住址、邮编、备注等信息。
其中输出包括:
根据用户的选择输出的相应内容,如:
联系人列表显示信息、联系人详细信息等。
4.4处理过程设计
4.4.1业务流程图
用户进入手机通讯管理软件后,会看到联系人列表界面。
联系人列表界面主菜单中包括:
添加、搜索、删除、菜单、退出;
其中菜单又包括:
显示所有联系人、删除所有联系人、备份信息到SD卡、还原数据到通讯录、个人空间、退出。
点击添加联系人,则进入联系人添加界面,添加成功后返回联系人列表界面。
点击搜索菜单,则进入联系人搜索界面,输入联系人的全名或一个字,即可查找到相关联系人,点击联系人会进入联系人查看界面,可以对联系人进行编辑、删除、拨打电话、发送短信,,长按某分联系人,可以选中该联系人,点击删除,会删除已经标记的联系人。
点击菜单,可进入菜单界面:
点击所有联系人,可以显示所有人信息、点击删除所有联系人,可以删除所有人信息、点击备份信息到SD卡,可以将数据库数据备份到SD卡、点击还原数据到通讯录,可以从SD卡上备份的数据还原到数据库、点击个人空间,输入密码并进入个人操作界面、点击退出,退出到主界面。
该软件的业务流程如图5-4所示:
图5-4系统业务流程图
4.4.2系统Activity设计
根据Android的Activity设计原则,设计出整个系统的界面,如图5-5所示:
图5-5系统Activity设计图
4.4.3功能处理设计
1.浏览联系人
[1]用例名称:
浏览联系人
[2]用例描述:
浏览联系人列表
[3]角色:
手机用户
[4]前置条件:
通讯录中已有联系人
[5]后置条件:
显示出所有联系人
[6]基本路径
A.打开通讯录
B.系统查询数据库
C.显示出联系人列表
2.查看联系人
查看联系人
[2]用例描述:
查看联系人信息
[3]角色:
[4]前置条件:
[5]后置条件:
给出联系人信息
A.查看联系人信息
B.给出相关信息
3.编辑联系人
编辑联系人
编辑联系人信息
A.输入要修改的新信息
B.修改联系人信息
4.删除联系人
[1]用例名称:
删除联系人
A.选中联系人,选择删除操做
B.询问是否确定删除操作
C.删除联系人
上述三种业务操作的流程图
图5-6查看/修改/删除流程图
5.查询联系人
查询联系人
查询联系人信息
A.输入查找的数据
B.查询列表根据数据动态现实出信息
点击Menu菜单,选择查找联系人跳转SearchContactActivity,在查找联系人界面中,TextView被监听,根据TextView输入的数据,进行查询后在List中显示。
图5-7查询联系人流程图
6.菜单操作
菜单操作
选择菜单功能
单击菜单按钮
进入菜单界面
A.单击菜单按钮
B.选择菜单的功能
图5-8菜单操作流程图
4.4.4系统界面设计
本系统一共有11个页面文件,主要的界面如下:
Main.xml文件,如图5-9所示,显示已经存储的联系人数据数据:
图5-9系统主界面
AddNew.xml文件,如图5-10所示,显示添加联系人的选项,完成联系人的添加:
图5-10添加联系人界面
Main-menu_grid.xml显示弹出的主菜单的对话
图5-11主菜单界面
5.详细设计
完成上述的操作后,便是进行代码的编写和调试,使用Java语言和AndroidAPI进行程序设计。
5.1开发环境
开发软件:
Eclipse、JDK1.7、AndroidSDK、ADT
开发环境:
Windows7
虚拟设备:
AndroidAVD
开发版本:
Android2.1
5.2程序设计
5.2.1数据类设计
用户User类
如图6-1所示,主要用于暂存页面获得的信息,然后再存入数据库中。
图6-1User类
DBhelper类
如图6-2所示,主要完成数据库的表的创建和数据的添加删除以及备份的功能,以下是各个具体的函数和变量。
图6-2DBhelper类
insert(User)函数实现:
完成数据的插入,并根据插入是否成功,返回一个长整型的值
getAllUser(boolean)的实现:
完成数据的显示,使用SQLiteDatabase.query()方法,利用cursor对象,一一取出字段的值,放入一个hasp表中,最后存入数组列表中,返回给数组列表。
modify(User)函数的实现:
使用user类中的字段,更新数据库
delete(int)函数的实现:
根据数据的id进行单个数据的删除
deleteAll(int)函数的实现:
删除所有数据
getTotalCount()函数的实现:
使用cursor对象getint()方法得到数据的个数
getUsers(Stringboolean)函数的实现:
完成数据的查找,使用SQL语句中的模糊查找,然后放入数组列表,进行返回。
deleteMarked(ArrayList<
Integer>
)函数的实现:
删除被标记多个数据的数据,
backupData(boolean)函数的实现:
新建一个字符串,把当前所有数据的值写成一个insert语句存入字符串中,以便备份的时候能够插入到数据库中
saveDataToFile(string,boolean)函数的实现:
把插入字符串写到zpcontacData下的文件中
publicvoidbackupData(booleanprivacy){
StringBuffersqlBackup=newStringBuffer();
Cursorcursor=null;
if(privacy){
cursor=dbInstance.query(DB_TABLENAME,
newString[]{"
_id"
"
name"
mobilephone"
officephone"
familyphone"
address"
othercontact"
email"
position"
company"
zipcode"
remark"
imageid,privacy"
},
"
privacy=1"
null,null,null,null);
}else{
privacy=0"
null,null,null,null);
}
while(cursor.moveToNext()){
sqlBackup.append("
insertinto"
+DB_TABLENAME+"
(name,mobilephone,officephone,familyphone,address,othercontact,email,position,company,zipcode,remark,imageid,privacy)"
)
.append("
values('
.append(cursor.getString(cursor.getColumnIndex("
))).append("
'
'
.append(cursor.getInt(cursor.getColumnIndex("
imageid"
privacy"
)))
);
).append("
\n"
saveDataToFile(sqlBackup.toString(),privacy);
restoreData(string)函数的实现:
载入备份文件,读出插入字符串,写到数据库中,完成备份
findFile(string)函数的实现:
判断文件是否存在,能否备份
MyDBHleper类:
继承于SQLiteOpenHelper,主要有俩个函数,onCreate()和onUpgrade()
onCreate()函数主要用于数据库中表的创建。
onUpgrade()函数主要用于数据库的版本不对应,重新创建表。
5.2.2Main(Activity)设计
如图6-3所示,显示了Main(Activity)涉及的变量以及调用和重写的函数:
图6-3Main(Activity)
onCreate(Bundle)为主函数,创建ListView对象,将数据与adapter集合起来,显示给用户看,然后响应ListView的点击事件,跳转用户详细信息页面。
onActivityResult()函数的实现:
此函数主要是判断是从那些页面跳转到主页面,并刷新主页面
onKeyDown(intKeyEvent)的函数实现:
响应点击Menu按钮时的事件,用于设置底部菜单是否可见
loadBottomMenu()函数的实现:
主菜单的点击事件的响应,实现各种功能模块
getMenuAdapter(string[])函数的实现:
将图片和文字设置在一个集合中,组成一个菜单
5.2.3AddNew(Activity)设计
如图6-4所示,AddNew(Activity)用到的变量以及函数
图6-4AddNew(Activity)
onCreate()函数的实现:
实现头像的选择,数据的填写。
loadImage()函数实现:
使用gallery控件和imageswith实现头像的加载和选择
ImageAdapter类的实现
自定义头像适配器
publicViewmakeView(){
ImageViewview=newImageView(this);
view.setBackgroundColor(0xff000000);
view.setScaleType(ScaleType.FIT_CENTER);
view.setLayoutParams(newImageSwitcher.LayoutParams(90,90));
returnview;
}
initImageChooseDialog()函数实现:
完成图像的选择对话框
5.2.4UserDetail(Activity)设计
函数基本同AddNew(Activity),增加了修改按钮的点击事件和删除按钮的点击事件。
增加的函数有:
loadUserData():
获得控件,为控件赋值
setEditTextAble():
把页面中的控件可修改
setColorToBlack()
设置显示的字体颜色为黑色
setColorToWhite()
设置显示的字体颜色为白色
setEditTextDisable()
把设置控件不可修改
privatevoidmodify(){
数据更新函数
delete()
数据删除函数
onCreateOptionsMenu(Menu)的实现:
通讯菜单的实现,完成联系人的打电话,发短信,发邮件功能
5.2.5MainPrivacy(Activity)设计
如图6-5所示,MainPrivacy(Activity)涉及到的变量以及函数
图6-5MainPrivacy(Activity)类图
用到的函数:
onCreate();
onActivityResult();
onKeyDown(int,KeyEvent);
loadBottomMenu();
loadMainMenuDialog();
loadSearchLinearout();
getMenuAdapter(String[],int[]);
onDestroy();
函数与Main(Activity)的函数相同,不再赘述。
图7-1添加联系人测试图
6设计总结
6.1设计特点
学习完计算机等相关专业课程后,对计算机软硬件知识有了一定的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 Android 手机 通讯录 设计