基于android平台的聊天软件设计与实现-毕业论文设计_第1页
基于android平台的聊天软件设计与实现-毕业论文设计_第2页
基于android平台的聊天软件设计与实现-毕业论文设计_第3页
基于android平台的聊天软件设计与实现-毕业论文设计_第4页
基于android平台的聊天软件设计与实现-毕业论文设计_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

目录TOC\o"1-3"\h\u第一章绪论 11.1聊天软件背景 11.2课题意义 11.3研究内容 21.4设计思想 2第二章Android聊天软件可行性分析 32.1Android行业概述 32.1.1认识Android 32.1.2Android开发概述 32.1.3Android的Listview介绍 32.2软件开发的工具和环境 42.2.1编程语言 42.2.2技术路线 42.2.3用户要求 52.2.4运行环境 52.3基于数据库实现设计 52.3.1常用的数据库软件 52.3.2消息推送原理 62.3.3数据库表 62.3.4数据管理要求 7第三章基于Android平台的聊天系统设计 83.1聊天软件功能 83.1.1功能描述 83.1.2界面布局设计 83.1.3消息推送原理 83.2系统架构图 93.2.1系统逻辑流程图 93.3.2系统物理架构图 93.3接口设计 103.3.1用户接口 103.3.2外部接口 103.3.3内部接口 11第四章基于Android平台的聊天系统实现 114.1服务端模块 114.1.1登录 114.1.2注册 114.1.3聊天 124.1.4下线 124.2客户端模块 134.2.1注册/登录界面 134.2.2聊天界面 154.2.3好友信息界面 164.2.4设置界面 174.2.5聊天记录 194.2.6退出程序 20第五章基于Android平台的聊天系统系统测试 21第六章总结与展望 21致谢 23参考文献 241.绪论由于现代技术的不断加深以及信息化的广泛普及,移动通信作为一种新兴技术,近年来得到了潜移默化的普及和深入,移动网络上的各种应用层出不穷,给各年龄段、各行业阶层的用户提供了不同的个性化的服务。聊天软件要在瞬息万变的信息时代生存,适应激烈竞争的市场,必须提高市场竞争力,就要对市场作充分的调查和详细的研究,同时也要有好的客户服务。移动网络在线聊天系统对于人们来说就是一种交流和通信的平台,本系统做到了信息的及时的反馈,即时的处理并作出相应的行动。移动网络通信是网络应用的重要体现方面。移动网络即时通信则是网络应用的重要体现方面。本聊天系统主要适用于客户端与客户端通过服务器的信息传输。本聊天程序使跨距离的交流更加方便和快捷,更能高效率的体现现代即时通信的特点。1.1聊天软件背景我们进入了一个信息高速发展的时代,人与人之间不再只依赖于面对面,或者依靠电话的联系,信息的快速传递不仅能够节省电话产生的费用,而且还有助于人们保持固定长远的联系。目前,我们常用的聊天软件有QQ,微信,微博等。在移动互联网时代,面对层出不穷的软件开发,我们需要基于移动终端开发出新型的聊天软件,来满足大众的需求,我们都熟悉且常用的移动设备终端操作系统有ios,android,symbian等等,最普及的是Android。本课题采用聊天软件的C/S架构:采用客户端/服务器形式,用户使用过程中需要下载安装客户端软件,典型的代表有:QQ、微信、微博、YY、MSN等[1]。1.2课题意义在互联网飞速发展的今天,“网虫”在互联网上聊天已经成为一种习惯,IM程序设计就是一个多点通信程序,C/S体系架构在软件开发中越来越流行,应用软件使用这种架构可以充分发挥数据库系统优势,速度更快,从用户体验的角度来更好的满足人们对聊天软件的需求,有一个前提,频宽充足,大部分IM服务事实上提供实时通讯的能力。实时传讯与电子邮件最大的不同在于不用等候,不需要每隔两分钟就按一次“传送与接收”[2],只要两个人都同时在线,就能像多媒体电话一样,传送文字、档案、声音、影像给对方,只要有网络,无论对方隔得多远都没有距离[3]。本论文将对基于Android的聊天软件系统进行可行性分析、实现设计、界面设计、关键代码编写、应用功能优化、系统测试等工作,实现登录功能、向XMPP服务器发送信息包功能、用户好友通讯录获取及相关管理功能、个人信息管理功能、好友文字和语音消息发送功能、图片文件、位置发送功能。因此本课题具有重要的实际意义和应用价值。1.3研究内容主要研究内容:基于Android平台的聊天系统主要研究内容是服务器怎么样对客户端信息的识别,传输,怎么去区分信息类型,实现用户方便快捷使用本操作系统以及Android页面布局的设计内容。第1章:主要陈述聊天软件的的背景和来源,以及所开发的软件实际意义和现实意义,介绍了Android聊天系统的工作原理,最后说明论文主要工作。第2章:系统相关技术可行性分析,主要介绍软件开发所使用的工具以及开发环境,包括安卓的行业概述,操作系统的架构和应用程序的分析、常见的数据库以及数据管理要求。第3章:系统设计,对软件的功能进行概要分析,同时从系统逻辑和物理流程图来清晰的展现全局,系统所包含的模块各个功能进行详细的介绍。第4章:系统实现,从服务端和客户端两方面入手,主要对聊天、通讯录、设置的功能模块条目进行详尽的介绍,以及功能和软件实现的关键代码的呈现。第5章:系统测试,主要陈述系统的测试用例以及系统的完成情况。第6章:总结与展望。主要介绍了项目完成经验,存在的缺陷以及不足,以及对未来的展望。1.4设计思想本设计通过配置AndroidSDK、Eclipse、ADT插件、java来搭建Android的运行环境,Android程序开发过程中可以使用SQLite数据库来实现程序的结构化数据存储,所有的功能都基于数据库实现,包括消息推送;通过不同的表关系来实现功能,设计实现的功能有用户登录、注册,用户与好友的一对一的聊天,添加,删除好友,加入黑名单的功能,在Android手客户端实现发送文字、图片、位置、语音的功能。系统包括手机客户端和服务端两部分,服务器端采用了Bmbo云端服务器,利用数据库保存用户注册的信息、通讯录、聊天记录、好友资料等等,客户端实现各功能的可操作界面,并实现通过服务端达到与好友实时通信的功能。2.基于Android平台的聊天系统可行性分析需求分析是软件分析中的一个重要步骤。它的基本任务是要准确地分析出系统应用者的需要,以及系统目标必须具备哪些功能。这些功能必须准确地,完整地体现出用户的要求。2.1Android概述2.1.1认识Android行业Android一词的英文本义指‘机器人’,它是Google公司于2007年11月宣布的基于Linux平台的开源手机操作系统,该平台由操作系统,中间件,用户界面和应用软件组成,为移动终端打造的真正开放和完整的移动软件平台[4]。目前主流的应用在手机操作系统还有IOS,BlackBerry,Symbian.这些操作系统都大同小异,用于移动智能终端设备。2.1.2Android开发概述在Android平台上,开发者可以根据用户需求开发出丰富多彩的应用。Android的应用程序使用Java语言开发的,加上Android平台提供了2D,3D的图形支持,数据库支持(SQLite),并且集成了浏览器[5]。基于Android的平台,我们可以开发出各式各样的应用,这些应用可以涉及视频,游戏,音乐,办公软件等等,在此开放的平台上,这一切都取决于用户的需求和开发者的发挥和创意。2.2软件开发的工具和环境开发环境:Eclipse开发语言:Java手机运行平台:Android5.0以及上版本开发软件所需插件:JDK、SDK2.2.1编程语言使用Java编程语言及数据库技术相结合,编写一个基于android端的移动聊天系统软件。Java可运行于多个平台,它是面向对象的程序设计语言,由语法,文件格式,虚拟机,应用程序接口四方面组成,可用来开发可靠地,要求严格的应用程序。编程的时候大小写敏感,因此要注意,而对于类名来讲,类名的首字母应该是大写。源文件名必须与类名相同,Java编程语言的风格类似于C、C++语言,优势就是它是一个面向对象的编程语言,开发者不用为内存管理而担忧,在这个项目上,使用Java编程语言对于初学者来说是很好的选择。2.2.2技术路线Eclipse可作为Java集成开发环境是一个基于Java语言的扩展并且源代码开放开发平台。Eclipse的本身是一个框架平台和服务,支持众多插件组件构建使得这套工具具有灵活性。尽管Eclipse是使用Java语言开发的,但是它的使用并不局限于Java语言;他支持诸如C/C++、COBOL和Eiffel等编程语言的插件都可用。AndroidSDK是以Java语言为基础,也是一种软件开发工具包。开发工程师来开发软件应用,通过SDK提供的一些工具将其打包为Android平台使用的apk文件,然后用内带的模拟器来模拟和测试应用软件在安卓平台上的运行情况和效果。AndroidSDK指的是Android专属的软件开发工具包。下载好AndroidSDK后,开始安装,AndroidSDK采用了Java语言,所以需要先安装JDK,在这里我安装的是JDK1.7。直接下载JDK安装文件安装更为方便。AndroidSDK不用安装,下载后,直接解压即可,将下载后的SDK的压缩包解压到适当的位置,就这么简单;SDK安装OK。使用Eclipse进行Android应用开发需要给Eclipse装ADT插件,这样Eclipse就可以和AndroidSDK进行连接,可以在Eclipse中启动Android模拟器进行程序调试等ADT插件安装这里不再赘述,也可以下载ADT的zip包安装安装完插件后,需要做一些简单的配置:1、在Eclipse中,选择Window-->Preference;2、从左侧的菜单中,选择Android项;3、设置SDKLocation,点Browse选择SDK的安装根目录.2.2.3用户要求对用户没有特定的要求,有无计算机专业知识都可以使用本软件进行聊天,因此本系统会提供一个人性化,用户易操作的界面,能实现最基础的文字传输功能,还包括语音,图片,位置的传输功能。用户在客户端运行聊天软件时,通过判断内部控制模块是否存储了已经配置好的用户信息,若存在,则直接调用配置存储过的用户登录信息进行网络连接;若不存在,则系统判断进入向导模式,提供用户选择登录或是注册。若用户注册过账号,则可以直接到登录界面填写登录信息进行登录,如果用户没有账号,则选择注册,到注册界面进行注册;登录成功后,就会显示联系人列表,不成功时,可以点击手动设置来配置一些登录信息和网络设置信息等[6]。2.2.4运行环境服务器方面要求双核,CPU频率大于2.0GHZ,内存大于1G,硬盘空间要求300G及以上,系统建议是Windows7。客户端必须是Android系统且版本要在5.0的手机,运行内存1G以上。2.3基于数据库实现设计2.3.1常用的数据库软件SQL数据库:SQL是一种操作命令集专为数据库而建立的,相对来说功能齐全,这种数据库语言是一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义DB2数据库:IBMDB2

