第十一组大作业联系人管理软件
- 格式:doc
- 大小:278.00 KB
- 文档页数:15
联系人管理软件
----第十一组成员所选课题一、摘要:(孙勇平200810510210)
随着形形色色的智能手机软件的不断涌现,更多的智能手机用户都在频繁的安装和使用。
加之平时密集的短信聊天,全部都集中在这部小小的手机上,功能齐全的智能手机在让用户体验到方便快捷的同时,有时也让手机用户感觉有点乏力。
联系人管理软件就是在这样的背景之下开发的。
联系人管理软件是在电脑端管理Windows Mobile 手机内的联系人数据和信息的软件,它能帮助您实现日常的手机信息提取和常规管理,是智能手机不可多得的好助理。
二、层次结构图:(罗增玖200810530101)
下图分别为联系人管理软件手机端和PC端应用的总体架构图:
图手机端应用总体架构
图PC端应用总体架构
三、各部分功能与设计方法详细说明:(李强200810510220)(1)联系人管理软件需要实现以下的功能:
1、PC端同步手机端的联系人数据。
2、PC端实现联系人信息的提取以及相关的常规管理操作。
3、PC端实现粘贴板传送功能。
4、PC端的界面可以让您对自己手机中的联系人信息一目了
然,可方便地查找或删除。
5、PC端必须实现联系人导出/导入功能,让您的手机的数据
备份/恢复,瞬间即可完成。
6、手机端对Outlook联系人和SIM卡联系人分开管理。
7、手机端要能够实现联系人导出/导入功能,方便的备份和恢
复联系人数据
8、PC端和手机端联系人信息必须实时的交互。
9、完全兼容设备端WM2003、WM5.0、WM6.0
10、支持PC端Cab文件安装
(2)功能模块:
联系人管理软件联系人编辑、联系人管理、联系人搜索等功能。
本软件可以划分为以下的功能模块:联系人数据读写模块,手机端联系人管理模块,通讯模块,PC端联系人管理模块
1、联系人数据读写模块:
联系人数据读写模块主要实现在手机端提取手机上联系人的信息的功能,智能手机的联系人按照存储位置的不同,主要分为Outlook 和SIM卡联系人两部分,Outlook联系人主要存储在手机内存中,和电子邮件系统共享数据:SIM卡联系人主要是存储在手机SIM卡上数据区中,由SIM卡独享这些数据。
联系人数据读写模块实现的功能:
下图为联系人数据读写模块
2、手机端联系人管理模块:
3、通讯模块:
4、PC端联系人管理模块:
四、设计说明与分析:(王义强200810510222)
1、手机端联系人管理模块实现了在手机端对Outlook联系人和SIM 卡联系人的管理,通过接口函数实现对联系人数据读写模块的交互,进而达到操作底层联系人的目的,其主要的调用流程如图所示:
如图所示,主界面通过主界面的回调函数接收用户输入选择,然后分别调用联系人转换、删除接口和联系人备份导入接口,实现不同的功能调用。
联系人转换、删除接口因为要对底层的Outlook联系人和SIM卡联系人数据进行操作,所以调用的模块是前面介绍的联系人数据读取模块,当该模块接收到接口的调用请求以后,由联系人数据读取模块进行数据的读取操作,然后将读取的反馈提交给接口函数。
联系人备份导入接口主要是对手机端的文件进行操作,接口的交互对象主要是Windows Mobile的系统底层文件系统。
Windows Mobile系统的系统文件系统是桌面Windows系统的简化版本,在文件操作过程中可以直接使用Windows文件操作的方法。
2、数据链接流程
在用户数据完成了封装,并经过数据加密以后,就可以在手机端和PC端之间进行传输了。
其数据链接的模型如图所示
PC端
在程序启动过程中,PC端首先建立并配置Scoket,然后发送建立链接请求。
手机端在接收到建立链接请求以后也开始建立并配置Scoket端口,同时和PC端建立数据链接。
再建立链接以后,PC端和手机端就可以进行稳定的数据传输了。
在本模块设计中,将PC端设置为服务器,而手机端设置为客户端,这样当程序启动时,由PC端发起链接,手机端作出应答,有利于程序的管理。
数据链接的接口函数实现如表所示:
3、手机端联系人管理模块调用流程
上表列出了PC端联系人管理模块的所有主要接口,其中最重要的两个接口函数为OnDoMessage和OnDownload。
OnDoMessage是PC端的数据包的接收函数,当PC端在数据缓冲区接收到手机端发送的数据以后,经过解密的数据包的用户数据区数据被传递到OnDoMessage函数中,由该函数解析用户数据区的数据包头,根据包头中的内容将后续的数据传递给PC端各个处理函数;OnDownload函数是PC端的数据发送函数,当用户在PC端对联系人信息进行修改后,OnDownload函数负责把修改后的联系人数据发送给手机端。
(4)调用流程PC端联系人管理模块主要是为了方便用户在PC端对手机端的所有联系人数据进行管理,其主要的调用流程如图所示:
在手机端联系人管理模块中,当用户对PC端对联系人信息进行修改以后,主界面回调函数根据用户的具体操作调用OnDownload函
数。
在这个过程中,PC端的联系人数据并不发送变化,OnDownload 函数收集用户的修改操作,并将修改的内容填入用户数据区,然后交给通讯模块将数据包发送给手机端。
手机端在接收到数据包并对手机端联系人进行相应的操作。
操作成功后,将修改成功后的联系人数据放入数据包中再发送回PC端,PC端接受到数据包
后调用OnDoMessage函数解析用户数据区的数据包头,然后根据包头定义的数据操作命令调用具体的操作函数。
在调用完具体的操作函数以后,PC端的联系人数据才真正的改变。
这样可以保证PC端和手机端的联系人数据的一致性。
五:成员的详细分工:
第十一组成员:孙勇平200810510210
李强200810510220
王义强200810510222
徐光河200810510224
陶婷200810510233
罗增玖200810530101
六、程序界面设计:(陶婷200810510233)
联系人管理软件主要有三个功能界面,包括手机端主界面、手机端联系人选择界面、PC端主界面。
联系人管理软件在手机端是基于触摸笔的应用,界面布局设计需要适用于触摸笔操作,个节目需遵循简单、一致性等原则。
手机端主界面是手机端联系人管理所有操作发起的界面,是各
个手机端功能的主要界面,其布局如下图所示:
手机端联系人选择界面是进入具体联系人操作以后出现的联系人显示界面,按照自上而下从左至右的顺序分别包括标题栏、联系人搜索框、联系人县市区,界面布局如下所示:
PC端主界面是用户在PC端进行操作的界面,按照自上而下从左至右的顺序分别包括应用菜单栏、即便新校区和联系人信息县市区,界面布局如下图所示:
七、源代码分析:(徐光河200810510224)
(一)、在本课题中Outlook联系人和SIM卡联系人数据的存储结构被分别定义为以下两个结构:
1、Outlook联系人数据结构:
typedef struct ta&-DataItemEx
{
WORD type;
DWORD cbSize;
LPBYTE pdataltem;
}DataltemEx;
typedef struct tag_ContactDataEx
{
DWORD oid;
DWORD cbdataSize;
DWORD cbSizeItem;
DataltemEx木pdata;
}POOMContactDataEx;
2、SIM卡联系人数据结构:
typedef struct tagSimPhonebook
{
DWORD dwlndex:
TCHAR IpszAddress[MAX_LENGTH_ADDRESS];
TCHAR lpszText[MAX_LENGTH_PHONEBOOKENTRYTEXT]:
}SIMPHONEBOOK;
(二)、用户数据封装其数据结构
typedef struct tag_netpacket
{
//数据包头
JLNETPACKETHEAD head;
//约定一个完整包的最大长度不能超过4k,data中的数据尽量是的倍数。
BYTE Data[PACKET_USER_MAX_LENGHT];
∥包属于哪个套接字
UINT idSocket;
)NEn,ACKET;。