基于Android平台的百度云推送聊天交友APP的设计与实现毕业论文.doc
I/70基于基于 AndroidAndroid 平台的百度云推送聊天交友平台的百度云推送聊天交友 APPAPP 的设计与实现毕业论的设计与实现毕业论文文目 录摘 要 IVAbstract.VI第一章 绪论 11.1 研究背景 11.2 国外应用现状 21.3 研究的目的和主要容 31.4 论文结构 41.5 小结 5第二章 开发环境与技术简介 52.1 数据库技术 52.2 JAVA 语言的简介 62.3 Android 平台的简介 62.4 百度云推送的简介 72.5 小结 9第三章 可行性分析和需求分析 93.1 编程与运行环境 93.1.1 系统开发环境 93.1.2 系统运行环境 10II/703.2 可行性分析 103.2.1 技术可行性 103.2.2 经济可行性 113.2.3 操作可行性 113.3 需求分析 113.3.1 功能需求 123.3.2 用例分析 143.3.3 性能需求与非功能需求 233.3.4 用户或人的因素 233.4 小结 23第四章 系统设计 244.1 总体设计.244.1.1 系统设计指导思想与原则 244.1.2 系统功能设计 254.2 详细设计 274.2.1 系统流程 274.2.2 接口设计 304.3 运行设计 314.3.1 主要模块实现逻辑 314.3.2 出错处理设计 354.4 数据库设计 354.4.1 逻辑结构设计 35III/704.4.2 E-R 图 364.4.3 数据库物理设计 394.5 小结 41第五章 系统的功能实现 415.1 APP 首页模块的实现 415.2 个人信息设置管理模块的的实现 425.3 好友信息管理模块的的实现 465.4 通信聊天模块的的实现 515.5 好友推荐模块的的实现 545.6 小结 57第六章 系统的测试与维护 576.1 测试方法 586.2 单元测试实例.586.3 系统维护 606.4 小结 60第七章 总结与展望 607.1 总结 607.2 展望 61参考文献 62致谢 63IV/70基于基于 AndroidAndroid 平台的百度云推送聊天交友平台的百度云推送聊天交友 APPAPP 的设计与实现的设计与实现摘摘 要要随着经济与科技高速发展,手机的用户量越来越多,几乎每一个人的手中都有一个手机,手机已经成为了人们聊天交友、上班查资料和学习中必不可少的东西,而各个年龄段的手机用户的最优先选择是 Android 智能手机,Android智能手机的使用量在各地区手机用户中占了很大的比重。众所周知,手机的一个重要而且是重中之重的功能就是聊天,聊天不仅仅只局限于和短信,还有即时通讯手机端 APP 应用也越来越广泛,人们可以借助一种聊天交友 APP 实现与家人、朋友、同学以与同事等人之间进行通信对话。本文旨在设计并实现一个基于 Android 平台的百度云推送聊天交友 APP。本文在腾讯聊天和微信聊天客户端进行调查研究的基础上,采用软件工程项目开发过程的管理方法,依次进行了可行性分析、需求分析和系统设计,进一步完成代码的编写,在 eclipse 中使用 Java 语言实现了百度云推送聊天交友 APP各个功能模块,APP 的 IM 通信部分基于第三方百度云 SDK 进行开发。实现了Android 平台上通过百度云推送信息的聊天交友通讯系统。基于 Android 平台的百度云推送聊天交友 APP 经过后期的测试运行,结果说明,系统已经完成了用户注册、登录,好友的查找、添加、删除,推荐具有共XX 趣爱好的好友、好友聊天、群聊天等功能。与此同时,在用户之间进行信息V/70交互时,该通讯系统都能够很顺畅的运行。关键词关键词:Android;即时通讯;百度云;智能手机VI/70DesignDesign andand implementationimplementation ofof thethe AndroidAndroidplatformplatform BaiduBaidu cloud-basedcloud-based pushpush chatchat withwith friendsfriendsAPPAPPAbstractAbstractwith the rapid development of economy and technology,mobile phoneshave become the way people live,work and learn essential tool,and Androidsmart phones has become a vast majority of adolescents,young andmiddle-aged choice.As we all know,a major cell phone and is the mostimportant feature is the chat,chat not just limited to calls and text messages,and instant messaging APP mobile client applications are more widely used,people can achieve by means of a chat with friends APP among family,friends,classmates andco-workersandotherstocommunicatewithdialogue.This paper aims to design and implement a cloud-based Androidplatform Baidu push dating chat APP.In this paper,Tencentchat andmicro-channel chat client is the basis of investigation on the use of softwareproject management methods,requirements analysis and system design,complete further UI interface design,using the Java language to implementBaidu cloud push chat in eclipse Dating APP various functional modules,IMVII/70communicationsectionAPPBaiducloud-basedthird-partySDKfordevelopment.Realized on the Android platform through Baidu cloud pushinformation dating chat communication systems.Android-based Baidu cloud push chat with friends APP tested runninglate,the results show that the system has completed the user registration,login,friends search,add,delete,recommend having common interestsfriends,chat with friends,group chat Features.At the same time,theinteraction between the user information,the communication system can runvery smoothly.KeyKey words:words:Android;instant messaging;Baidu cloud;Smartphone1/70第一章第一章 绪论绪论1.11.1 研究背景研究背景Android 的英文翻译是指“机器人”,而 Android 这个词语作为手机操作系统的名称出现,Android 手机操作系统是谷歌在 2007 年发布的,自 Android 作为手机操作系统出现在人们的视野之后,Android 智能手机的市场得到迅速扩大,与此同时,与 Android 智能手机相关的技术和应用也迅速崛起,目前国外多数智能手机都采用 Android 操作系统,Android 操作系统的开源性和可开发性使得 Android 操作系统的应用软件越来越多,这些应用软件遍布于人们的生产、生活、学习和工作、娱乐。Android 这种手机操作系统被越来越多的手机生产厂商和手机用户承受和使用。基于 Android 的即时通讯(Istant messaging,IM)是随着互联网时代的兴起而迅速崛起的新型通讯手段,并一度成为了 21 世纪以手机为终端聊天和交友的主流。其发展很迅猛,发展空间宽阔、发展前景乐观。由此,本项目的开发基于以下几点:1)Android 系统手机现在已经遍布整个世界,很多人都在使用,与此同时,人们需要更好、反应更为灵敏、更方便快捷的手机应用来满足自己的要求,所以针对该系统手机进行应用开发已然成为 IT 行业发展和研究的热门方向。2)固定网络的即时通讯系统在 Internet 中得到广泛的应用,即时通讯已经成为现时代用户工作、学习和生活中不可或缺的通讯工具。3)移动网络的无线终端设备在各个领域已经广泛的使用,几乎各个地方手2/70机的使用也得到了全面的普与,利用无线的终端设备访问网络已经成为人们的需求。人们希望在手机、平板电脑等无线终端设备上就可以实现和别人进行信息交互。4)中国作为世界第一的人口大国,人口众多必然会导致人与人之间信息的交互量庞大、信息交互频率高,与此同时,手机的使用量必然也是相当的庞大,所以用户也迫切的希望能有一些应用能够实现与别人的即时通讯。本项目“基于 Android 平台的百度云推送聊天交友 APP”不仅支持用户通信聊天、还可以让用户找到有共同爱好兴趣的好友,彼此沟通交流升华自己。1.21.2 国外应用现状国外应用现状随着科技的发展,人们在生活、学习,工作、娱乐上不断的追求智能。现无论在国还是国外,智能手机都是越来越普与。在手机用户中 Android 智能手机的使用所占的比重也只会越来越大,许多中国的消费者已经将手机视为最首选的移动终端智能设备,这意味着智能手机将成为人们上网的主要工具。以后我们可能原来越依赖于移动端。随着 3G、4G 等网络技术的应用、无线网络实现覆盖和Android 智能手机的普与,让移动互联网与我们的生活、工作和学习紧密联系在一起不可分离,同时也迫使无线移动手机终端成为人们必须的工具。现在主流的智能机配置已经得到全面的提升,虽然说现在很多人认为手机不是电脑,手机比不上电脑,但是现在高配置的智能手机能够实现的功能并不亚于电脑,而且能与电脑相媲美。手机不再是单一的通讯工具,从很多成面上来评价,智能手机在很多时候可以充当电脑,它的功能已经和人们日常的生活、娱乐、工作、通讯等多个层面紧密相关,在功能应用和软件安装丝毫不比笔记本差,相比笔记本电脑,3/70手机携带方便、小巧时尚、待机时间长等优势无可代替。现在很多国家的人们使用的都是 Android 系统的智能手机,而以 IOS 系统作为运行平台的苹果手机虽然能够热销同时也很受年青一代人的喜爱,但是由于其IOS 系统平台的兼容性和手机价格昂贵等原因,IOS 苹果智能手机并不是大多数人的选择。而作为国外智能手机用的最多的操作系统,许多厂商也看到了Android 独特的优势,于是从国外到国,多数厂商开始采用 android,生产手机以与电脑,相应的基于 Android 平台的各种手机 APP 层出不穷。但真正作即时通讯功能的聊天交友 APP 却很少,正是在这种形势下,我们设计了基于 Android平台的百度云推送聊天交友 APP。1.31.3 研究的目的和主要容研究的目的和主要容本课题要求设计并实现一个基于 Android 平台的百度云推送聊天交友APP,当前随着智能手机的普与推广,以与智能手机功能的越来越完善,人们的生活、学习、工作和娱乐也越来越多的离不开智能手机,现在智能手机有两种类型,一个是由苹果公司开发销售的 IOS 封闭式操作系统苹果手机,另一个是由谷歌开发的 Android 操作系统智能手机,其中 Android 操作系统在智能手机中占有最大比重,更为普遍。本课题主要做的是一个基于 Android 平台的聊天交友 APP 软件。通过这个 APP 人们可以即时通讯,同时这个 APP 软件还可以帮助人们找到具有相 XX 趣爱好的朋友。容与功能:这是一个可以聊天交友的 APP 软件,在 Android 手机操作系统开发而来,主要应用于 Android 智能手机上,通过百度云所推送的信息,结交 XX 趣,4/70同职业,同地区的朋友,主要功能和腾讯的聊天软件有相似之处。主要功能如下:1)用户登录注册:用户只有注册登录后才能正常使用这个 APP 聊天工具2)添加好友:用户注册登陆后,可以根据对方账号或者添加好友3)查找好友:用户可以在好友列表搜索好友 删除好友:用户可以删除好友4)修改好友备注信息:用户可以根据需要修改所添加好友的备注信息5)好友聊天:同为注册用户且是好友关系的用户之间可以聊天,可以发送文字,也可以发送图片,表情等信息。6)群聊天:用户可以把所添加的好友拉进同一个群,多人对话,群聊天。7)好友推荐:系统会自动给用户推荐具有相 XX 趣爱好的好友。1.41.4 论文结构论文结构本文档是对基于 Android 平台的百度云推送聊天交友 APP 的一个总体的把握,以便在下一步的开发设计中更顺利的完成开发和实现预期的项目标准,并且设计对其他功能的添加有良好的接口。设计系统的架构,以便使系统的开发能有效进行。文中着重阐述了基于 Android 平台的百度云推送聊天还有 APP 的整体开发过程。介绍了系统的开发环境、开发工具以与运行环境,对于设计思想和设计流程也做出了全面的表达,在数据库创建思想以与各个数据表之间的具体关联等方面也做出了详细说明,并且具体剖析了系统各个功能的实现过程以与详细设计过程,对该系统主要功能进行截图分析,并用代码来解释主要实现方法。在绘制简单系统功能模块图的同时,力求更加清晰地说明设计思想以与对整个程序设计的规划与具体实现。5/70第一章,绪论部分;第二章,对软件开发环境和技术框架的简介;第三章,系统可行性分析和需求分析;第四章,系统的总体设计;第五章,系统的功能实现;第六章,系统的测试与维护;第七章,总结与展望。1.51.5 小结小结这一章的任务是为了引导读者对整篇论文有一个大体的认识,先表达了本App 的开发背景和意义、国外研究现状与发展趋势,然后对论文的主要工作、组织结构都作了讲述。第二章第二章 开发环境与技术简介开发环境与技术简介本系统采用C/S模式,开发环境选择当前流行的移动平台系统Android开发,前台页面用 Java 实现,后台数据库关系型数据库 SQLite,下面对开发工具简要介绍。2.12.1 数据库技术数据库技术SQLite 已经被多种软件和产品使用,Mozilla firefox 就是使用 SQLite 来存储配置数据的,Android 和 iPhone 都是使用 SQLite 来存储数据的。6/70SQLite 的体系结构如图 2.1 所示:图 2.1SQLite 体系结构图2.22.2 JAVAJAVA 语言的简介语言的简介JAVA 开发语言于 1995 年被 SUN 推出,它和和现在的很多语言相似,比如 C语言、C+语言等,由于其简单的、跨平台、面向对象的、分布式的、解释的、健壮性、安全性、结构中立、可移植性和性能优异的多线程等特点在 IT 界越来越受到开发者的关注和应用,至今成为了应用最为广泛的软件开发语言之一。2.32.3 AndroidAndroid 平台的简介平台的简介Android(安卓),是一个以 Linux 为基础的开源移动设备操作系统,主要用于智能手机和平板电脑,由 Google 成立的 Open Handset Alliance(OHA 开放手持设备联盟)持续领导与开发中10。Android 的架构分为四层:7/701)最底层是 Linux Kernel,也就是说 Android 系统是基于 Linux 核的。在这一层中,都是一些设备的驱动程序,这些驱动程序都是 Android 最基本和最核心的功能。2)然后是 Libraries 层。其中都是一些使用 C 和 C+编写的程序包,我们可以看到很熟悉的 OpenGL WebKit SSL 等等。在 Library 旁边的是一个 Android的运行是环境(Run time),在基于 Java 的 Core Libraries 之上,Google 提供了一个针对于手机平台优化过的的虚拟机。3)再往上一层是 ApplicationFramework。该层提供了手机开发的基本 API,也就是说开发 Android 程序都是基于 Application Framework。4)最高层是 Applications。开发软件时就是在该层开发。在进行 Android开发时,采用的是 Android Studio1.5 版本开发工具。Android Studio 是由Google 公司基于 IntelliJ IDEA(类似于 Eclipse 的 ADT)开发的,无论它的界面还是功能都远超 Eclipse,目前很多项目都是在 Android Studio 工具上开发的,Android 开发工具的趋势必定是 Android Studio11。2.42.4 百度云推送的简介百度云推送的简介消息推送就是用户与用户之间的消息交互,目前很多消息推送的AndroidApp 都采用推送的方式来进行消息通知。推送模式如图 2.2 所示:8/70图 2.2 消息推送模式图百度云推送的实现技术简单来说就是利用 Socket维持 Client 和Server 间的一个 TCP 长连接,目前,百度云推送针对 Android 端提供通知推送,文本消息推送以与富媒体推送。Android_SDK 的整体概览和部运行机制如图 2.3 所示:图 2.3 Android_SDK 的整体概览和部运行机制图9/70主要功能如下:(1)Push 服务初始化以与 Client 注册绑定(2)创建或删除标签(Tag)(3)接收 Push Server 的通知信息并提供自定义展现消息方式(4)推送数据统计分析功能,包括通知信息的点击和删除统计以与应用使用情况统计(5)富媒体推送2.52.5 小结小结这一章主要介绍了系统开发时用到的技术和开发工具。先简要介绍了Android,然后对 Java 开发时所用到一些相关技术进行介绍,还介绍了系统开发时引用到的第三方百度云平台,最后对系统的开发工具作了简单表达。第三章第三章 可行性分析和需求分析可行性分析和需求分析此部分对系统进行可行性分析和需求分析,将用户的需求和实现相结合,分析各个实体间的关系。3.13.1 编程与运行环境编程与运行环境3.1.13.1.1 系统开发环境系统开发环境软件类需求:1)操作系统:windows 7与其以上操作系统。2)数据库:sqlite10/703)服务器:Tomcat 6.0.294)客户端开发平台:Eclipse5)后台管理开发语言包:JDK1.7。6)客户端开发语言包:Android SDK+JDK1.6。硬件类需求:1)电脑存:2G以上。2)电脑CPU:双核与其以上。3.1.23.1.2 系统运行环境系统运行环境Android 智能手机、平板电脑等多种智能移动设备。3.23.2 可行性分析可行性分析可行性研究是以系统的、全面的研究方法,对影响项目的各种因素进行剖析,其中以经济效益为核心,用大量的数据来论证影响软件开发项目的各种因素,进而知道项目的开发是不是可行的。本文通过技术可行性、经济可行性和操作可行性三个方面对基于 Android 平台的百度云推送聊天交友 APP 项目进行可行性研究。3.2.13.2.1 技术可行性技术可行性技术可行性是指使用现有的技术能否实现系统的设计开发与最终完成。本系统是基于 Android 移动平台采用 Java 和 xml 语言并结合 Mysql 数据库,对计算机软、硬件的要求不高,当前的开发技术与数据库应用技术完全能够满足用户的需要。该系统采用的技术不会造成过大的技术风险,本项目是本科毕业生的一个毕业小设计,其中的所有东西都是个人来完成,不存在人员流动和人员之间编码等水平的差距。因此,开发此系统在技术上是可行的。11/703.2.23.2.2 经济可行性经济可行性经济可行性是指在一个软件项目开发周期完毕后,项目所花费的成本是否超过预期的要求,具体的来说就是是否存在经济利益。本系统是一个小型的Andriod 终端运用软件,在技术上易于实现,从而在经济上也就不会产生较大的开发成本。近几年来,移动端特别是基于 Andriod 的移动端应用特别多,市场也非常广阔,本系统是基于 Android 平台的百度云推送聊天交友 APP,它的开发成本很低,但是它一旦进入市场后一定能受到人们广泛青睐,因此,开发此系统在经济上是可行的。3.2.33.2.3 操作可行性操作可行性计算机技术正是为了减少人工操作的劳动强度而产生的。基于 Android 平台的百度云推送聊天交友 APP 界面简洁,框架清晰,美观大方,为充分展现 APP的交互性,能让增强用户体验。本系统加强了界面可操作性,数据输入量少,使用者非常容易就能完全掌握系统的全部操作流程。通过以上三个方面的研究,总体认为本系统的开发是可行的。3.33.3 需求分析需求分析需求分析是一个软件项目开发周期中最重要的一步,需求分析工作的优劣完全影响到中后期项目能否顺利完成和项目能否达到用户的预期要求。需求分析的基本任务是确定系统在实现后要实现哪些功能,是以后系统实现的基础和明确系统开发完毕后的一个标准。12/703.3.13.3.1 功能需求功能需求本设计是一个具有交友聊天的 Android 平台的应用软件,用户群体年龄不受限。智能手机的普与,各种应用软件层出不穷,我们习惯了常用的、微信和微博,现在我们所开发的基于 Android 平台的百度云推送聊天交友 APP 同样可以满足用户交友聊天的需求,同时它还可以推荐给用户具有相XX 趣爱好的朋友。本系统共设计出六大功能模块,分别是用户注册模块、用户登录模块、用户信息管理模块、聊天管理模块、好友管理模块和好友推荐模块。系统的所有功能模块的说明如表 3.1 所示。表 3.1 功能模块表功能模块功能划分简要描述用户注册模块用户注册使用该聊天APP 时需要分别输入用户名、性别和登录密码来注册一个用户用户登录模块用户登录在用户已经注册或是退出系统后需要登录的时候需要输入与注册时设置密码相匹配才能登陆成功用户信息管理模块头像管理用户头像修改昵称备注管理用户备注和昵称修改密码管理用户密码修改其他管理用户个性签名、地址等管理13/70聊天管理模块发送文字在键盘上书写出需要发送的文字信息点击发送发送图片选择数据库中或者是本地存储的图片点击发送发送表情选择已经收藏或者数据库中的表情点击发送好友推荐模块推荐好友推荐具有共 XX 趣爱好的用户好友管理模块修改信息修改好友显示得信息,昵称等查询好友通过好友昵称或者ID查询是否存在这位好友添加好友通过查询好友点击添加好友按钮添加好友删除好友选择系统上存在的好友点击删除按钮执行删除对应的系统总体功能如图对应的系统总体功能如图 3.13.1 所示:所示:用户登录昵称备注管理用户注册头像管理14/70图 3.1 系统总体功能图3.3.23.3.2 用例分析用例分析1、用户注册模块此模块是根据系统具体的操作流程所设计,几乎所有的聊天系统都需要进行这一环节,用户需要输入有效的用户名和密码,点击注册按钮,系统才会自动的将用户的个人信息纳入数据库然后用户成功注册。其用例图如图 3.2 所示。客户端用户信息管理好友管理聊天管理好友推荐其他管理密码管理修改信息添加好友删除好友查询好友文字图片表情15/70图 3.2 用户注册用例图(1)昵称/ID 用例简要描述设置昵称或者 ID事件流(详细描述)1、用户输入个人喜欢的昵称或者 ID2、操作后数据库作相应的更新(2)密码用例简要描述设置密码事件流(详细描述)1、用户输入个人喜欢的密码2、操作后数据库作相应的更新(3)选择性别用例16/70简要描述选择性别事件流(详细描述)1、用户选择系统给出的性别选项,选择男性/女性2、操作后数据库作相应的更新2、用户登录模块用户登录需要输入与注册时成功纳入数据库的昵称、ID 或者和密码相匹配才能登录到系统中。其用例图如图 3.3 所示。图 3.3 用户登录用例图(1)昵称/ID 用例简要描述输入昵称或者 ID事件流(详细描述)1、用户通过昵称或者 ID 验证登陆系统17/702、操作后调用数据库用户信息(2)密码用例简要描述输入密码事件流(详细描述)1、用户通过密码验证登陆系统2、操作后调用数据库用户信息3、用户信息管理管理模块用户登录到系统中后,就拥有以下权限,共包括 4 个部分,分别是头像管理、昵称备注管理、密码管理和员其他管理。其用例图如图 3.4 所示。图 3.4 用户信息管理用例图(1)头像管理用例18/70简要描述头像修改事件流(详细描述)1、用户修改头像2、操作后数据库作相应的更新(2)昵称备注管理用例简要描述对昵称和备注进行修改事件流(详细描述)1、用户对自己的昵称和群自己的备注进行修改2、操作后进行相应的数据库更新(3)密码管理用例简要描述密码的找回和修改事件流(详细描述)1、用户对个人密码修改和忘记密码时找回2、操作后进行相应的数据库更新(4)其他管理用例简要描述对其他信息修改事件流(详细描述)1、用户对个人其他信息修改,包括地址和个性签名等19/702、操作后进行相应的数据库更新4、聊天管理模块聊天管理主要是对发送聊天信息管理,用户可以自主选择需要发送的文字、图片和表情发送给其他用户。其用例图如图 3.5 所示。图 3.5 聊天管理用例图(1)文字用例简要描述用户发送文字信息事件流(详细描述)1、用户输入文字发送给其他用户2、发送后进行相应的数据库更新(2)图片用例简要描述20/70用户发送图片信息事件流(详细描述)1、用户选择数据库或者本地图片发送给其他用户2、发送后进行相应的数据库更新(3)表情用例简要描述用户发送表情信息事件流(详细描述)1、用户选择数据库或者已经收藏了的表情发送给其他用户2、发送之后进行相应的数据库更新5、好友推荐模块好友推荐主要是针对于数据库中已经存在并且和该用户有某种相似(如:地址相同、兴趣爱好相同等)之处的用户进行推荐。其图如图 3.6 所示。图 3.6 好友推荐用例图(1)推荐用户管理用例21/70简要描述推荐用户事件流(详细描述)1、系统对用户有选择性的推荐其他用户2、操作后用户推荐列表里的好友更新6、好友管理模块好友管理模块是指用户登录到系统中,对好友进行的查询、添加、删除和修改信息的操作。其对应的用例图如图 3.7 所示。图 3.7 好友管理用例图(1)查询好友用例简要描述查找好友事件流(详细描述)1、用户通过输入用户昵称或者用户 ID 查找好友22/702、数据库调用用户信息(2)添加好友用例简要描述添加好友事件流(详细描述)1、用户通过输入用户昵称或者用户 ID 查找好友点击添加按钮2、操作成功后用户好友列表更新(3)删除好友用例简要描述删除好友事件流(详细描述)1、用户选定好友列表中的好友,点击删除按钮2、操作成功后用户好友列表更新(4)信息修改用例简要描述修改好友信息事件流(详细描述)1、用户选定好友列表中的好友,选择修改好友的备注等信息2、操作成功后用户好友列表更新23/703.3.33.3.3 性能需求与非功能需求性能需求与非功能需求1)真实性对于通过本应用软件注册的信息和个人情况,其真实的基本信息都按照用户户输入的存档。2)可靠性对用户输入的数据要有严格的防错和校验措施,用户在输入或者是更改个人数据时,数据库能与时响应并且更新,确保数据的一致性。3)安全性本系统的用户所注册的信息会永远保存在数据库中不会丢失,只有用户本人登录应用后才能修改,数据的安全性得到保证。4)性每个用户注册的基本信息纳入数据库后,数据库会让用户个人信息其他用户不可见,只有用户本人才能执行与其相关的操作,在登录时,需要输入的数据与数据库中的数据相匹配才能成功登录。3.3.43.3.4 用户或人的因素用户或人的因素在用户输入的数据不符合系统规定或者是执行了错误的操作的时候,系统会给出相应的提示,即使是对 Android 手机不太熟悉的用户使用也应该不存在问题。3.43.4 小结小结这一章对本系统的需求分析进行了大致的概述,先概述了系统的主要目标和24/70系统的业务流程,使得本系统的总体一目了然,然后用一些用例图和用例描述来详细描述系统中一些主要功能的运作方式。第四章第四章 系统设计系统设计4 4.1.1 总体总体设计设计4.1.14.1.1 系统设计指导思想与原则系统设计指导思想与原则1)实用性这是最主要的设计原则。以用户需求为基础,符合用户的实际需求,确保手机应用在用户中能实现聊天等功能。2)先进性用于开发本系统的计算机配置要符合第三章所提出的系统开发环境的要求。系统开发架构、利用的开发方法等要具有先进水平2。3)可靠性在执行输入数据与系统规定不相符、必填信息空白等不规操作时,要确保系统还能正常运行并能给用户发出反馈。4)安全性根据 Android 智能终端聊天应用的特点和要求,制定相应的安全策略和安全机制,确保用户输入的数据不泄露。5)友好性25/70确保系统应用能让用户简单快捷的掌握使用功能。4.1.24.1.2 系统功能设计系统功能设计根据软件需求分析,该应用软件的功能主要分为以下六个模块:1)用户注册模块该功能模块指使用该聊天 APP 时需要分别输入用户名、性别和登录密码来注册一个用户。2)用户登录模块该功能模块是指在用户已经注册或是退出系统后需要登录的时候需要输入与注册时设置密码相匹配才能登陆成功。3)用户信息管理模块该功能模块包括用户的头像管理,头像管理就是修改用户个人头像;昵称备注管理,即用户对个人的昵称和在群聊天备注的修改;密码管理,即用户对个人登录密码的修改;其他管理,即用户对个人地址、个性签名等信息的修改。进行这些操作后,数据库进行相应的更新。4)聊天管理模块该功能模块主要是为了用户与用户之间能实现信息交互,其中包括文字、图片、表情等。5)好友推荐模块该功能模块指系统通过调用用户的普通信息将有共 XX 趣爱好的用户相互推荐。6)好友管理模块该功能模块主要针对用户好友执行查、增、删、改操作。即用户可以通过输入其26/70他用户的昵称或者 ID 来找到该用户;用户查询到其他用户或者是系统推荐的用户,就可以执行添加功能;用户选定好友列表中的好友执行删除;用户选定好友列表中的好友执行修改备注等操作。系统功能如图系统功能如图 4.14.1 所示:所示:用户登录用户注册头像管理27/70图 4.1 系统功能图4.24.2 详细设计详细设计此部分对系统的业务处理流程和操作流程进行分析和设计,并细化各模块的功能。4.2.14.2.1 系统流程系统流程系统流程就是用户使用该应用软件是需要按照系统的哪些功能步骤进行操作。客户端用户信息管理好友管理聊天管理好友推荐其他管理密码管理昵称备注管理修改信息添加好友删除好友查询好友文字图片表情28/70用户登录操作流程如图用户登录操作流程如图 4.24.2 所示:所示:图 4.1 用户登录操作流程图29/70注册用户操作流程如图注册用户操作流程如图 4.24.2 所示:所示:FTFT开始注册注册为新用户登录功能 1修 改 信 息30/70TFTFT图 4.2 用户注册操作流程图4.2.24.2.2 接口设计接口设计系统分为服务器端模块与客户端模块,其其接口通过应用首页连接。如下表:1 1注册用户如表注册用户如表 4.14.1 所示:所示:功能 2好友管理功能 3完毕聊天31/70用户接口语法结构软件回答信息注册用户登录输入用户名(UserName)输入密码(Pwd)进入用户操作页面输入修改用户信息点击确定进入修改该注册用户信息界面点击输入框搜索好友进入显示好友列表界面输入账号点击添加好友按钮将添加新的好友点击删除好友按钮删除好友点击好友推荐按钮进入推荐好友界面点击发送信息按钮发送聊天信息表 4.1 注册用户表4.34.3 运行设计运行设计4.3.14.3.1 主要模块实现逻辑主要模块实现逻辑1 1用户注册模块如图用户注册模块如图 4.34.3 所示:所示:32/70开始以注册用户名在 UserInfo表中查找该用户存在TF错误提示完毕非 空 项非空?错误提示TF插入注册信息到 User 表提示注册成功跳转页面图 4.3.用户注册模块2 2用户登录模块如图用户登录模块如图 4.44.4 所示:所示:33/70开始以用户名在 UserInfo表中查找该用户存在T保存对应的密错误提示与输入密码一致?错误提示完毕跳转页面TF保存 UserIDF图 4.4 户登录模块34/703 3搜索好友模块如图搜索好友模块如图 4.54.5 所示:所示:图 4.5 搜索好友模块4 4添加好友模块如图添加好友模块如图 4.64.6 所示:所示:输入搜索好友名字或者账号客户端将输入内容以字节流发送至服务器服务器响应请求,将搜索结果列表造型,发送信息至客户客户端将所得结果在客户端界面显示在客户端选择正确的好友显示好友详细信息选择查看好友点击添加好友客户端响应本地请求,读取本地文件获取添加好友的信息数 据 发 送 至 服 务 器35/70图 4.6添加好友模块4.3.24.3.2 出错处理设计出错处理设计错误登录信息系统提示错误登录信息系统返回登录界面非法进入管理员操作页面系统提示非法进入信息返回管理员登录页面非法进入用户页面系统提示非法进入信息返回首页4.44.4 数据库设计数据库设计数据库设计在一个系统开发周期中是相当的重要环节,数据库设计的好坏直接影响到系统是否能顺畅运行,数据更新是否与时等。该环节为后面的具体实现环节打下基础。本项目软件服务器端主要采用百度云服务器,数据库采用的是sqlite,该阶段分为逻辑结构设计和物理结构设计两个方面。4.4.14.4.1 逻辑结构设计逻辑结构设计本系统所有信息主要存储到以下这四表中,分别为:(1)注册用户信息表:即用于记录 app 用户注册的相关信息;(2)好友信息表:用于记录联系人的相关信息;服务器读取数据,写入数据库36/70(3)通讯信息表:存储的是用户与联系人的信息;(4)聊天会话信息表:主要存储用户和好友的会话信息;4.4.24.4.2 E-RE-R 图图E-R 图(实体关系图)是最直观的一种表现方法,设计者可以通过它直接反映出实体间的关系,它能将用户的数据要求明确地表达出来。4.7 实体关联图1.1.用户属性如图用户属性如图 4.84.8 所示:所示:37/70用户用户 ID密码用户昵称性别所 在 城手机4.8 用户属性图2.2.好友属性如图好友属性如图 4.94.9 所示:所示:好友好友 ID昵称备注描述头像4.9 好友属性图3.3.聊天会话属性如图聊天会话属性如图 4.104.10 所示:所示:38/70聊天会话拥有者 ID好友 ID数据 ID会话消息数目会话最后时间会 话 创 建消息类型会话最后内容4.10 聊天会话属性图4.4.通讯消息属性如图通讯消息属性如图 4.114.11 所示:所示:通讯消息消息 ID联系人 ID数据 ID发送状态消息时间消息类型4.11 通讯信息属性图39/704.4.34.4.3 数据库物理设计数据库物理设计为了将在系统在运行过程中产生的数