1、 本 科 毕 业 设 计 ( 论 文 )基于 Android 平台的聊天系统设计与实现学 院 名 称 计 算 机 科 学 与 技 术专 业 名 称 信 息 安 全学 生 姓 名学 号指 导 教 师二一三年六月 基于 Android 平台的聊天系统设计与实现摘要本课题主要研究基于 Android 的移动聊天系统,以更好的用户体验性为目的开发出界面简洁,用户易操作的移动即时通信聊天工具。该聊天工具的主要功能:用户注册,登录,好友一对一聊天,群组聊天。在该即时通信工具中的数据传输是通过 Socket 编程实现。客户端之间通过服务器对数据的转发实现相互通信。本文首先概述了 IM 聊天工具的背景,其次是
2、课题的目的及意义,然后介绍了软件开发的环境和开发工具及其技术,给出了软件的系统架构,各个模块的流程图及用例,然后详细介绍了改即时通信的工具的设计与实现,最后对系统进行简单的测试。关键词:Android,即时通信,多线程,注册,登录,聊天基于 Android 平台的聊天系统设计与实现基于 Android 平台的聊天系统设计与实现AbstractThe main research topics of the graduation Android-based mobile chat system, according to its architecture and design principles
3、 developed interface is simple and easy to operate mobile instant messaging chat tools. The main function of the chat tool: user registration, login, friends one-on-one chat, group chat. Data transmission in the real-time communication tools Socket Programming. Communicate with each other on the dat
4、a forwarding between the client through the server.The paper first outlines the background of the IM chat tool, followed by the purpose and significance of the issues, and then describes the software development environment and the development of tools and technology, the software system architectur
5、e, the flow chart of each module and use cases, and then detailed change instant messaging tool design and implementation, and finally a simple test system.Keywords: Android, instant messaging, multi-threaded, socket, client / server基于 Android 平台的聊天系统设计与实现目录第一章 绪论 .11.1 聊天软件背景 .11.2 课题目的及意义 .21.4 设计
6、思想 .41.5 工作方法 .4第二章 Android 聊天系统需求分析 52.1 任务概述 52.1.1 目标 .52.1.2 用户特点 .52.1.3 定义 .52.1.4 假定与约束 62.2 需求规定 .62.2.1 系统功能需求 .62.2.2 用户注册 92.2.3 用户登录 .112.2.4 用户主面板 .122.2.5 用户聊天 132.2.6 好友上下线提示 .152.2.7 增加好友 152.3 对性能的规定 .152.3.1 精度 152.3.2 时间特性要求 162.3.3 灵活性 162.4 输人输出要求: 162.5 数据管理能力要求 162.6 其他专门要求 16
7、2.7 运行环境规定 162.8 支持软件 17第三章 基于 Android 平台的聊天系统设计 .183.1 定义 .183.1.1 专业术语 183.2 总体设计 .183.2.1 运行环境 183.3 基本设计概念和处理流程 193.3.1 系统逻辑构架图(图 3.1) 193.3.2 系统物理架构图 (图 3.2) .203.3.4 顶层系统包图(图 3.3) .20基于 Android 平台的聊天系统设计与实现3.3.5 具体处理流程 .213.4 子系统设计 243.4.1 用户信息: 243.4.1.2 功能概要: 243.4.2 用户登录 273.4.3 聊天管理 .283.5
8、 接口设计 313.5.1 用户接口 .313.5.2 外部接口 .323.5.3 内部接口 323.6 运行设计 323.6.1 运行模块组合 323.6.2 运行控制 333.6.3 运行时间 333.7 系统数据结构设计 333.7.1 逻辑结构设计 333.7.2 物理结构设计(图 3.14) .353.7.3 数据结构与程序的关系(图 3.15) .363.8.系统出错处理 .363.8.1 出错信息 363.8.2 补救措施 37第四章 基于 Android 平台的聊天系统实现 .394.1 服务端模块 .394.2 客户端模块 .414.2.1 客户端启动界面 .414.2.2
9、登录模块 .434.2.3 注册界面 .484.2.4 登录成功 .51第五章 基于 Android 平台的聊天系统系统测试 .58“结论” .60“致谢” .61参考文献 .62基于 Android 平台的聊天系统设计与实现1第一章 绪论随着现代技术的不断输入和信息化的广泛普及,移动网络作为一种新兴事物,在近些年得到了前所未有的普及和深入,移动网络上的各种应用层出不穷,给各个阶层、各个年龄段的用户提供了不同的个性化的服务。而现代中小型企业的领导认识到进一步提高企业信息化的必要性。为使企业能在瞬息万变的信息时代生存下去,适应激烈的市场竞争,现代企业要求加强员工之间的交流和通信能力,尤其是领导和
10、员工之间的共同能力,实时的交流系统就是在这种条件下诞生的。系统开发是一个十分复杂的系统工程。这里对系统开发的基本过程和方法进行介绍,列出相关文档的示例并加以说明。要提高市场竞争力,就要对市场作充分的调查和详细的研究,同时也要有好的客户服务。企业要在复杂的环境下作出对策。员工与员工 员工与领导间的即时交流尤为重要,移动网络在线聊天系统对于企业来说就是一种交流和通信的平台,本系统做到了信息的及时的反馈,即时的处理并作出相应的行动。移动网络通信是网络应用的重要体现方面。移动网上即时通信则是移动网络应用的重要体现方面。本聊天系统主要应用于小型企业,学校或小型局域网内部使用。本应用程序使短距离交流更加快
11、捷和便利,更能高效率的体现现代即时通信的特点。本系统能够满足中小型企业,学校的内部网络即时通信的需要,在内部网络正常环境的运营下,提供即时通信的能力,本系统使用 java(Server),Android(Client)开发,本系统能够为中小型企业协同工作,相互间的交流提供了有力的工具,运用在局域网的本系统,能够为企业员工的交流提供帮助,有利于提高工作效率。1.1 聊天软件背景 聊天软件,就是通常我们说的即时聊天工具 IM,我们常用的聊天软件有QQ,微信,飞信等。 需要协议支持,传统的 socket 编程并不满足聊天的功能,比如服务器与客基于 Android 平台的聊天系统设计与实现2服端的双向
12、交互,消息的双向推送。 在移动互联网时代,我们需要基于移动终端开发新型的聊天软件,以满总大众的需求,常用的移动设备终端操作系统 ios,android,wp7 等等。 目前的聊天软件基本分为 2 种架构形式, (1) 、C/S 架构:采用客户端/服务器形式,用户使用过程中需要下载安装客户端软件,典型的代表有:QQ、微信 、微博 、YY、IS、MSN 等;(2) 、B/S 架构:即浏览器/服务端形式,这种形式的即时通讯软件,直接借助互联网为媒介、客户端无需安装任何软件,既可以体验服务器端进行沟通对话,一般运用在电子商务网站的服务商,典型的代表有 Websitelive 、WebQQ 等。1.2
13、课题目的及意义通常 IM 服务会在使用者通话清单(类似电话簿)上的某人连上 IM 时发出讯息通知使用者,使用者便可据此与此人透过互联网开始进行实时的通讯。除了文字外,在频宽充足的前提下,大部分 IM 服务事实上也提供视讯通讯的能力。实时传讯与电子邮件最大的不同在于不用等候,不需要每隔两分钟就按一次“传送与接收” ,只要两个人都同时在线,就能像多媒体电话一样,传送文字、档案、声音、影像给对方,只要有网络,无论对方在天涯海角,或是双方隔得多远都没有距离。现阶段即时通信系统如果仅在 PC 上已经无法满足人们对信息分享 ,因此把PC 上的即时通信移植到移动设备上必然是即时通信发展的趋势,也是 IM 系
14、统软件发展的一个重要方向。同时 IM 的移植成功能够让人们无时无地的更好的交流,文化的互溶,当然交流是最基础的功能,现在很多移动 IM 系统上同时还增加了支付功能(利用电话,银行等)这样 IM 也促进了经济的发展。本课题涉及、数据库、构架、设计模式、多线程编程、Android 移动应用开发等有关软件技术。1.3 主要研究(设计)内容、研究(设计)思想及工作方法或工作基于 Android 平台的聊天系统设计与实现3流程用户 A登录注册用户界面密码错误用户不存在客户端对消息进行封装传输发送消息给某用户服务端接受到客户A 发来的消息对消息进行解封获得接收双方的 i d客户 B 接收到封装好的消息 ,
15、 且进行解封 , 提取相应信息系统再将 A 的消息发给 B 客户端用户界面显示对应用户发过来的消息注册后默认登录用户 A登录 注册注册后默认登录图 1.1 基于 Android 平台的聊天系统流程图主要研究内容:基于 Android 平台的聊天系统主要研究内容是系统怎么样对用户信息的封装,传递,怎么对信息类型的区分,怎样实现多用户使用以及Android 页面的设计,以下是先关技术。 Java 的 Scoket 网络编程。Java 服务端对 android 端提交的数据进行处理然后发给客户端进行显示。 多线程编程。每一个在线用户占用一个独立的线程与服务器进行交互,用户首先将信息发送到服务器,服务
16、器解析信息,并将信息转发给相应的用户。使用线程可以把占据长时间的程序中的任务放到后台去处理,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度,程序的运行速度可能加快,用户界面可以更加吸引人。 网络编程。Android 手机端将组装好的数据包通过无线网络发送到服务器,基于 Android 平台的聊天系统设计与实现4服务器读取并解析数据包,组装一个相应的回应数据库并返回给 Android端,以此达到通信的目的。 Android 移动应用开发。学习 Android 开发技术,掌握 Android 应用架构和开发流程。1.4 设计思想 首先在 Activity 中注册
17、一个消息处理器,该处理器用来处理接收到的消息,然后将结果显示在 Activity 中。 发送消息的时候,我们将自己的信息封装成一个消息包进行传输。 将该消息包经过封装使用 UDP 协议的 Scoket 网络编程进行封装,传输给接收方进行接收。 接收方收到传输过来的封装的消息包后调用解析控制器,解析控制器通过协议中的一些标示,解码出相应的消息包。 接收方再调用消息处理器,通过响应消息包中的一些标志,来判断调用相应的处理器进行处理,然后得出消息。1.5 工作方法 服务器启动,等待客户端请求到达。 客户端(Android)启动聊天软件,按提示输入相关信息,并将信息封装传递给服务端。 服务端接收客户端
18、封装传输的信息后,提取其中的信息类型判断执行什么功能,执行完功能后,返回相应信息给客户端。 客户端根据返回的信息的类型进行相应处理,并显示信息/跳转相应界面。基于 Android 平台的聊天系统设计与实现5第二章 Android 聊天系统需求分析随着经济全球化的推进以及企业激烈的竞争,改善企业内部及整个供应链各环节的管理、调度资源配置,迅速适应客户的新需求和市场新机遇,是企业赢得竞争胜利的决定性因素。需求分析是软件分析中的一个重要步骤。它的基本任务是要准确地分析出系统应用者的需要,以及系统目标必须具备哪些功能。这些功能必须准确地,完整地体现出用户的要求。2.1 任务概述2.1.1 目标使用 A
19、ndroid 和 java 编程语言及数据库技术相结合,编写一个基于 android端的移动聊天系统软件.这个系统提供多个用户及时并发通信的平台. 未注册用户可以注册成系统会员,已注册用户可以通过登录进入聊天系统 .在系中用户可以选择与某一个用户聊天,系统可以给用户推送某个好友上线或者下线的消息,可以的对自己的好友进行分组管理,同时对好友的增删改查功能。2.1.2 用户特点对用户没有特定的要求有无计算机专业知识都可以使用本系统进行聊天,因此本系统会提供一个友好的用户界面,能实现最基础的文字传输功能2.1.3 定义 SC- Smile Chatting System ( 类似 QQ 的基于 an
20、droid 的系统 ) 基于 Android 平台的聊天系统设计与实现6 User- 用户 Server- 系统2.1.4 假定与约束 服务器方面要求双核 CPU 频率大于 2.0GHZ,内存大于 1G,硬盘空间要求300G 级以上,系统建议是 Windous7。 客户端必须是 Android 系统且版本要在 2.3 的手机,内存 1G 以上,cpu 双核 1.3GHZ 级以上。2.2 需求规定2.2.1 系统功能需求2.2.1.1 功能需求:普通功能:用户申请,用户登录,后台对用户验证,聊天,消息提示,后台运行,快捷 方式创建,后台管理 。2.2.1.2 具体要求: 用户申请 :用户在申请界
21、面填入相关正确信息后,后台对其进行处理,并返回相应的 QQ(随机生成)号码给用户 。 用户登录:用户输入自己的 QQ 号及密码后,点击登录,后台对其进行验证,以及好友的查找,登录成功后返回该用户的好友界面。 聊天:用户选定聊天对象后,对其发送信息,信息将由后台转发给选定的聊天对象,进行,提示,显示。 后台运行 用户可以退出主界面,将聊天软件在后台运行,当有消息传入时,消息会用广播的形势显示。 快捷方式:当该聊天软件第一次运行时,系统会自动生成快捷方式且显示在设备的主界面上。 后台管理:对用户的管理。基于 Android 平台的聊天系统设计与实现7SC 系统用例图2.2.1.3 系统静态模型设计
22、:系统静态模型中主要类是聊天系统客户端中的启动类(WelcomActivity);用户登录类(LoginActivity),该类中设计了数据传输,以及一些实体以及工具类,因此该类主要依赖如图 2.1 中的类;用户注册类(RegisterActivity);好友列表界面类(FriendListActivity),该类主要设计页面设计类如图 2.1 中的 ListView 类和Adapter 类;用户聊天类( ChatActivity),该类重点设计数据传输以及本地数据处理,依赖如图 2.1 中的类。基于 Android 平台的聊天系统设计与实现8W e l c o m e A c t i v i
23、 t y- s u b m i t ( )- g e t M e s s a g e ( T r a n O b j e c t m s g )- s e t D i a l o g ( )L o g i n A c t i v i t y- e s t i m a t e ( )- g e t M e s s a g e ( T r a n O b j e c t m s g )R e g i s t e r A c t i v i t y- n e w H a n d l e r ( )- o n C r e a t e ( )- s e t M s g N o t i f i c a t
24、 i o n ( )- o n D e s t r o y ( )G e t M s g S e r v i c e- i n i t I m a g e V i e w (- i n i t U I ( ) - g e t M e s s a g e ( T r a n O b j e c t m s g )- d o I n B a c k g r o u n dF r i e n d L i s t A c t i v i t y- i n i t ( C o n t e x t c o n t e x t )- o n T o u c h E v e n t ( M o t i o n
25、 E v e n t e v e n t )- c h a n g e H e a d e r V i e w B y S t a t e ( )- m e a s u r e V i e w ( V i e w c h i l d )M y L i s t V i e w- V i e w g e t V i e wG r o u p A d a p t e r- V i e w g e t G r o u p V i e w- g e t C h i l d V i e wM y E x A d a p t e r- g e t I t e m V i e w T y p e ( i n
26、t p o s i t i o n )- V i e w g e t V i e wC h a t M s g V i e w A d a p t e r- d e s t r o y I t e m ( V i e w a r g 0 , i n t a r g 1 , O b j e c t a r g 2 )M y P a g e r A d a p t e rC l i e n t- r u n ( ) C l i e n t I n p u t T h r e a d- r u n ( )C l i e n t O u t p u t T h r e a d- s e n d ( )
27、- g e t M e s s a g e ( T r a n O b j e c t m s g )C h a t A c t i v i t y图 2.1 系统静态模型2.2.1.4 系统动态模型用户在安装了客户端后,点击启动聊天系统客户端,如果用户没有账户,则点击进入注册界面按提示注册,注册成功后返回登录界面进行登录,登录信息通过系统验证后,提示登录成功且返回好友列表,如果该用户有好友,点击进入聊天界面,聊天数据通过客户端封装后传到服务端进行转发给相应好友接收显示,动态模型时序图如图 2.2基于 Android 平台的聊天系统设计与实现9W e l c o m e A c t i v i
28、 t y L o g i n A c t i v i t yd e l a y . 3 sF r i e n d L i s t A c t i v i t y验证通过验证失败R e g i s t e r A c t i v i t y用户不存在注册后登录C h a t A c t i v i t y选择好友返回图 2.2 系统动态模型2.2.2 用户注册 描述:输入注册需要的信息,且保证正确 参与者:用户 执行者:用户 前提条件:开启程序,进入注册界面2.2.2.1 注册静态模型注册模块主要实现了用户注册功能,主要类是 RegisterActivity,该类中把数据封装成传输数据类中的实体
29、,最后通过 Socket 将封装的数据传输到服务端进行数据操作如图 2.3.基于 Android 平台的聊天系统设计与实现10- e s t i m a t e ( )- g e t M e s s a g e ( T r a n O b j e c t m s g )R e g i s t e r A c t i v i t yC l i e n t- r u n ( ) C l i e n t I n p u t T h r e a d- r u n ( )C l i e n t O u t p u t T h r e a d- G e t / S e tT r a n O b j e c
30、 t T y p e- G e t / S e tT r a n O b j e c t- G e t / S e tU s e r图 2.3 注册静态模型2.2.2.2 注册动态模型用户进入注册界面后按提示输入相关信息,客户端必须进行格式验证,验证成功后再进行注册,注册信息通过服务端处理后返回信息给客户端,提示用户所申请的账户号动态模型时序图如图 2.4.R e g i s t U s e rR e g i s t F o rR e g i s t A c t i v i t yU s e r D Be s t i m a t e ( )验证格式存入数据库返回注册信息图 2.4 注册动态模型
31、基于 Android 平台的聊天系统设计与实现112.2.3 用户登录 描述:输入正确的 QQ 号和密码显示登录错误,输入错误显示 QQ 密码错误 参与者:用户 执行者:用户 前提条件:启动程序,进入登录界面2.2.3.1 用户登录静态模型登录模块主要实现了用户的登录,该模型的主要类是 LoginActivity 类(主界面) ,其主要的数据是通过客户端封装后经过客户端 socket 传输给服务端,服务端应有一个 Socket 监听程序监听客户端的传输信息,并进行信息验证。该模块主界面类主要依赖相关类如图 2.5。- s u b m i t ( )- g e t M e s s a g e (
32、 T r a n O b j e c t m s g )- s e t D i a l o g ( )L o g i n A c t i v i t yC l i e n t- r u n ( ) C l i e n t I n p u t T h r e a d- r u n ( )C l i e n t O u t p u t T h r e a d- G e t / S e tC o n s t a n t sT r a n O b j e c t T y p e- G e t / S e tT r a n O b j e c t-S h a r e P r e f e r e n c
33、e U t i l ( C o n t e x t c o n t e x t , S t r i n g f i l e )S h a r e P r e f e r e n c e U t i l图 2.5 用户登录静态模型2.2.3.2 登录动态模型进入登录界面后,按系统提示输入相关信息(本系统账户号暂为 6 位数字) ;输入正确账户和密码格式正确后,数据传输到后台服务器进行验证,并且给客户端输出相应信息,登录动态模型如图 2.5。基于 Android 平台的聊天系统设计与实现12L o g i n U s e r L o g i n F o rL o g i n A c t i v i
34、 t yR u l e获取输入信息s u b m i t ( ) ;密码加密U s e r L i s tG e t U s e r密码验证U s e r I n f oG e t U s e r I n f o获取用户信息 ( 好友列表 )消息 1U s e r I n f o登录成功返回相应信息图 2.5 登录动态模型2.2.4 用户主面板 描述:头像显示,账号号显示,好友列表,分组,好友基本信息,聊天信息显示 前提条件:正确登录账号后2.2.4.1 用户主面板静态模型用户登录成功后进入该模块,该模块主要实现用户好友列表显示,用户最近聊天好友列表显示,好友分组列表显示。主要依赖一系列的界面
35、设计类以及一些适配器类以及数据传输类如图 2.6。基于 Android 平台的聊天系统设计与实现13C l i e n t- r u n ( ) C l i e n t I n p u t T h r e a d- r u n ( )C l i e n t O u t p u t T h r e a d- i n i t I m a g e V i e w (- i n i t U I ( ) - g e t M e s s a g e ( T r a n O b j e c t m s g )- d o I n B a c k g r o u n d- i n i t L i s t V i
36、 e w D a t a ( L i s t l i s t )F r i e n d L i s t A c t i v i t y- i n i t ( C o n t e x t c o n t e x t )- o n T o u c h E v e n t ( M o t i o n E v e n t e v e n t )- c h a n g e H e a d e r V i e w B y S t a t e ( )- m e a s u r e V i e w ( V i e w c h i l d )M y L i s t V i e w- V i e w g e t
37、V i e wG r o u p A d a p t e r- V i e w g e t G r o u p V i e w- g e t C h i l d V i e wM y E x A d a p t e r- d e s t r o y I t e m ( V i e w a r g 0 , i n t a r g 1 , O b j e c t a r g 2 )M y P a g e r A d a p t e r图 2.6 用户主面板静态模型事件流:1. 头像的正确显示及即时更新;2. 账号昵称的正确显示及即时更新;3. 账号号的正确显示;4. 好友列表正确显示及好友列表的更
38、新;5. 聊天消息提示;6. 点击头像出现消息框; 7. 能否实现大小头像; 8. 好友上下线提示。2.2.5 用户聊天 描述:修改个人信息(昵称,姓名,年龄,头像等) ; 参与者:用户 执行者:用户 前提条件:正确登录 QQ,打开个人信息面板2.2.5.1 用户聊天静态模型该模块主要实现了用户聊天功能,以及消息显示功能,消息的本地存储功能,该模块的主要类及主界面(ChatActivity)主要依赖一些实体类,数据存储类以及数据传输类如图 2.7。基于 Android 平台的聊天系统设计与实现14- g e t I t e m V i e w T y p e ( i n t p o s i t
39、 i o n )- V i e w g e t V i e wC h a t M s g V i e w A d a p t e r- s e n d ( )- g e t M e s s a g e ( T r a n O b j e c t m s g )C h a t A c t i v i t y- G e t / S e tC l i e n t- r u n ( ) C l i e n t I n p u t T h r e a d- r u n ( )C l i e n t O u t p u t T h r e a d- G e t / S e tT r a n O b j e
40、 c t T y p e- G e t / S e tT r a n O b j e c t- G e t / S e tU s e r-S h a r e P r e f e r e n c e U t i l ( C o n t e x t c o n t e x t , S t r i n g f i l e )S h a r e P r e f e r e n c e U t i l- s a v e M s g ( i n t i d , C h a t M s g E n t i t y e n t i t y )- L i s t g e t M s g ( i n t i d
41、)M e s s a g e D B- G e t / S e tT e x t M e s s a g e图 2.7 用户聊天静态模型2.2.5.2 聊天模块动态模型用户点击好进入聊天界面后,在输入框输入信息,点击发送后信息经过封装后传输到服务器进行转发给相应的好友如图 2.8。C h a t C h a t f o rC h a t A c t t i v i t yR u l e获取输入信息s u b m i t ( ) ;服务器接收服务器转发接收消息返回相应信息图 2.8 聊天模块动态模型基于 Android 平台的聊天系统设计与实现152.2.6 好友上下线提示 描述:当用户好友列表
42、中的好友下线时,系统会推送提示信息给用户 参与者:用户 系统 执行者:系统 前提条件:系统运行正常,用户登录到用户界面,且保持在线 事件流:1用户正常登录,系统运行正常,用户中有好友;2当用户下线时 ,该用户会改变在线状态码;3系统获取该状态码,且对该用户中的好友进行查找;4再把该用户下线的消息通过系统发给每个好友。2.2.7 增加好友 描述:增加好友 ID 参与者:用户 执行者:用户 前提条件:登录成功进入增加好友界面 事件流:1必须知道对方 ID 可直接添加好友;2添加后,好友列表更新;3且系统会反馈信息回被加的用户,提示谁加了他。2.3 对性能的规定2.3.1 精度 在进行输入输出时必须
43、清晰的列出所有输入状况及数据,不能马马虎虎,基于 Android 平台的聊天系统设计与实现16要考虑到尽可能达到的范围,以使输入输出完整准确。2.3.2 时间特性要求 查询服务部分:用户通过电脑提交命令到返回结果不超过 5 秒钟。 数据管理部分:提交某一数据录入到结果返回不超过 5 秒钟。2.3.3 灵活性 采用现在最流行的触控模式操作。 Android2.3.3 系统及以上;服务器运行在 windows7 上。 精度和有效时限有用户设定。2.4 输人输出要求: 符合精度要求。2.5 数据管理能力要求 聊天号信息:聊天号,大小为 6 个字符,只能为数字。 聊天记录信息:不能存在非法语言 且不能
44、多于 200 个字符。 用户名信息:不能超过 20 个字符。 密码信息:不超过 20 个字符。2.6 其他专门要求在程序的开发过程中,应遵循结构化的程序设计原则,精心设立运行日志,从而加强系统的可维护性;另一方面要注重系统的界面友好性、保持各程序模块界面的统一。2.7 运行环境规定服务器端: 基于 Android 平台的聊天系统设计与实现17 硬件需求:处理器 双核 2.0GHZ 级以上 内存 2G 级以上 硬盘 300 软件需求:oracle 数据库客户端: 硬件需求:android2.3.3 级平台,搭载至少单核 1.3GHZcpu2.8 支持软件 操作系统: windoows7 编译程序
45、:JAVA Android 测试程序:JAVA Android基于 Android 平台的聊天系统设计与实现18第三章 基于 Android 平台的聊天系统设计3.1 定义3.1.1 专业术语在整个系统设计实现中会涉及的专业术语如(表 3.1):表 3.1 专业术语SQL 结构化查询语言 类型JAVA Java 面向对象编程语言 编程语言HTML 超文本标记语言 编程语言ORACLE Oracle 数据库 数据库ECLIPSE 开放源代码的、基于 Java 的可扩展开发平台编程软件PL/SQL 过程化 SQL 语言 编程语言Android Android 编程语言 编程语言ADT Androi
46、d 模拟机 运行工具3.2 总体设计系统采用流行的 C/S 结构模式。系统的分析设计采用面向对象的技术,应用 Visio 等工具进行辅助设计。3.2.1 运行环境硬件环境要求:选择支持两路 Intel Xeon 2.8GHz 处理器、2GB ECC DDR 内存、500GB SCSI 基于 Android 平台的聊天系统设计与实现19硬盘以上配置的部门级服务器比较适合。 软件环境要求:可以考虑选择如下方案: 操作系统:Windows8/Windows7/Windows XP 开发平台:Eclipse(juno ) Android SDK PL/SQL 开发语言:Java(jak1.7) And
47、roid 后台数据:Oracle 运行环境: 服务器端: Oracle+j2ee 框架 客户端: Android 设备(模拟机) 。3.3 基本设计概念和处理流程3.3.1 系统逻辑构架图(图 3.1)业 务 操 作 端逻 辑 校 验逻 辑 校 验业 务 逻 辑基 础 信 息初 始 化用 户 信 息用 户 登 录用 户 申 请好 友 管 理数 据 接 口数 据 接 口数 据 源数 据 库 服 务 器用 户 工 作 台基于 Android 平台的聊天系统设计与实现20图 3.13.3.2 系统物理架构图 (图 3.2)图 3.23.3.4 顶层系统包图(图 3.3)基于 Android 平台的聊
48、天系统设计与实现21业 务 页 面业 务 操 作数 据 实 体数 据 处 理 数 据 接 口系 统 辅 助图 3.3类包说明: 业务页面:客户端主界面,主要是 Android 的 Activity。 业务操作:主要控制业务访问的接口和业务流转。 数据处理:提供业务的实现,包括对业务数据的增、删、改、查,信息的转发等操作。 数据实体:业务对象的实体类。 数据接口:提供数据库的访问,传递数据或返回相应数据。 系统辅助:提供了供整个系统辅助的功能。3.3.5 具体处理流程 3.3.5.1 用户申请流程:用户进入注册界面,按照相关提示输入信息,信息经封装后由服务器就收处理,并给用户返回注册的 QQ 号
49、如图 3.4。基于 Android 平台的聊天系统设计与实现22用户点击注册填写相关信息封装 , 传输后台服务器接收处理注册信息随机产生 Q Q 号 , 并为该用户自动生成好友数据库表反馈 Q Q 号给用户图 3.4 用户申请流程3.3.5.2 用户登录流程:用户根据界面提示填入相关信息,信息先在客户端进行格式判断后封装传递到服务器进行验证,最后返回相应信息,如图 3.5。运行客户端用户登录 / 填入相关信息数据封装后台服务接收信息验证用户 / 密码提示用户错误信息返回该用户好友界面图 3.5 用户登录流程3.3.5.3 用户聊天流程:用户登录成功后,选择好友进行聊天,服务器对数据进行封装以及转发,如图 3.6。基于 Android 平台的聊天系统设计与实现23用户 A成功登录 / 返回好友列表点击好友进入聊天界面输入信息用户 B成功登录 / 返回好友列表点击好友进入聊天界面输入信息接收信息 , 处理 ,转发 ( 根据 Q Q 号 )封装信息进行传输 封装信息进行传输传输好友回复的消息 传输好友回复的消息图 3.6 用户聊天流程3.3.5.4 系统后