是美国IBM公司开发的一套关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性,可支持从大型机到单用户环境,应用于所有常见的服务器操作系统平台下。DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令[8]。本设计数据库采用SQLite数据库,SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。2.3.2消息推送原理所有的功能模板都基于数据库实现,包括消息推送,接下来我将介绍推送功能的实现原理。安卓消息推送主要有三种方式:使用SMS服务,就是依靠服务器端发送短信广播,通过手机客户端监听短信的广播,通过系统对数据进行相应的处理,从而达到消息推送的方式。优势就是省电,省流量。使用轮询方式,客户端从网络中主动获取数据。但是有一个缺点就是耗电、耗流量。轮询方式方便于我们理解,实现也起来较为简单,若只是做个试用的版本的情况下建议使用。但若是作为会一直在运行的应用,用很多种方法去优化,还是会比较耗费流量的,是因为运行过程中会一直获取网络中的数据。使用长连接方式,普遍来讲,服务器端推送的数据的方式,一般都是用这种方式进行数据推送。优点是省流量、缺点是耗电。这里我们介绍一下工作原理,工作原理就是客户端与服务器端会建立一条长时间的数据流连接,移动客户端设备从建立起长链接开始一直在等待服务器端传过来的数据。由于连接是持续不断的,过程中也没有数据流操作,所以这就是长链接方式的优势之处,可以相对节省流量。可是又因为客户端会一直保持数据在网络中的连接,所以长链接的推送方式,原理上来讲是比较耗费电量的。2.3.3数据库表用户的数据库表字段名数据类型说明允许为空备注idInt主键NUserNamevarchar用户名NPasswordvarchar密码NTelvarchar电话YSexvarchar性别YEmailvarchar邮箱Y表2.1用户的数据库表聊天记录数据库表字段名数据类型说明允许为空备注dataidvarchar主键Nnamevarchar好友账户名Nimgvarchar好友头像Ndatavarchar聊天记录Ytimedatatime最后聊天时间Y表2.2聊天记录数据库表好友信息数据库表字段名称数据类型说明允许为空备注friendIDvarchar主键Nnamevarchar好友账户名Ndatavarchar聊天记录Ytimedatatime最后聊天时间Y表2.3好友信息数据库表2.3.4数据管理要求用户账号信息:用户账号,由于是String类型,可以为中文。聊天记录信息:不能存在非法语言。用户名信息:不能超过20个字符。密码信息:不超过20个字符。3.基于Android平台的聊天系统设计3.1聊天软件功能3.1.1功能描述四种类型的消息:文本、聊天表情、图片、语音、位置用户管理功能:注册、登录好友管理功能:添加好友、删除好友、获取好友列表、黑名单管理、聊天记录的本地化存储。3.1.2界面布局设计界面布局是一个活动条目中对于用户界面的架构设计,它通过存储全部显示给用户的元素来定义界面布局结构。客户端的用户界面布局文件存放/res/layout中,用XML格式的布局文件定义应用程序默认的布局,包括将显示在屏幕的元素和属性。可以通过编程修改客户端界面上对象的状态,这种布局设计是非常重要的,其中也包括了系统定义在XML文件中的元素。3.1.3消息推送原理Java的Scoket网络编程,Java服务端对Android端提交的数据进行处理然后发给客户端进行显示。多线程编程,每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行,使用过程中用户在客户端首先将信息发送到服务器,服务器识别并解析信息,然后将信息转发给相应的用户,使用线程可以把占据长时间的程序中的人物放到后台去处理,比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度,程序的运行速度可能加快,用户界面更加吸引人[9]。网络编程,Android手机端将组装好的数据包通过无线网络发送到服务器,服务器读取并解析数据包,组装一个相应的回应数据库并返回给Android端,以此达到通信的目的。3.2系统架构图3.2.1系统逻辑流程图用Visio结合聊天软件所实现功能画出以下流程图:如图3-1图3-13.3.2系统物理架构图系统设计的物理架构图如图3-2图3-23.3接口设计3.3.1用户接口本聊天软件是基于Android聊天系统的应用程序,属于在互联网基础上的聊天管理系统,用户只需要在客户端使用安卓智能手机打开应用软件和进行操作,通过系统对用户账号验证,就可以享受应用程序所拥有的功能。系统不需要额外的特殊命令和额外的客户端,通过客户端,输入正确地址就可以访问系统。3.3.2外部接口服务器程序可使用oracle提供的对SQL的接口,进行对数据库的所有访问。服务器程序上可使用oracle的数据库对重要数据进行的备份,防止数据被破坏而无法恢复。在网络软件接口方面,使用socket传输用户信息。3.3.3内部接口本系统的功能模块是采用java面向对象编程的逻辑思想,通过接口实现模块与模块之间调用,增大了系统的稳定性从而减轻功能模块之间的耦合性。模块间的数据传入是利用接口的调用,参数传递,接口返回值来达到传递数据的目的。模块内部是采用函数调用,参数传递,返回值来实现模块内部的数据传递。4.基于Android平台的聊天系统实现4.1服务端模块本设计服务器端采用了Bmbo云端服务器。Bmob是一个开发云存储的移动应用软件,在本设计中,Bmbo给聊天软件添加了一个方便安全管理的后台管理系统,适用于浏览终端保存客户端产生的信息。在这个平台上,注册一个帐号之后,可以申请创建一个或者多个数据库,获得对应的密钥,然后在后台下载我们所需要的对应版本的SDK程序包并嵌入到软件应用程序中,使用过程中可以对数据进行保存,修改等操作。这个云端服务器,对于本设计来说是很好的一个选择,初学者来说使用起来较为容易,也比较方便。数据输入的时候通过使用移动智能手机设备登录,主界面为好友聊天界面,点击好友与其进行聊天,系统会通过通信机制协议向服务端传输数据。数据输出的时候服务端会将解析后的数据输出到客户端,通过判断客户端输出数据类型,进行相应的消息反馈。4.1.1登录客户端输入登录账号和密码,服务端接收到登录信息并检查其是否正确,并向客户端反馈登录信息,若是信息正确。服务端就发送一个反馈数据给该用户,并在此时给客户端建立一个长链接,用于进行通信的基本操作,并将该用户的状态发给各在线用户。同时在服务器端显示出来。4.1.2注册客户端申请注册账号,将用户账号,密码用一种普遍的加密手段打包,然后以通信协议的一种TCP方式发送到服务器上,接收服务器给定反馈的一个cookie(这个值一般是对应在服务器Session的一个验证码,里面可以包含失效时间)。此后每次用户提交信息的行为,都可以以这个cookie作为判断条件,保存该用户账号,同时将信息返回给客户端。4.1.3聊天服务端创建一个ServerSocket对象,并让这个对象在端口监听,如果客户端没有发送数据,那么该线程就停滞不继续,接收到客户端发送的请求,然后识别转发给消息指定的用户。4.1.4下线服务端检查是否有连接,并断开与客户端的长链接,记录每一个用户的状态,当其他用户需要读取到改用户的状态,能准确读取到用户处于下线状态,将此用户下线消息发给各客户端,并改写用户在服务器端的状态[10]。4.2客户端模块登录功能:建立与服务器的连接并登录,能显示登录错误信息。界面显示:主界面为好友聊天界面,显示了已经参与会话的好友列表,子界面为好友资料以及删除,加入黑名单的好友界面。聊天功能:与好友聊天时显示在会话界面。只需要在输入框中输入文本信息点击发送就可以与好友通信,还包括位置,图片,语音的发送。聊天纪录:保存聊天纪录,也可以加载历史记录,当加载到第一次会话,提示“聊天记录已经加载完了哦!”。信息提示:系统弹出信息提示到来信息,并播放音乐来提示。后台运行:当用户将客户端进行后台运行时,如果有消息传输过来,系统会直接通过广播的形势显示消息的来源以及内容。4.2.1注册/登录界面登录功能:客户端通过账号与密码建立与服务器的连接,若账号与密码是正确的可以成功登陆,当然,该用户的账号与密码可以存入数据库中,退出登录之后再启动程序可以检测是否存在配置文件从而自动登录,若是没有账号,则可以注册账号。用户在客户端点击应用程序图标后启动应用如图4-1:图4-1注册/登录界面关键代码:publicvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//去掉状态栏 setContentView(R.layout.main); util=newSharePreferenceUtil(this,Constants.SAVE_USER); if(util.getisFirst()){ createShut();//创建快捷方式 moveSound(); } initView(); }4.2.2聊天界面在客户端,通过创建Socket 来实现和服务器的连接,通过一个按钮来实现客户端向服务器发送消息,在接通后,TextView显示来自服务器的消息。界面如图4-2:图4-2聊天界面关键代码:privatevoidsendVoiceMessage(Stringlocal,intlength){ manager.sendVoiceMessage(targetUser,local,length,newUploadListener(){ @Override publicvoidonStart(BmobMsgmsg){ //TODOAuto-generatedmethodstub refreshMessage(msg); } @Override publicvoidonSuccess(){ mAdapter.notifyDataSetChanged(); } @Override publicvoidonFailure(interror,Stringarg1){ //TODOAuto-generatedmethodstub ShowLog("上传语音->arg1:"+arg1); mAdapter.notifyDataSetChanged(); } }); }4.2.3好友信息界面显示的条目:好友头像、昵称、账号、性别,两个按钮-发起会话、黑名单,如果加入了黑名单,就不能聊天,通过一个布尔值判断,单独一张表存放黑名单。布尔值是“真”

