基于Android的校园聊天软件的设计与实现DesignandImplementationofCampusChatSoftwareBasedonAndroid摘要在智能手机中,Android平台约占75%市场份额。安卓系统的广泛应用,使得Android手机应用程序的数量快速增长,即时通讯APP的应用范围也更加广泛。另一方面,高校师生需要在教学过程中加强沟通,而开发一款智能手机的校园聊天APP则可以满足这一需要,弥补传统教学形式的不足。本文旨在设计并实现一个基于Android的校园聊天软件。本文在对校园聊天客户端进行调查研究基础上,进行了需求分析和系统设计,进一步完成了UI界面设计,在Eclipse中使用Java语言实现了APP各个功能模块。APP的IM通信部分基于第三方通信云SDK进行开发。该APP的功能主要包括用户登录、注册、聊天框架、通讯录管理、个人信息管理等功能模块。基于Android平台校园聊天软件将为管理者、教师、学生之间提供一个高效的沟通平台,它的实施将有利于加强对教育教学过程的监督,增进师生之间、学生之间的学习交流,增强教学互动性,提高教育教学效率。关键词:Android;校园聊天;智能手机ABSTRACTForsmartphones,theAndroidplatformaccountsforabout75%marketshare.TheextensiveapplicationoftheAndroidsystemallowsthenumberofAPPsforAndroidcellphonestogrowrapidly.TheapplicationscopeofinstantmessagingAPPshasbecomewideraswell.Itisnecessaryforcollegeteachersandstudentstoenhancecommunicationintheteachingprocess,developingacampuschattingAPPforsmartphonescanexactlymeetthisneedandcompensatefortheinadequaciesofthetraditionalteachingform.ThispaperaimstodesignakindofAndroid-basedcampuschattingsoftware.Throughthesurveyonthecampuschattingclient,thedemandanalysisandsystematicdesignarecarried,andtheUIinterfacedesignisfurthercompleted.JavalanguageisusedinEclipsetorealizevariousfunctionalmodulesoftheAPP.TheIMpartoftheAPPisbasedonthethird-partycommunicationcloudSDK.FunctionsoftheAPPmainlyincludeuserlogin,registration,chattingframework,addressbookmanagement,andpersonalinformationmanagement.BasedonthecampuschattingsoftwareoftheAndroidplatform,itistoprovideanefficientcommunicationplatformforschoolmanagers,teachersandstudents,theimplementationofwhichwillfacilitatethesupervisionontheeducationprocessbyschoolsandincreaseacademiccommunicationamongteachersandstudents.Theteachinginteractivitywillbeenhancedalongwiththeimprovementoftheeducationefficiencyaswell.KeyWords:Android;campuschat;Smartphone目录1绪论31.1开发背景31.2课题意义31.3研究内容31.4本章小结42软件需求分析52.1技术介绍52.1.1软件开发的工具和环境52.1.2Eclipse介绍52.1.3安装JDK和SDK52.2需求分析52.2.1主要参与者52.2.2功能需求62.3.3性能需求72.3本章小结73软件设计83.1软件功能设计83.1.1客户端功能设计83.1.2服务器功能设计123.2软件的数据库设计123.3本章小结144软件实现164.1服务器端164.1.1配置OpenFire服务器164.1.2使用SmackAPI与OpenFire建立连接通信174.2客户端184.2.1用户注册模块184.2.2用户登录模块204.2.3个人信息设置管理224.2.4好友信息管理模块244.3本章小结305软件测试325.1软件功能测试325.1.1用户注册模块测试325.1.2用户登录块测试325.1.3用户设置管理模块测试335.1.4好友管理模块测试335.1.5消息模块测试345.2本章小结34结论35参考文献36附录:系统主要功能代码37致谢481绪论1.1开发背景Android的英文翻译是指机器人,而Android这个词语作为操作系统的名称出现,是谷歌在2007年发布了应用在手机平台上的操作系统,自此Android作为手机操作系统出现在人们的视野中。同时由于Android的操作系统的开源性和可开发性使得以Android操作系统的应用软件日益增多。Android操作系统被越来越多的人接受和使用。目前的Android聊天软件基本分为2种架构形式:(1)C/S架构:采取客户端/服务器对等传输的形式,用户方主要使用客户端软件,使用前用户通过网上下载客户端软件,再安装到手机上进行使用,市场上流行的C/S架构的聊天软件有以下几种:QQ、微信、微博、YY、MSN等;(2)B/S架构:浏览器/服务端对等传输的形式,这种形式下的即时通信工具,一般都是依赖于互联网,作为用户无需下载客户端,用户一般在浏览往网上网页时浏览器会提供一个类似于客户端的界面使用户可以发送消息,此架构一般应用在数据流比较大的电商网站,如WebQQ等。1.2课题意义在高校传统教育教学模式下,普遍存在师生之间就教学内容比较缺乏沟通的现象,教师与学生之间的关系日趋淡漠,学生对老师缺少敬畏感,老师对学生缺少亲切感。然而师生之间的沟通对教学是十分重要的。另外,管理者则希望加强对教育教学过程的监督管理,籍此提高教学质量,强化教学效果。本文研究的校园聊天软件可以为管理者、教师、学生之间提供一个高效的沟通平台,它的实施将有利于加强对教育教学过程的监督,增进师生之间、学生之间的学习交流,增强教学互动性,提高教育教学效率。因此本课题具有重要的实际意义和应用价值。1.3研究内容本文将针对基于Android的校园聊天APP进行需求分析、总体设计、UI界面设计、软件代码编写、软件功能优化、软件测试等工作,实现登录功能、向XMPP服务器发送信息包功能、用户好友通讯录获取及相关管理功能、个人信息管理功能、好友文字和语音消息发送功能、图片文件发送功能。论文的章节安排如下:第1章:绪论。主要陈述项目的背景和来源,以及所开发产品的意义和未来发展前景,介绍了国内外同类产品的发展现状,最后说明论文主要工作,本人在项目中完成的功能模块以及论文的主要结构。第2章:系统相关技术介绍以及理论分析。主要介绍项目开发所使用的技术以及软件的需求分析,包括:Android手机操作系统的架构和应用程序的分析、软件的用户需求分析。第3章:软件设计。对软件的功能进行概要分析,同时对系统所处的子系统的各个功能进行详细的介绍。第4章:软件实现。主要对系统的架构、各个模块的功能划分以及功能类图和软件实现截图进行详细介绍。第5章:系统测试:主要陈述系统的测试用例以及系统的完成情况。第6章:总结与展望。主要介绍了项目完成经验,存在的缺陷以及不足,以及对未来的展望。1.4本章小结本章主要阐述了软件的开发背景、课题意义和研究能容,通过对上述三部分的详细分析为需求分析章节做好准备。2软件需求分析2.1技术介绍2.1.1软件开发的工具和环境开发环境:Eclipse开发语言:Java模拟机平台:AVD手机运行平台:Android2.1以及上版本开发软件所需插件:JDK、SDKUI界面处理软件:Photoshopcs5音频处理软件:绘声绘影X15,格式工厂辅助设计工具:ADT、LogCat、adb等2.1.2Eclipse介绍该软件主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分-EclipsePlatform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发、EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。2.1.3安装JDK和SDK先从网站上找到JDK1.6(JREaloneisnotsufficient)版本并下载,下载完毕后将它安装在PC机上并在PC机上设置好有关的环境变量,将JAVA_HOME,path等几个设置为适用于Java开发的环境变量,最后将其导入你的JDK文件路径。SDK安装:直接从相关网站下载好SDK压缩包,然后打开Eclipse软件,在其中找到对应路径将其导入就可以。2.2需求分析2.2.1主要参与者根据软件设计的需要,系统主要参与者为用户和系统。用户将对系统发起大部分功能,同时系统的一些设置信息和更新信息需要系统参与。(1)用户:用户在操作软件的过程中涉及到的软件功能主要包括:用户注册功能、用户登录功能、重设用户密码功能、好友列表管理功能、聊天功能等,其中聊天功能包括聊天文字、聊天表情、语音聊天、以及图片文件发送等。(2)系统:系统通过调用相关功能模块将自动登录用户账号、保存用户注册时的设置信息;系统提供后台的软件更新功能。2.2.2功能需求校园聊天软件的功能需求包括:用户注册、用户登录、聊天功能、通讯录管理、个人信息管理。(1)用户注册用户初次进入软件,需要申请一个用户名。这就需要用户通过注册功能注册一个可以使用的账号。(2)用户登录为了让软件使用起来更加简便,给用户带来良好的交互体验,系统一方面允许用户采用输入账号和密码的方式进行登录,另一方面也允许记录帐号信息而自动登录。(3)聊天功能聊天功能是指好友之间的发送即时消息进行通讯,消息形式可以是文字、语音、表情符号、图片等等。(4)通讯录管理通讯录管理功能包括对好友的添加、删除、查找,显示好友列表,置顶显示即时会话等。(5)个人信息管理个人管理信息主要是对用户的头像、个性签名、昵称等进行管理。图2-1系统功能模型图2.3.3性能需求根据以上分析,性能需求主要针对用户使用软件的的方便性和系统可靠性等方面进行考虑。在项目设计中,主要遵循一下原则:(1)可操作性:用户对于软件操作时,界面要简单、方便、直观。操作过程中要有及时的提示,比如错误提示。从而保证用户能正确操作软件。(2)可移植性:设计出来的软件系统要保证在不同版本的Android手机上运行不会崩溃,同时保证数据的正确性。(3)实用性:从用户的实际需求去考虑软件的功能需求。(4)安全性:系统要保持数据的正确性,在长时间的使用过程中保证系统不易崩溃。同时软件在运行和不运行时都要保护用户的注册信息和软件通过检测用户本地信息时所获得的信息都不被泄露,从而确保用户使用该软件的安全性。(5)可靠性:系统要有一套良好的运行环境。确保系统稳定、长时间的运行不出错,从而使用户可以放心使用软件。(6)可维护性:系统软件在开发过程中不但要保证用户需求的功能