基于android平台的聊天软件设计与实现.docx
《基于android平台的聊天软件设计与实现.docx》由会员分享,可在线阅读,更多相关《基于android平台的聊天软件设计与实现.docx(26页珍藏版)》请在沃文网上搜索。
1、 毕业论文(设计)题 目 基于android平台的聊天软件设计与实现 学 院 专 业 学生姓名 学 号 指导教师 word文档 可自由复制编辑基于android平台的聊天软件设计与实现通信工程专业学生 xxx 指导老师 陈理【摘要】聊天工具又称IM软件或者IM工具,主要提供基于互联网络的客户端进行实时语音、文字传输。这是一种可以让使用者在网络上建立某种私人聊天室的实时通讯服务,本课题主要研究基于Android的移动聊天系统,开发出界面简洁,用户易操作的即时通信聊天软件。主要功能:用户注册,登录,好友一对一聊天,群组聊天。在该即时通信工具中客户端之间通过服务器对数据的转发实现相互通信。本文首先概
2、述了IM聊天工具的背景,其次是课题的目的及意义,然后介绍了软件开发的环境和开发工具及其技术,给出了软件的系统架构,各个模块的流程图及用例,在Eclipse中使用Java语言实现了APP各个功能模块, 该APP的功能主要包括用户登录、注册、聊天框架、通讯录管理、个人信息管理等功能模块。【关键词】Android 通信 聊天软件 注册 登录 【Abstract】The main research topics of the graduation Android-based mobile chat system, according to its architecture and design pri
3、nciples 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
4、the data 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 arch
5、itecture, 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; communication; chat software; sign; log in 目录第一章 绪论11.1聊天软件背景11.2 课题意义11.3 研究内容21.4 设计思想2第二章 Android聊天软件可行性分析32.1 Andr
6、oid 行业概述32.1.1 认识Android32.1.2 Android开发概述32.1.3 Android的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接
7、口设计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.绪论由于现代技术的不断加深以及信息化的广泛普及,移动通信作为一种新兴技术,近年来得到了潜移默化的普及和
8、深入,移动网络上的各种应用层出不穷,给各年龄段、各行业阶层的用户提供了不同的个性化的服务。聊天软件要在瞬息万变的信息时代生存,适应激烈竞争的市场,必须提高市场竞争力,就要对市场作充分的调查和详细的研究,同时也要有好的客户服务。移动网络在线聊天系统对于人们来说就是一种交流和通信的平台,本系统做到了信息的及时的反馈,即时的处理并作出相应的行动。移动网络通信是网络应用的重要体现方面。移动网络即时通信则是网络应用的重要体现方面。本聊天系统主要适用于客户端与客户端通过服务器的信息传输。本聊天程序使跨距离的交流更加方便和快捷,更能高效率的体现现代即时通信的特点。1.1聊天软件背景我们进入了一个信息高速发展
9、的时代,人与人之间不再只依赖于面对面,或者依靠电话的联系,信息的快速传递不仅能够节省电话产生的费用,而且还有助于人们保持固定长远的联系。目前,我们常用的聊天软件有QQ,微信,微博等。在移动互联网时代,面对层出不穷的软件开发,我们需要基于移动终端开发出新型的聊天软件,来满足大众的需求,我们都熟悉且常用的移动设备终端操作系统有ios,android,symbian等等,最普及的是Android。本课题采用聊天软件的C/S架构:采用客户端/服务器形式,用户使用过程中需要下载安装客户端软件,典型的代表有:QQ、微信 、微博 、YY、MSN等1。1.2 课题意义在互联网飞速发展的今天,“网虫”在互联网上
10、聊天已经成为一种习惯,IM程序设计就是一个多点通信程序,C/S体系架构在软件开发中越来越流行,应用软件使用这种架构可以充分发挥数据库系统优势,速度更快,从用户体验的角度来更好的满足人们对聊天软件的需求,有一个前提,频宽充足,大部分IM服务事实上提供实时通讯的能力。实时传讯与电子邮件最大的不同在于不用等候,不需要每隔两分钟就按一次“传送与接收”2,只要两个人都同时在线,就能像多媒体电话一样,传送文字、档案、声音、影像给对方,只要有网络,无论对方隔得多远都没有距离3。本论文将对基于Android的聊天软件系统进行可行性分析、实现设计、界面设计、关键代码编写、应用功能优化、系统测试等工作,实现登录功
11、能、向XMPP服务器发送信息包功能、用户好友通讯录获取及相关管理功能、个人信息管理功能、好友文字和语音消息发送功能、图片文件、位置发送功能。因此本课题具有重要的实际意义和应用价值。1.3 研究内容 主要研究内容:基于Android平台的聊天系统主要研究内容是服务器怎么样对客户端信息的识别,传输,怎么去区分信息类型,实现用户方便快捷使用本操作系统以及Android页面布局的设计内容。第1章:主要陈述聊天软件的的背景和来源,以及所开发的软件实际意义和现实意义,介绍了Android聊天系统的工作原理,最后说明论文主要工作。第2章:系统相关技术可行性分析,主要介绍软件开发所使用的工具以及开发环境,包括
12、安卓的行业概述,操作系统的架构和应用程序的分析、常见的数据库以及数据管理要求。第3章:系统设计,对软件的功能进行概要分析,同时从系统逻辑和物理流程图来清晰的展现全局,系统所包含的模块各个功能进行详细的介绍。第4章:系统实现,从服务端和客户端两方面入手,主要对聊天、通讯录、设置的功能模块条目进行详尽的介绍,以及功能和软件实现的关键代码的呈现。第5章:系统测试,主要陈述系统的测试用例以及系统的完成情况。第6章:总结与展望。主要介绍了项目完成经验,存在的缺陷以及不足,以及对未来的展望。1.4 设计思想本设计通过配置Android SDK、Eclipse、ADT插件、java来搭建Android 的运
13、行环境,Android程序开发过程中可以使用SQLite数据库来实现程序的结构化数据存储,所有的功能都基于数据库实现,包括消息推送;通过不同的表关系来实现功能,设计实现的功能有用户登录、注册,用户与好友的一对一的聊天,添加,删除好友,加入黑名单的功能,在Android手客户端实现发送文字、图片、位置、语音的功能。系统包括手机客户端和服务端两部分,服务器端采用了Bmbo云端服务器,利用数据库保存用户注册的信息、通讯录、聊天记录、好友资料等等,客户端实现各功能的可操作界面,并实现通过服务端达到与好友实时通信的功能。2.基于Android平台的聊天系统可行性分析需求分析是软件分析中的一个重要步骤。它
14、的基本任务是要准确地分析出系统应用者的需要,以及系统目标必须具备哪些功能。这些功能必须准确地,完整地体现出用户的要求。2.1 Android概述2.1.1 认识Android行业Android一词的英文本义指机器人,它是Google公司于2007年11月宣布的基于Linux平台的开源手机操作系统,该平台由操作系统,中间件,用户界面和应用软件组成,为移动终端打造的真正开放和完整的移动软件平台4。目前主流的应用在手机操作系统还有IOS,BlackBerry,Symbian.这些操作系统都大同小异,用于移动智能终端设备。2.1.2 Android开发概述在Android平台上,开发者可以根据用户需求
15、开发出丰富多彩的应用。Android的应用程序使用Java语言开发的,加上Android平台提供了2D,3D的图形支持,数据库支持(SQLite),并且集成了浏览器5。基于Android的平台,我们可以开发出各式各样的应用,这些应用可以涉及视频,游戏,音乐,办公软件等等,在此开放的平台上,这一切都取决于用户的需求和开发者的发挥和创意。2.2 软件开发的工具和环境开发环境:Eclipse开发语言:Java手机运行平台:Android5.0以及上版本开发软件所需插件:JDK、SDK2.2.1 编程语言使用Java编程语言及数据库技术相结合,编写一个基于android端的移动聊天系统软件。Java可
16、运行于多个平台,它是面向对象的程序设计语言,由语法,文件格式,虚拟机,应用程序接口四方面组成,可用来开发可靠地,要求严格的应用程序。编程的时候大小写敏感,因此要注意,而对于类名来讲,类名的首字母应该是大写。源文件名必须与类名相同,Java编程语言的风格类似于C、C+语言,优势就是它是一个面向对象的编程语言,开发者不用为内存管理而担忧,在这个项目上,使用Java编程语言对于初学者来说是很好的选择。2.2.2 技术路线Eclipse 可作为Java集成开发环境是一个基于 Java 语言的扩展并且源代码开放开发平台。Eclipse的本身是一个框架平台和服务,支持众多插件组件构建使得这套工具具有灵活性
17、。尽管 Eclipse 是使用 Java 语言开发的,但是它的使用并不局限于 Java 语言;他支持诸如 C/C+、COBOL 和 Eiffel 等编程语言的插件都可用。Android SDK是以Java语言为基础,也是一种软件开发工具包。开发工程师来开发软件应用,通过SDK提供的一些工具将其打包为Android平台使用的apk文件,然后用内带的模拟器来模拟和测试应用软件在安卓平台上的运行情况和效果。Android SDK 指的是Android专属的软件开发工具包。 下载好Android SDK后,开始安装,Android SDK采用了Java语言,所以需要先安装JDK,在这里我安装的是JDK
18、1.7。直接下载JDK安装文件安装更为方便。 Android SDK不用安装,下载后,直接解压即可, 将下载后的SDK的压缩包解压到适当的位置,就这么简单;SDK安装OK。 使用Eclipse进行Android应用开发需要给Eclipse装ADT插件,这样Eclipse就可以和Android SDK进行连接,可以在Eclipse中启动Android模拟器进行程序调试等ADT插件安装这里不再赘述,也可以下载ADT的zip包安装 安装完插件后,需要做一些简单的配置: 1、在Eclipse中,选择Window- Preference; 2、从左侧的菜单中,选择Android项; 3、设置SDK Lo
19、cation,点Browse选择SDK的安装根目录.2.2.3 用户要求对用户没有特定的要求,有无计算机专业知识都可以使用本软件进行聊天,因此本系统会提供一个人性化,用户易操作的界面,能实现最基础的文字传输功能,还包括语音,图片,位置的传输功能。用户在客户端运行聊天软件时,通过判断内部控制模块是否存储了已经配置好的用户信息,若存在,则直接调用配置存储过的用户登录信息进行网络连接;若不存在,则系统判断进入向导模式,提供用户选择登录或是注册。若用户注册过账号,则可以直接到登录界面填写登录信息进行登录,如果用户没有账号,则选择注册,到注册界面进行注册;登录成功后,就会显示联系人列表,不成功时,可以点
20、击手动设置来配置一些登录信息和网络设置信息等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数据库:IBM DB2是美国IBM公司开发的一套关系型数据库管理系统,主要应用于大型应用系统,具有较好的可伸缩性,可支持从
21、大型机到单用户环境,应用于所有常见的服务器操作系统平台下。 DB2提供了高层次的数据利用性、完整性、安全性、可恢复性,以及小规模到大规模应用程序的执行能力,具有与平台无关的基本功能和SQL命令8。本设计数据库采用SQLite数据库,SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。2.3.2消息推送原理所有的功能模板都基于数据库实现,包括消息推送,接下来我将介绍推送功能的实现原理。安卓消息推送主要有三种方式:使用SM
22、S服务,就是依靠服务器端发送短信广播,通过手机客户端监听短信的广播,通过系统对数据进行相应的处理,从而达到消息推送的方式。优势就是省电,省流量。使用轮询方式,客户端从网络中主动获取数据。但是有一个缺点就是耗电、耗流量。轮询方式方便于我们理解,实现也起来较为简单,若只是做个试用的版本的情况下建议使用。但若是作为会一直在运行的应用,用很多种方法去优化,还是会比较耗费流量的,是因为运行过程中会一直获取网络中的数据。使用长连接方式,普遍来讲,服务器端推送的数据的方式,一般都是用这种方式进行数据推送。优点是省流量、缺点是耗电。这里我们介绍一下工作原理,工作原理就是客户端与服务器端会建立一条长时间的数据流
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 android 平台 聊天 软件设计 实现