True或“假”

False中的一个。动作脚本也会在适当时将值True和False转换为1和0。布尔值经常与动作脚本语句中通过比较控制脚本流的逻辑运算符一起使用。界面如图4-3:图4-3好友信息界面关键代码:privatevoidshowBlackDialog(finalStringusername){ DialogTipsdialog=newDialogTips(this,"加入黑名单","加入黑名单,你将不再收到对方的消息,确定要继续吗?","确定",true,true); dialog.SetOnSuccessListener(newDialogInterface.OnClickListener(){ publicvoidonClick(DialogInterfacedialogInterface,intuserId){ //添加到黑名单列表 userManager.addBlack(username,newUpdateListener(){ @Override publicvoidonSuccess(){ //TODOAuto-generatedmethodstub ShowToast("黑名单添加成功!"); btn_back.setVisibility(View.GONE); layout_black_tips.setVisibility(View.VISIBLE); //重新设置下内存中保存的好友列表 CustomApplcation.getInstance().setContactList( CollectionUtils.list2map(BmobDB.create(SetMyInfoActivity.this).getContactList())); } @Override publicvoidonFailure(intarg0,Stringarg1){ //TODOAuto-generatedmethodstub ShowToast("黑名单添加失败:"+arg1); } }); } });4.2.4设置界面本界面的条目有:接收或者屏蔽消息,开启声音,开启震动,退出登录。界面如图4-4:图4-4设置界面关键代码:publicvoidonCreate(BundlesavedInstanceState){ //TODOAuto-generatedmethodstub super.onCreate(savedInstanceState); mSharedUtil=mApplication.getSpUtil(); } @Override publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer, BundlesavedInstanceState){ //TODOAuto-generatedmethodstub returninflater.inflate(R.layout.fragment_set,container,false); } @Override publicvoidonActivityCreated(BundlesavedInstanceState){ //TODOAuto-generatedmethodstub super.onActivityCreated(savedInstanceState); initView(); initData(); }4.2.5聊天记录当用户与好友进行聊天后。系统会自动将该好友加入最近聊天分组里面。且聊天记录也会保存进相应的最近聊天界面内,聊天记录是存在本地存储里。如图4-5:图4-5聊天记录关键代码: publicvoidonRefresh(){ //TODOAuto-generatedmethodstub handler.postDelayed(newRunnable(){ @Override publicvoidrun(){ //TODOAuto-generatedmethodstub MsgPagerNum++; inttotal=BmobDB.create(ChatActivity.this).queryChatTotalCount(targetId); BmobLog.i("记录总数:"+total); intcurrents=mAdapter.getCount(); if(total<=currents){ ShowToast("聊天记录加载完了哦!"); }else{ List<BmobMsg>msgList=initMsgData(); mAdapter.setList(msgList); mListView.setSelection(mAdapter.getCount()-currents-1); } mListView.stopRefresh(); } },1000); }4.2.6退出程序再按一次返回键退出程序功能,在Application类(android的application类)中,写一个布尔值默认为false,然后在Activity中重写onKeyDown()方法,监听如果用户第一次点击返回键,使用Handler发消息,通知修改布尔值为true;然后使用countDownTime()进行倒计时,如果在两秒内用户再次按下返回键,则所有Activity执行finish()方法(退出程序)。如图4-6:图4-6退出程序5.基于Android平台的聊天系统系统测试系统测试是应用软件最后的一个过程。应用程序运行时需要多次的测试来发现程序中存在的BUG,从而不断的完善系统,服务更加人性化。经过对系统对服务端和客户端的测试,首先服务器端软件测试,测试服务器端服务是否能开启,服务器端是否能对客户端传来的数据进行正确的解析,客户端应用程序进行测试,移动智能终端设备界面是否能正确显示,数据是否能准确收发,相应客户端功能是否存在不足,最后结合客户端与服务端一起测试,测试客户端是否能与服务端连接,登录,注册,聊天等功能是否正常实现。

系统测试ID测试项目测试数据设计预期结果结论1用户登录正确的用户名、密码正确进入主界面完成测试2用户登录错误的用户名、密码无法进入主界面完成测试3用户注册正确数据注册成功完成测试4用户注册非法数据注册失败完成测试5发送文本消息输入数据点击发送发送成功完成测试6发送图片选择图片点击发送发送成功完成测试7发送语音按住说话点击发送发送成功完成测试8发送位置选择位置点击发送发送成功完成测试9删除好友选中好友选择删除删除成功完成测试表5.1表5-1系统功能测试详细表6.总结与展望经过查阅相关资料和辅导老师陈理的悉心指导,我这个Android聊天软件终于经过测试,一切顺利,APP也成功的让同学们试用,效果还不错。我把这个聊天软件取名为‘聊聊’,仿造了微信的应用基础,但还是具备聊天软件常见的功能,希望同学们在使用的过程中给我多提点意见让我对自己的作品进行完善。从原理上来讲,这种架构的聊天软件开发起来不困难,但这里任然存在很多的问题等待着我去解决,比如说怎么样提高用户在使用过程中的趣味性,市场上无数的应用软件伴随着时代运营而生,只有不停的创新,才可以让用户拥有独特的体验,吸引更为广泛的用户群体,本文通过建立一个原型进行了技术方面的一些探索,通过这些探索我们有理由相信,建立基于移动网络的聊天系统从生活上来说事必须的。从最开始的需求可行性分析,到系统设计,技术开发工具以及环境的配置,最后的软件测试,整个过程都是很好的体验,体会到做一个项目的不容易,本文还是存在很多需要修改的地方,今后一点点完善。集成多媒体的应用有着更强的吸引力,为用户提供更多个性化的服务,将成为未来移动即时通信发展的一个必然趋势[11]。致谢在这个栀子花开的时候,我们马上就要结束四年的大学生活,一路上有开心,有眼泪,伴随着欢笑与疼痛我们慢慢的在成长,大学是一个微社会,不仅教我们学习知识,还教会我们做人的道理,在这里,我非常感谢身边的同学和老师,四年当中给与我的帮助和陪伴!本文是在陈理老师的指导下完成的。选题的时候为双选,我们选题目,选导师,最后导师选择了我,很高兴,从一开始的无从下手到初稿,定稿,离不开老师的指导,另外,我也在网络上,书上查询相关文档,资料,这段时间以来,一起努力的同学们,悉心指导的老师,让我们感触很深,我们遇到了很多技术上,思想上的问题,大家相互鼓励,共同成长,解决了问题的那一刻,心情是很愉悦而且非常有成就感,终于顺利完成了毕业设计,在校外实习,明白了生活有很多不容易的地方,回归校园的那一刻,发现同学们的笑容是那样的纯真,感谢四年的大学生活成为我们青春的回忆。我们马上就要踏进社会,可能前面的两三年会很迷茫,会受伤,但是我们一定要有一颗积极向上的心,同学的情谊能天长地久,所有的朋友都能前程似锦,达到人生巅峰!最后,感谢各位答辩老师鞭策与鼓励。

参考文献[1]齐行程.基于数据报文特征的即时通讯软件监测与控制技术研究[D].南京航空航天大学,2010.[2]王静,孙士宏.图书馆服务如何应对“千年一代”的挑战[J].JournalofJinzhouMedicalCollege:socialenceEdition,2006,4(3):104-106.[3]刘善淋.局域网内部实时通讯系统分析及应用[D].同济大学软件学院同济大学,2008.5(5):34-36.[4]陈锁柱.基于GoogleAndroid平台移动轨迹记录系统的研究与应用[D].内蒙古大学,2011.6(1):110-112.[5]袁刚.基于Android平台应用安全管理软件设计与实现[D].北京邮电大学,2012.2(1):67-68.[6]陈育斌.基于Android平台的即时通信系统设计与实现[J].中国科技博览,2015.7(5):322-322.[7]刘威,杨永吉.Web数据库的实现技术[J].长春大学学报,2001,11(4):18-19.[8]李玉芝.关系型数据库Oracle、DB2、SqlServer的比较研究[J].中国科技博览,2010.6(26):100-100.[9]潘海波.多线程扫描局域网内的计算机[J].黑龙江科技信息,2009.4(9):75-75.[10]袁淑萍,徐蕾,杨建.基于Winsock控件的TCP协议模拟通信[J].电脑编程技巧与维护,2011,01(16):71-73.[11]马志强.基于Android平台即时通信系统的设计与实现[D].北京交通大学,2009.9(3):43-43.基于C8051F单片机直流电动机反馈控制系统的设计与研究基于单片机的嵌入式Web服务器的研究MOTOROLA单片机MC68HC(8)05PV8/A内嵌EEPROM的工艺和制程方法及对良率的影响研究基于模糊控制的电阻钎焊单片机温度控制系统的研制基于MCS-51系列单片机的通用控制模块的研究基于单片机实现的供暖系统最佳启停自校正(STR)调节器单片机控制的二级倒立摆系统的研究基于增强型51系列单片机的TCP/IP协议栈的实现基于单片机的蓄电池自动监测系统基于32位嵌入式单片机系统的图像采集与处理技术的研究基于单片机的作物营养诊断专家系统的研究基于单片机的交流伺服电机运动控制系统研究与开发基于单片机的泵管内壁硬度测试仪的研制基于单片机的自动找平控制系统研究基于C8051F040单片机的嵌入式系统开发基于单片机的液压动力系统状态监测仪开发模糊Smith智能控制方法的研究及其单片机实现一种基于单片机的轴快流CO〈,2〉激光器的手持控制面板的研制基于双单片机冲床数控系统的研究基于CYGNAL单片机的在线间歇式浊度仪的研制基于单片机的喷油泵试验台控制器的研制基于单片机的软起动器的研究和设计基于单片机控制的高速快走丝电火花线切割机床短循环走丝方式研究基于单片机的机电产品控制系统开发基于PIC单片机的智能手机充电器基于单片机的实时内核设计及其应用研究基于单片机的远程抄表系统的设计与研究基于单片机的烟气二氧化硫浓度检测仪的研制基于微型光谱仪的单片机系统单片机系统软件构件开发的技术研究基于单片机的液体点滴速度自动检测仪的研制基于单片机系统的多功能温度测量仪的研制基于PIC单片机的电能采集终端的设计和应用基于单片机的光纤光栅解调仪的研制气压式线性摩擦焊机单片机控制系统的研制基于单片机的数字磁通门传感器基于单片机的旋转变压器-数字转换器的研究基于单片机的光纤Bragg光栅解调系统的研究单片机控制的便携式多功能乳腺治疗仪的研制基于C8051F020单片机的多生理信号检测仪基于单片机的电机运动控制系统设计Pico专用单片机核的可测性设计研究基于MCS-51单片机的热量计基于双单片机的智能遥测微型气象站MCS-51单片机构建机器人的实践研究基于单片机的轮轨力检测基于单片机的GPS定位仪的研究与实现基于单片机的电液伺服控制系统用于单片机系统的MMC卡文件系统研制基于单片机的时控和计数系统性能优化的研究基于单片机和CPLD的粗光栅位移测量系统研究单片机控制的后备式方波UPS提升高职学生单片机应用能力的探究基于单片机控制的自动低频减载装置研究基于单片机控制的水下焊接电源的研究基于单片机的多通道数据采集系统基于uPSD3234单片机的氚表面污染测量仪的研制基于单片机的红外测油仪的研究96系列单片机仿真器研究与设计基于单片机的单晶金刚石刀具刃磨设备的数控改造基于单片机的温度智能控制系统的设计与实现基于MSP430单片机的电梯门机控制器的研制基于单片机的气体测漏仪的研究基于三菱M16C/6N系列单片机的CAN/USB协议转换器基于单片机和DSP的变压器油色谱在线监测技术研究基于单片机的膛壁温度报警系统设计基于AVR单片机的低压无功补偿控制器的设计基于单片机船舶电力推进电机监测系统基于单片机网络的振动信号的采集系统基于单片机的大容量数据存储技术的应用研究基于单片机的叠图机研究与教学方法实践基于单片机嵌入式Web服务器技术的研究及实现基于AT89S52单片机的通用数据采集系统基于单片机的多道脉冲幅度分析仪研究机器人旋转电弧传感角焊缝跟踪单片机控制系统基于单片机的控制系统在PLC虚拟教学实验中的应用研究基于单片机系统的网络通信研究与应用基于PIC16F877单片机的莫尔斯码自动译码系统设计与研究基于单片机的模糊控制器在工业电阻炉上的应用研究基于双单片机冲床数控系统的研究与开发

温馨提示

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

评论

0/150

提交评论