概要设计-基于Android的即时聊天工具_第1页
概要设计-基于Android的即时聊天工具_第2页
概要设计-基于Android的即时聊天工具_第3页
概要设计-基于Android的即时聊天工具_第4页
概要设计-基于Android的即时聊天工具_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MainDisplay概要设计总页数 正文 附录 生效日期 2013/12/14编制 批准南昌航空大学东软班 概要设计修 改 履 历修改编号 日期 修改人 版本号 修改内容1 VER0.1.0 初始做成23南昌航空大学东软班 概要设计目 录1 文档概述 .41.1 文档目的和范围 .41.2 术语/缩略语 .41.3 参考文档 .42 模块概述 .42.1 模块功能定义 .42.2 模块结构 .52.3 模块动作时序 .63 接口说明 .63.1 数据结构定义 .63.2 函数 .73.2.1 模块间接口函数 .73.2.2 模块内接口函数 .12南昌航空大学东软班 概要设计1 文档概述1.1 文档目的和范围本文档的目的是说明对软件系统的设计考虑,包括其基本处理。流程、系统的组织结构、模块划分、功能分配、接口设计,运行设计、数据结构设计和出错处理设计等,为程序的详细设计提供基础。1.2 术语 /缩略语序号 术语/缩略语 说明1 多线程 客户端与客户端以及客户端与服务器间通讯的方式21.3 参考文档序号 文档名 作者 时间 版本1 Google Android SDK 开发范例大全余志龙,陈显勋,郑明杰2009 人民邮电出版社2 标准化的即时通信协议SIMPIE 和 XMPP 的对比研究 张云川 2005 自然科学版2 模块概述主要实现即时通讯系统的基本的通讯功能和查看历史记录的功能。这期间牵涉到服务器与客户端进行通信的方式,界面设计以及基本功能间的联系和各个模块间的接口问题。但最后的结果是通过本系统可以进行基本的聊天功能、设置用户信息、查看聊天的历史记录、好友分类等功能。2.1 模块功能定义序号 功能点 功能点详细内容1 用户注册 用户如果没有可用的 ID,可填写个人信息进行注册,向服务南昌航空大学东软班 概要设计器提交后服务器返回相应的信息2 用户登录 用户可选择相应的服务、用户名和密码进行登录即时系统3 用户设置 可对用户的基本信息进行一些选项的设置4 查看好友信息 登录成功后,可以按照分组查看所有好友的概要信息和详细信息5 用户创建、修改、删除分组创建新的分组以对好友进行更好的管理,以及对分组信息进行修改,也可删除现有分组6 用户添加、修改、删除好友根据其他用户的 ID 添加进自己的好友至某个分组,也可修改好友备注信息以及删除好友7 用户向好友发送信息用户登录后可向某个好友发送信息,若好友不在线,会暂存于服务器中,待其上线后收到消息8 用户接收好友信息 用户登录成功后会监听好友发送过来的信息,并显示在相应的界面上9 查看聊天记录 用户可查看与某个好友的聊天记录10 用户注销 用户注销,退出本系统2.2 模块结构2.2.1 客户端功能模块2.2.2 应用功能模块SQLite 数据库数据模块解析模块系统服务器用户聊天窗口用户管理通讯模块南昌航空大学东软班 概要设计2.2.3 服务器端消息处理功能模块2.3 模块动作时序3 接口说明(1)AIDL 接口: ject.beem.service.aidl AIDL 接口的定义把系统的模块一层一层封装使结构更加清晰;在 AIDL 中封装Contact、Message、UserInfo 等类是因为在 Service 中如果要传递对象必须是要继承自 Parcelable 的对象的;在多个类中都用了 RomoteCallbackList 主要是用于回调在 Activity 中实现的一些监听器;Avater 是指头像信息,PrivacyList 是用来定义更多用户状态信息(如定义离开消息:“我吃饭去了”等等) 。一些 AIDL客户端 连接管理组件 认证组件返回错误会话管理组件 Client Session发起讨论发起成功发起失败创建会话南昌航空大学东软班 概要设计的实现及描述建下表。Service.aidl 包 Aidl 对应的实现 描述IBeemConnectionListener.aidl IXmppConnection 中调用 添加连接监听的回调接口IXmppConnection.adil XmppConnectionAdapter 用于 xmpp 连接处理接口IXmppFacade.aidl XmppFacade 用于 xmpp 连接管理提供调用接口IChatManager.aidl XmppChatManager 用于聊天管理IChatManagerLister.aidl IChatManager 中调用 为聊天加入回调接口IChat.aidl ChatAdapter 封装聊天处理方法IMessageLinster.aidl IChatManger 中调用IChat 中调用提供消息处理回调接口(2)service 的主要类:XmppConnectionAdapter 连接 XMPP 协议客户端的适配器,此类提供了一些公共方法,见下表:方法名 描述 Connect Xmpp 连接方法 addConnectionListener 添加 xmpp 连接监听器 Login Xmpp 登录方法 ConnectAsync 异步连接getChatManager 得到聊天管理器getRoster 得到用户花名册 XmppFacade:xmpp 连接管理外部接口方法名 描述 Viod changeStatus(int status,String msg) 修改状态信息 xmppConnectionAdapter createConnection() 创建 xmpp 连接Void disconnect() 销毁 xmpp 连接 IChatManager getChatManeger() 获得聊天管理器 Void sendPresencePacket(PresenceAdapter presence) 发送状态包(离线 unavailable,上线 available) Boolean publishAvatar(Uri avatarUri) 发布自己的头像 void disableAvatarPublishing() 隐藏自己的头像 南昌航空大学东软班 概要设计UserInfo getUserInfo() 获取当前用户的信息 BeemChatManager: 聊天管理,用于管理聊天对象的创建,消息的监听方法名 描述IChat createChat(Contact contact, IMessageListener listener) 通过联系人创建对话IChat createChat(String jid, IMessageListener listener) 通过 JID 创建对话void destroyChat(IChat chat) 销毁对话void deleteChatNotification 删除消息private ChatAdapter getChat(Chat chat) 得到会话适配器addChatCreationListener 添加会话监听ChatAdapter getChat(Contact contact) 通过联系人得到会话适配器List getOpenedChatList() 得到联系人列表 void removeChatCreationListener( IChatManagerListener listener) 删除会话监听器ChatAdapter:主要处理对话的内容,状态等信息void addMessageListener( IMessageListener listen) 当创建新聊天对象创建时加入消息监听void removeMessageListener( IMessageListener listen ) 移除消息监听器,用于聊天对象注销

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论