毕业设计(论文)-基于Android技术的MYQQ聊天系统的设计与实现.doc_第1页
毕业设计(论文)-基于Android技术的MYQQ聊天系统的设计与实现.doc_第2页
毕业设计(论文)-基于Android技术的MYQQ聊天系统的设计与实现.doc_第3页
毕业设计(论文)-基于Android技术的MYQQ聊天系统的设计与实现.doc_第4页
毕业设计(论文)-基于Android技术的MYQQ聊天系统的设计与实现.doc_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

本科生毕业设计题目 基于Android 技术的MYQQ 聊天系统的设计与实现 姓名 _学号 _院 系 _专业 信息与计算科学 指导教师 2016 年 12 月教务处制 本科生毕业设计声明本人郑重声明:所呈交的毕业设计,是本人在指导教师指导下,进行研究工作所取得的成果.除文中已经注明引用的内容外,本设计的研究成果不包含任何他人创作的、已公开发表或没有公开发表的作品内容.对本设计所涉及的研究工作做出贡献的其他个人和集体,均已在文中以明确方式标明.本设计创作声明的法律责任由本人承担. 作者签名: 年 月 日 本人声明:该毕业设计是本人指导学生完成的研究成果,已经审阅过毕业设计的全部内容,保证题目、关键词、摘要部分中英文内容的一致性和准确性,并通过一定检测手段保证毕业设计未发现违背学术道德诚信的不端行为. 指导教师签名: 年 月 日 内容摘要:在21世纪的今天,智能手机得到了飞速的发展,作为智能手机中使用人数最多的Andriod智能手机的发展尤为迅速.本设计通过对当前的手机聊天软件进行了相关的调查,并作出了相关的需求分析,从系统目标、系统开发环境、设计步骤、功能实现等几个方面进行系统的整体设计,运用Java语言,MVC架构设计了基于Android的MYQQ聊天软件,实现了登录注册、添加联系人、聊天、查看资料等功能.通过对系统的功能进行测试,证明该系统界面友好、功能完善,有着较高的使用价值,具有较广阔的应用前景.关键词:Android MVC Java MYQQ聊天系统全套设计加扣3012250582 Abstract:In the 21st century, the smart phone has been the rapid development of smart phones as the largest number of andriod particularly rapid development of smart phones, Andriod phone has become a major tool for communication and entertainment people.In this thesis, the current public prefer mobile chat software for the relevant investigation and made relevant demand analysis, the overall design of the system, from the aspects of system design objectives, system development environment, design steps, functional realization Android-based fine MYQQ chat software, including connected devices, so that can be detected, chat and other major functional modules, to achieve a login registration, add contacts, chat, view data, and other functions.Through the function of the system test, the test results show that the system is user-friendly, functional, has a high value, has broader application prospects. Key words:Android MVC Java MYQQ chat system目 录1 引 言11.1 设计的背景11.2 研究意义11.3 本文研究的主要内容12 系统需求分析22.1 需求概括23 Android架构分析和应用程序结构剖析33.1 Android的功能特征33.2 Android架构分析33.3 Android应用的构成和工作机制53.4 应用程序基础53.5 应用程序组件54 系统设计与实现64.1 系统功能模块设计64.2 技术框架设计74.3 UI界面设计75 系统测试135.1软件测试的重要性135.2测试环境与测试条件135.3系统运行情况135.4系统评价136 总结14参考文献15致 谢161引言1.1设计的背景现在比较流行的设计是聊天通讯.“我找你”的英文简称是ICQ,ICQ最大的特点是信息交流,只需知道对方的账号或号码,就可以与他进行随时随地的交流.目前许多类型的实时聊天系统,功能比较完善.然而本设计是解决在企业中的信息交流.解决企业或单位通信和协作问题,提高工作效率.员工可以使用内部通信系统随时发送消息,文本信息,传输文件,多人聊天和音频对话.服务器端和客户端软件是本系统的服务器,仅仅支持局域网.实现了员工内部之间的即时通信,真正的内部工作.通过局域网或内部网,我们可以实现面对面交流,提高效率.本即时通讯系统由系统管理员和工作人员在企业内安装自己的服务器,实现局域聊天,防止重要信息外泄,所以可以更好的解决信息泄露问题.1.2研究意义现在的智能手机不再只是一部打电话、发短信的工具,它还可以使用其他方式进行信息交流.其中,基于Andriod手机聊天软件特别的受人们的喜爱,而且大众也比较喜欢界面美观,操作简单的手机聊天软件.随着推出的谷歌Android手机不断更新,使得设计一个实用美观的聊天软件成为了可能.即时通讯(IM)是一个允许两人以上使用网络即时地传递信息文字与语音与档案与视频交流的终端服务.即时通讯不同发送邮件,主要区别于它的交谈是即时性的.大部分的即时通讯服务提供了存在的特性1.这种模式比起使用邮件更像是在与对方打电话进行交谈,即时特性被充分得到体现.1.3本文研究的主要内容 本文设计的是一种适合应用在 Android 手机的多功能人性化的手机聊天软件,实现了智能手机应用的又一次跨越和飞跃.其主要研究基于Android的MYQQ聊天软件的设计、开发及实现.同时为了方便在指定的局域内不与外界有联系的情况下,我们设计了一个不需要联网的快捷聊天工具.只要此软件安装在Android系统中且在同一个网段,就会发生回话,这样大大的方便了公司或者其他行业的内部会议交流,同时会避免重要会议内容的泄露.另外此软件类似腾讯QQ聊天工具,这样会使人们很容易使用,不会因为对软件的不熟悉而给你带来不便.设计本系统的目的是:通过制作该程序更好的学习网络软件编程知识.本系统需要完成的主要内容如下:注册登陆管理系统主要包括QQ注册、QQ登陆、QQ登出等系统功能;好友管理模块,包括添加好友、查找朋友功能;聊天管理模块,包括一对一聊天、一对多聊天系统功能;聊天纪录模块,包括保存聊天纪录,查看聊天纪录;动态管理模块,主要是查看好友动态和发布动态功能;个人信息模块,主要包括姓名、出生日期、性别等介绍的功能;语音电话模块,主要包括一对一语音聊天功能.2系统需求分析2.1需求概括 本设计的目的是为了有效解决公司或者其他行业的会议交流,同时会避免重要会议内容的泄露.在指定的局域内不与外界有联系的情况下,我们设计了一个不需要联网的局域网聊天工具,同时提高员工之间的沟通效率,增强人与人之间的感情.2.2系统分析的任务与步骤2.2.1系统分析的任务 了解系统的使用人员的要求.了解他们对系统有什么要求,需要什么功能,具有哪些性能,对硬件方面有什么硬性要求,把了解调查到的信息整理成系统的分析报告并给出相应的逻辑描述即对本系统具有的功能与其性能的描述.2.2.2系统分析的步骤 (1)将调查和研究的结果用图文描述出来. (2)对用户的要求进行建模分析呈现. (3)编写出系统分析说明书.2.3系统运行环境 (1)硬件资源 能够安装和运行Android系统的具备功能的智能手机. (2)软件资源 操作系统: Windows 7或Windows 10. 开发工具:Android sdk、jdk1.6、Eclipse、MyEclipse.3 Android架构分析和应用程序结构剖析3.1 Android的功能特征 (1)应用程序体系结构:体系结构的应用程序有几个不同的基本组件开发应用程序时,您可以联系这些组件中使用,可以节省应用程序开发的时间和精力.(2)Dalvik虚拟机:在使用Java虚拟机时,而不应该选择一个标准的Java虚拟机,应该选用谷歌自主研发的Dalvik虚拟机,这确保兼容性在API方面能够很好,而且Dalvik虚拟机针对移动安卓手机实现了很大程度上的优化,只需要占用很少一部分的资源,拥有更高的工作效率.(3)集成的浏览器:集成的浏览器是基于WebKit引擎的浏览器Android浏览器进化成的内置浏览器.WedKit是一个开放源码的Web浏览器排版引擎,目前采用WebKit浏览器引擎,主要包括Safari浏览器,Epiphany浏览器,Midori浏览器等. Android手机具有的功能,你可以浏览网页,以达到更好的效果.如:浏览信息,就像在网站缩放效果的本地操作.(4)优化的图形的能力:该程序可用于在2D和3D图形功能两个区域.在2D方面, Android提供了一个独特的(SGL 类库,而3D方面是使用的OpenGLES1.0(OpenGL进行嵌入式系统)的标准库是非常快的图形引擎,能够使硬件的运行熟读得到很大程度上的提高.(5)数据库SQLite: SQLite是可访问结构化数据.SQLite是一款轻型的数据库,旨在设置,现在在很多嵌入式产品中应用,采用非常低的资源.它支持Windows/ Linux的Unix的其他主要操作系统,可与各种编程语言,如PHP,Java和ODBC接口,相比MySQL和PostgreSQL在其处理速度方面更快的整合2.3.2 Android架构分析3.2.1应用程序框架在Android的SDK ,是允许开发者使用API的授权,框架是相同的核心应用程序,以方便组件和设计的重用定义应用程序,发布应用程序可以使用其他应用程序.然而,这是受安全机制应用架构,用户可以使用相同的机制来添加,组件更换.所有当前应用程序是由服务和系统制造,包括:(1)系统是可扩展的视图:是用于系统屏幕的发展,常用的控件有按钮,网格,文本框等,同时还内嵌Web浏览器.(2)内容提供商:使应用程序的数据(如电话号码)进入到另一个应用程序或共享自己的数据.(3)资源管理器:提供了多种来源的非编码应用程序的使用.(4)通知管理器:提供自定义应用程序,使应用程序的消息会显示在状态栏中.(5)事件管理器:管理应用程序的生命周期,提供了一个通用的导航回退功能.(6)窗口管理:管理Windows启动程序.(7)位置管理:管理的映射相关的服务功能.(8)经理电话:管理用户拨打和接听电话相关的功能.3.2.2类库包含了一些Java库中的类,Android系统库可以在不同的组件使用3.开发人员可以通过应用程序框架使用这些功能.一些核心库如下:(1)面管理器:主要功能是允许开发人员访问/显示系统和管理功能的互动性和多实现应用之间的无缝集成2D/3D之间的显示和操作访问对应.例如:合成,叠加作用2D,2D显示.(2)3Dlibraries:主要规格是由OpenGLES1.0 3D图形引擎定义.这个库使用硬件加速(当硬件可用),可以使处理和显示的最佳的3D硬件功能.(3)Android Skia:主要是处理与显示2D图形引擎的各个方面.(4)媒体框架的工作:主要是基于多媒体库开发为主的公司PacketVideo公司的OpenCore库支持播放的大量流行的音频和视频格式,静态图片和录制.例如: MPEG4,H.264,MP3,AMR,JPG,PNG,GIF等格式.(5)SQLite:轻量级关系型数据库引擎SQLite,是一个开放的关系型数据库4.3.2.3 Android运行时的组件尽管Android是由Java语言开发,编写应用程序,但可以不使用Java运行时组件来执行程序,而是使用由谷歌自己开发的实施程序在Android运行时组件. Android运行时的组件包括两个重要部分,一个Dalvik虚拟机,另一种是核心类库.3.3 Android应用的构成和工作机制Android的应用程序包含了Activities、Services、Intent、广播接收者、内容包括部分,但不是每一个Android应用程序必须包括这几部分.当运行一个应用程序,您必须配置的xml配置文件.这个配置文件是必需的在Android上进行配置的,以及必要的应用程序组件和组件功能的条件的自定义.3.4应用程序基础Android应用程序是用Java编程语言所编写.编译Java代码,包括应用的需求和所有数据文件结合AAPT工具到Android包的源,存档文件的后缀是APK .是安装和分发移动设备文件或应用的中介或工具,用户下载文件到自己的设备5.Linux或Mac OS:是Android平台的工具,目录是SDK,以各种不同的方式运行,每个Android应用程序是生活在自己的世界里.应用程序需要在Linux进程中运行,且需要一些时间但无需其他应用程序的系统资源.每个应用程序都有它自己的Java虚拟机(VM),应用程序是独立于所有其他应用程序代码运行.默认情况下,每个应用程序分配一个唯一的Linux用户ID ,为每个用户的应用程序和应用程序文件的权限设置.可以有多种方法可以将它们应用到另一个,也可以设置两个应用程序共享的用户ID6.在这种情况下,可以看到他们的文件.同时为了节省系统资源,具有相同ID的应用程序可以在同一个Linux的过程中,共享相同的虚拟机.3.5应用程序组件Android的一个关键特征是一个应用程序可以使用其他应用程序的元素(假设这些应用程序允许).例如,你的应用需要显示的滚动列表中的图像,并且其他应用程序已经开发了一个适当的滚动条,可供其他应用程序使用,你可以调用这个滚动条去使用,而不是自己开发的一个.你的应用程序代码不纳入到其他应用程序.为此,系统启动应用程序时,需符合应用程序任何部分的要求,实例化的Java对象的部分.因此,不同于大多数其他应用程序,Android应用程序没有一个单一的入口点(例如,没有主功能)相反,本系统可以实例化运行几个必要的组件.有四种类型的组件:活动(Activities)、服务(Services)、广播接收者(Broadcast receivers)、内容提供者(Content providers)7.然而,不是所有的应用程序必须包含四部分,你的应用程序可能包括上述一个或几个建设.当你决定建立Android使用这些组件的应用程序,你应该列出他们在AndroidManifest.xml文件,在这个文件中你可以声明应用的组件和它们的特性和要求.4系统设计与实现4.1系统功能模块设计实现了登录注册、添加联系人、聊天、查看资料等主要功能模块.图1显示的是基于Android的MYQQ聊天软件的功能结构图.基于Android技术的MYQQ聊天软件的功能 登录注册 添加联系人 查看资料 聊天系统图1 基于Android的MYQQ聊天软件功能结构图图2显示的是基于Android的MYQQ聊天软件程序流程图.No 初始化 进入聊天主界面 开始 发送信息是否退出程序Yes 结束 图2 程序流程图4.2 技术框架设计Android系统框架层分为四层,即应用层、应用框架层、系统运行层和Linux内核层.应用层:该应用层是用Java编写,应用于启动程序的一个虚拟机上与谷歌的一些核心应用程序放在Android系统中,如手机中自带的SMS程序,日历 ,浏览器等.应用框架层:本层主要放置系统运行的核心API框架,放置着自己开发的和自带的程序开发框架.运行时系统层:Android系统支持的各个组成部分,使用Android应用框架时,我们通过使用C/C+库,使其能更好的为我们当前服务.核心层:Android Linux2.6内核的核心系统服务,如安全,进程管理,内部管理,网络协议栈和驱动模型依赖于内核等等8.4.3 UI界面设计系统主要包括登录注册、添加联系人、聊天、查看资料等功能模块,以下对各功能模块的实现界面进行介绍.(1)注册界面如图3所示.图3 注册界面实现功能部分代码如下: public class IndexAction extends IdeaAction Resourceprivate UserService userService;private static final long serialVersionUID = -32L;private User user;public User getUser() return user;public void setUser(User user) this.user = user;(2) 登录功能界面如图4所示. 图4 登录界面实现功能部分代码如下: public void login()String username = request.getParameter(username);String passwd = request.getParameter(passwd);User tu = new User();tu.setUsername(username);tu.setPasswd(passwd);User u = userService.find(tu);if(u != null)session.put(usertype, u.getRoletype();session.put(username, u.getUsername();render(登录成功,欢迎您!+u.getUsername();elserender(用户名或密码错误!); (3)添加联系人界面如图5所示.图5 添加联系人界面实现功能部分代码如下: public void add()String action = request.getParameter(action);if(obj != null)if(attach != null)String filename = upload();obj.setAttach(filename);obj.setNdate(GetNowTime.getNowTimeEn();if(action.equals(add)objService.updata(id);objService.save(obj);render(操作成功!);else String id = request.getParameter(id);obj.setId(Integer.parseInt(id);objService.update(obj);render(操作成功!); public void addType()String action = request.getParameter(action);if(type != null)if(action.equals(add)typeService.save(type);render(操作成功!);(4)聊天界面如图6所示.图6 聊天界面实现功能部分代码如下:public class ObjAction extends IdeaAction private ObjService objService;private TypeService typeService;private static final long serialVersionUID = -32L;private Obj obj;private Type type;public Type getType()String path=uploadPath+ File.separator+fileName;String type=uploadFileName.substring(uploadFileName.lastIndexOf(.)+1);return type; (5) 发布动态如图7所示. 图7 动态界面实现功能部分代码如下:public void savemessage()String stitle = request.getParameter(stitle);String sbigtypeid = request.getParameter(bigtypeid);String sort = request.getParameter(sort);String order = request.getParameter(order);Page page = new Page();Map paramsMap = new HashMap();paramsMap.put(stitle, stitle);paramsMap.put(sbigtypeid, sbigtypeid);paramsMap.put(sort, order by +sort+ +order);String pageNo = (String) this.request.getParameter(page);if (pageNo = null) page.setPageSize(10);page.setPageNo(1);5系统测试 测试在开发中扮演重要角色,每个软件在开发周期中都要进行测试,这样可以保证软件的质量,让用户放心使用软件.5.1软件测试的重要性 在软件交给用户之前,通常会做很多测试,来确认此软件的是否有问题,它在整个软件的生命周期中是个重要一环.实际上,就软件而言,无论应用什么方法和技术,软件还是会出错.为了减少错误,要一套完整的开发流程,要用到新的开发工具,新的开发语言等.但是这样不会完全解决掉错误,必须要经过测试才会大大减少错误.实际上软件测试会在整个周期中占据三分之一的时间,只有保证了软件的质量,才能让其流入市场,让用户放心使用.如果算开发成本,软件测试要占据整个的五分之二,可见测试有着非常重要的作用.如果没有进过测试的软件流入市场,会出现很多很多的问题,会影响客户的评价和印象.5.2测试环境与测试条件 处理器:Inter(R)Core(TM)2DuoT5750 内存:2GB 硬盘:160G 操作系统:WindowsXP Android 虚拟机版本:2.3 5.3系统运行情况 经过测试系统,发现所有功能已实现,基本要求都能实现,无重大bug,程序流畅运行,没有出现 ANR(ApplicationNotResponding,应用程序无响应),OOM(Out OfMemory,内存溢出)等情况.5.4系统评价 系统评价是指系统在设计正式完成之后,对它进行的综合性、全方位评测,具体如下: (1)系统功能评价依据此程序的预估,在程序编写完经测试,此程序已经可以使用,而且和当初设计思路一样,可以使用. (2) 系统技术评价此程序合理的设计,预期功能已经达到目标,并且运行流畅,有很高的安全性,实用性,方便公司的使用管理. 6总结Android 系

温馨提示

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

评论

0/150

提交评论