基于MUI框架的即时通讯app设计与实现-黄方明_第1页
基于MUI框架的即时通讯app设计与实现-黄方明_第2页
基于MUI框架的即时通讯app设计与实现-黄方明_第3页
基于MUI框架的即时通讯app设计与实现-黄方明_第4页
基于MUI框架的即时通讯app设计与实现-黄方明_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

绪论开发背景英文Internet在中文表达是互联网的意思,他又可以大致了解叫做网络,因特网是根据Internet音译过来的。因特网,是某个网络与多个其他的网络所连串成的一个又庞大有广泛的网络。全部的网络都是以一组相同且通用的协议所相连接,如今的网络全球化的形成就是如此成就的。交换机那绝对是重中之重,在形形色色的网络中还必须得有路由之类经常用且必须的连接网络的设备、在复杂繁多类型的服务器与数之不尽的电脑或者终端设备使得互联网能把信息在短短的一瞬间发送到远在他乡的人手中,它们是信息在社会传递的基石。1969年,因特网在美国降世。初始协定是在美军的ARPA的同意下竣工的,从一开始因特网并不是被很多人使用,因为他的初衷是用来做军事的链接。后来著名的四个美国西部的大学将各自最大最重要的四部计算机连通一起。然后协定由著名的剑桥大学的BBN和MA共同执行。在十九世纪中后期计算机便开始了他们愉快的联机之旅。还有一个重要的推动internet进步的广域网为NSF网。美国之所以成为科技发达之国,很大一部分原因是internet的出现,它最开始时是由著名的美国某基金会资助而建设而成的,为了是链接整个美国的5个超级电脑,成为重要沟通纽带,供美国很多所大学共同享用全部的资料。幸运的是NSF也是使用与internet一样的规则,所以同样能和internet相互链接。不得不说,NSF等网贡献超级的大,NSF和ARPA最开始只是为了科学研究服务的,其目的主要是为了让全世界的用户共同享受大型的主机中的大量珍贵资源。随着时间渐渐过去,接入计算机的数量也呈现指数型疯狂增加,internet被更多的人作为一种通信和沟通的媒介。部分公司还渐渐在internet上开展自己的活动。随着internet演变成商业模式化,使得internet有了本质般飞一般的进步,最终面向全世界。现在是一个互联网的大数据时代,互联网与人们密切相关,有关互联网的应用开发层出不穷。其中,即时通讯的网上聊天软件尤为的重要,并且深受大众的喜好。在以前,人们用飞鸽传书,写信通过送信者的八百里加急送到接受信息的人,不仅耗时而且耗财耗力,如今的互联网发展,通讯软件的出现,在一定程度上打破了人与人之间的空间距离,即便跨越一个太平洋人们也能实现两人快速的聊天。还能与见面不多的朋友保持联系,维持人与人之间的感情,通讯社交现在已经发展得较为成熟,人们的活跃给通讯软件带来了巨大的流量,资本的运作使一个单纯的聊天社交软件充满了广告与引流或者是推广,并且由于网络的相对隐蔽性,导致的大问题是,出现了许许多多的网络骗子,而且由于资金的难追查特性,导致互联网的骗子是越来越发的猖狂,而且以极快的增长速度进行增长,所以安全,好友间的透明才是未来通讯app应该要发展的大方向,如今各式的编程语言在蓬然发展中,Java能走在web应用开发的前三名着实让我钦佩,在如今Java越发的完善中,它的框架越发的多,对web开发越来越简单易懂。1.2开发目的虽然互联网极速发展,各种即时通讯软件眼花缭乱,但是,由于时代的发展,网上都一切以流量为尊,所以便出现了在通讯软件里面加入了各种各样,花里胡哨的推广广告,极大的影响了平常人民对通讯app的使用和体验。这时候开发一款单纯的只为聊天为目的的通讯软件是一件很有必要的事情,由于一个个人开发并不是很简单,所以运用成熟的多种框架,以简单的开发方式进行开发,熟悉通讯app的开发流程以及原理。1.3开发功能实现主要四大功能模块总体分为以下四种:用户登陆/注册搜索添加好友好友聊天个人信息1.4开发内容此次开发是主要为了开发实现即时通讯软件的几个内容,用户登陆功能:当使用者在前端界面上写入用户名和密码时,第一步的步骤是从MySQL的库中搜索与之对应的用户名和密码,然后校验用户名与密码的正确性,校验如果成功,则进入用户界面。开发用户注册功能:当用户输入需要注册的新的用户名和密码的时候,会把用户名与数据库中的用户名数据进行对比,如果没有用户名与之重复,则注册成功。开发用户二维码生成功能:当用户被注册时自动生成一个二维码,上传至FastDFS储存。开发用户头像功能:当新用户注册成功时,会马上智能的生成初始头像,当用户决定更换头像之时,再将新图片上传至FastDFS保存。好友聊天功能:当好友发送消息时,接受好友接到消息,并且可以显示未读消息为红色字体。加好友功能:当用户发送好友请求时,会将需要添加的用户名进行数据库比较,如果存在,则发送请求成功。2开发环境与相关技术2.1开发环境2.1.1EclipseEclipse非常有名气,有着优越的跨平台的开发环境的特性。主体部分都是用Java语言进行开发。他可以看成是一块零碎的拼图,因为他的本质就只是由许许多多的插件组合而成的,里面安装各的种各样的插件成就了Eclipse。Eclipse还能支持很多种其他不同的的编程语言,如C++和Python。Eclipse作为一个可视化的Java语言开发集成环境的一个平台,可以更加清楚的看到自己代码的错误之处,以及它可以提供修改建议。很适合进行java语言的开发、编写代码、查找错、里面内置编译环境、有许多帮助等各个方面,因为有中文版,所以对不擅长英语的新手很友好,上手也比较快,插件更新换代速度快,功能强大,免费开源。2.1.2MySQLMySQL,是目前相对比较热门的关系类型的管理数据库系统的其中一个,它可以把没有相关的数据分开,存在不一样的数据库的表中,当有用到的时候,再从不同表中提出数据。如此这般的数据储存,不仅仅只是加快了运行速度,而且还使之灵活性有效的显著的提升。并且MySQL它的占用内存空间很小、小到宛如没有装上去的感觉,运行之快速、快速的感觉让开发者在开发的时候心情特别舒畅,成本相对之低而且免费。MySQL提供了多种编程语言的语言包,其中就包括Java。不仅如此,他还是多线程的,多线程的这个特性可以让他充分的利用电脑的CPU资源,大大提升了访问数据库的速度。并且虽然他有缺点,但是这不代表它不行,在小的开发项目中,用MySQL绰绰有余。本次还运用到SQLyog,它是一个非常方便而且简约的可视化MySQL的协助应用。他使得你在世界各地都能方便的使用自己的数据库。而且他可以同时运行多个脚本文件,速度非常之快。用它开发也可以更直观的看到数据。2.1.3HBuilderHBuilder用来开发前端页面,非常的快,因为他支持HTML5和mui框架,是一个很强大的前端开发集成环境,它包含的这两个框架自带了大量现成的模块,只需要按照模块模板进行修改,就可以很快的写出好看实用的前端页面,再者他的开发的主体是Java语言,所以本身对eclipse有很强的兼容性,使之发出的Ajax请求能更快的与eclipse后台相对接。HBuilder解析引擎是由HTML、js、css的语法完成的,这使得它认识编写代码的人的代码,由此它懂得该提示什么东西、并知道转到定义去哪里,参与编写的每种变量、每个函数都会进行动态地类型计算和返回相应的值。2.1.4FastDFSFastDFS,一个开放的轻量级别的文件分布式的系统,它可以对文件实施管理,主要的有以下几个部分:第一个是可以储存用户的文件、第二个可使文件实现同步的革新、第三还可以进行本地文件的上传至服务端或者下载文件等。它有效的改善了需要较大的存储空间问题和提高灵活性。FastDFS有两个重要的东西:跟踪器,我个人更喜欢叫它监控器,还有一个存储节点也可以叫storage。监控器非常重要,看名字就知道,它是用来跟踪监控文件的,他也被叫做tracker,它是客户端与服务器沟通的中心,当有客户端口发出请求时,会先去找tracker询问需要去哪个地方访问资源。在此次项目开发中很适合用来储存用户图片。所以,不管是头像或者是二维码都有地可存。监控器的优点是提升上传下载的矫捷度和配合度,当加载文件时使用监控器能使用某些另类途径寻出储存节点并供应文件上传地服务能力。存储节点也可以被叫作储存服务器。存储节点的功能是存储文件,客户端发送的文件最终会被储存在节点服务中。实际上,储存节点根本没有真正属于自己的文件系统,它是使用本身的文件系统来处理事件。此次的FastDFS将系统安装至CentOS中。CentOS,是个Linux的操作系统,公开源代码是他的一大特点,免费也是他的一大优势。2.1.5NginxNginx是拥有高性能的HTTP和逆向代理web服务器,而且它也兼容了多个网络电子传输协议功能。Nginx是被俄罗斯的个人程序员单独写出来的,当初为的是提高某个网站的访问速度而设计的。二十世纪初,首个发布的版本是0.1.0。当Nginx一经首发就受到了大众的欢迎。作者用类似BSD认证版权的标识将源码实行宣告。他受到好评的原因是,它拥有壮健地稳定性、有着足够多的服务模块、他对电脑的损耗很低也是他受欢迎的特点。在首个版本发布了七年左右,第二个nginx版本出来了。第二个版本的内存空间需求更小,并发更强。事实上,在一样类型的网络服务器间nginx具备的并发本事发扬的也算是较好的,使用nginx的网站挺多的,大家平常都能见到的,比如像有:可以让人们在网上为所欲为购物的京东、淘宝等,还有网友们的网上解惑老师百度。Nginx作为一个卓越的工具,它把事件分散开,由几个单元操作对他进行服务。Nginx可以支撑Rails或PHP应用直接通过内部的方式进行对外的服务。不仅仅只是如此,它也可以作为超文本传输协议来支持对外的服务。Nginx的主体语言是C,正因为用如此接近底层语言来写的,所以不当当只是系统损耗较低又或者是充分利用处理器性能的都要比另外一些要好的多。Nginx也是安装十分之简单,文件的配置也简洁好用,运行非常方便迅速,漏洞很少的服务。Nginx它是一个非常轻量级的网络服务器,这一点从他的使用清晰可见。它特别简易上手,当它开始运行之后,它几乎可以做到整天不间断的使用,即便它已经运行几个月不停止服务也不需要重新开始。它还能够在不停止服务的情形下自己更新软件。2.1.6安卓模拟器从名字看就知道安卓模拟器是个模拟安卓系统的软件,他可以在自己的计算机上良好的运行一个安卓系统。而且他能开多几个安卓模拟器在电脑上运行,非常的方便实用。安卓模拟器它使用的是虚拟化软件的技艺,可以使得一台电脑主体创建或启动一个或者多个的虚拟环境。往简单的方面说其实就是通过电脑端的软件模拟androidapp运行时必要的环境配置。在本次设计中因为需要多个手机进行测试和运行,所以此次使用的叫夜神版本的模拟器,对于夜神这个模拟器我还是比较了解的,可以模拟多种不同型号的手机。2.2相关的技术2.2.1JavaJava语言是一种相对容易学、强大的、比较成熟的、分布式的一门面向对象的语言、它也是一门支持多线程的编程语言。因为Java语言是面向对象的语言,所以他比较容易形成分模块进行开发的思想,也便更容易的学习并且理解了,和其他大多数编程语言对比,Java在web应用开发运行得特别广泛,Java有大量的类需要从互联网上下载载入,虽然下载消耗时间,但也提供了大量的api可以使用,大大缩短写代码的时间。2.2.2AjaxAjax是一项较为新的技术,大多数运用于网页的开发,它不是一种新另外的编程语言,他能截到在被隔离开的实际的页面的服务端中的数据,而且能颠覆传统的静态写入,以动态的形式写进网页当中。那感觉非常的让人舒服,就像平常在使用桌面应用一模一样。JavaScript对象和XML是Ajax的核心组成部分。Ajax对什么样的服务器基本没啥大的要求,它能是JavaEE应用程序,或者是.NET程序应用又或者是别的类型的应用服务程序,他能够在不重复加载全部的页界面的特殊情况之下,与服务端交接数据,并刷新部分的网页的技术。2.2.3SpringbootSpringBoot是一个全新好用的框架被Pivotal组织开发出来并广泛的得到了应用,他是以优化Spring应用使用前的最初配置环境以及简化开发中一些重复的步骤所产生的过程和一些不必要每次都要自己设置的变量为目的而产生的。此框架运用某种特殊的方法来进行配置,从此使用它,开发人员进行开发时候就不再每次自己定义需要的样板式的配置了。2.2.4MUI官网给他的定义是,最像原生APP体验的较为高性能的框架,用以前端的界面开发。轻量是他的一大优点,而且为了追求性能体验,必须要有轻量化的基本特性。这个框架并不依靠于非官方供给的JS库,并且官方的JS和CSS资源压缩过后合计大小只有不到200k。它提供了大量的api并且非常适合进行webapp应用开发。2.2.5NettyNetty是出自于某个应用服务器的一种java框架。它是开源的,是异步的,并且实现目标行为的Internet应用程序的框架。使用它可以高效地开发功能高、稳当的web服务器或客户端程序。从另一方面看,Netty是在同步非阻塞的客户和服务器端上编程运行的。有了Netty,相当于简化和提升开发速度的互联网应用的开发编程过程。虽然这个框架快速,但是不会出现需要经常检查或发生性能上的难题。比如实现了某一种特定协议的客户端、服务端的应用。Netty收录了较多协议类型,所以他算是经验丰富。从各个方面看,他也算是个很巧妙的项目。用这个框架对人快而简的设计出网络应用提供保障。Netty在开发网络应用可以说是成功的,用它设计出来的应用十分稳定,还有很强的伸缩特点。3系统总体设计3.1系统设计3.1.1前端系统设计通讯软件的前端页面分为十三个页面,分别是登陆界面输入用户名和密码进行登陆。注册界面使用新的账号进行注册的界面。主界面登陆成功后进去的一开始的初界面。好友聊天页面显示已经聊过天的好友的界面,有着好友头像信息与最新聊天记录展示。好友正在聊天界面显示好友的互相聊天的界面。通讯录页面显示所有好友的界面,用于展示好友,就是个好友的列表。发现页面显示添加好友选项的界面。搜索添加好友界面进行搜索添加好友的界面。成功发出好友请求对面显示有拒接与接受的选项的界面。我的信息个人界面显示我的账户名、昵称、二维码和我的头像的界面,修改昵称界面,修改头像界面,展示二维码的界面。前台系统流程如图3.1。图3.1前端系统整体流程图3.1.2后台系统流程1、用户登陆输入已经注册好的用户名与密码在服务器后台进行校验登陆。2、用户注册输入目前未被注册的用户名进行注册并且保存至数据库的中。3、搜索好友对输入好友的用户名从数据库当中进行检索,寻找出此用户。4、添加好友发送添加好友消息到被添加的用户,如同意,则关联两人id两人要进行互相添加好友。5、好友聊天发送文字聊天消息至双方的聊天界面,进行刷新。6、上传更新头像上传本地图片至FastDFS系统中,再返回更新数据库的头像信息。7、二维码生成当用户注册成功时就自动生成二维码,保存在FastDFS中。8、修改昵称修改昵称时,更新自己的昵称保存至数据库中,重新加载我的信息的页面信息。9、主要的后台功能流程图如下图3.2后台登陆注册流程图图3.3后台添加好友流程图图3.4后台聊天消息流程图3.1.3系统分析调查市场需求是开发即时通讯app首要重要步骤。分析人们的需求包含对需求的获得、对需求的解析。分析即时通讯软件的规格以及规则、变换、验证需求等一些重要的工程需求。总结成一段话就是,此次分析需求就是想要开发即时通讯app,首先第一步最重要的就是要明确该通讯软件设计需要哪部分相应的人群使用,用来确定软件的排布面版和界面特点;第二,在这次设计者还需要明白通讯软件的设计方向及和通讯软件的未来的发展和未来的需求变换,为之后设计某种功能和准备建立数据库前打下牢固的基础;最后一步,也是较为重要的一步,必须搞清楚此次即时通讯app的功能需求。所以,为什么进行需求分析?就是解决需要设计即时通讯软件怎样的功能这个难题。还更有重要的一步骤,分析需求就是避免浪费,造成浪费资源,如果从一开始设计开发即时通讯软件前反而没有准备好需求分析,那导致的结果很糟糕,会造成不必要的人力或物力得消耗。最终结果有超级大得可能没有得到使用通讯软件的用户顺心的反馈,这将可能让整个设计有着极大概率面对重新设计过程的一大灾难,会极大浪费自己的时间以及精力。从这可以了解并见到,分析需求有着决策性、掌握方向性、策略性的特点及巨大作用,这让它在设计即时通讯app时具有不可忽视的一个步骤。并且在随处可看的某些较为出名的功能系统进行开发时,真正明白客户的需求,需要设计出如何的功能超级之重要,固从市场的推广来见,分析需求的地位要重要于设计的程序。从当前人民对即时通讯软件的需求来看,人们对这方面的需要很大。即时通讯软件处处融入人们的社交生活中,不论是办公,闲聊,还是分享都需要用的即时通讯app。因为如此,所以,他的需求是大的不可估量的。不可逃避否认的是,目前主流的即时通讯app已经相对固定,人们对常用的即时通讯软件依赖性还是相对较高,想要打开市场,让人们对我这款设计的即时通讯软件感到兴趣并且接受使用,是一巨大难题。但是,我相信以后对本次即时通讯app的设计的沉淀以及完善,总能有时机能让我看到发现目前主流的即时通讯软件所欠缺的功能所在。我也发现,目前相对主流的即时聊天沟通软件的一大致命伤,就是为了盈利而在软件中直入太多的广告,这无疑影响了人们和即时app的交互和体验感,此次设计不仅要界面清洁,而且不能加入任何引流的广告,这也是为了应合大多数用户的感受与营造一种聊天氛围的干净感受。3.2功能模块1、当有新用户注册时,前端输入的用户名会跟数据库用户表的所有用户名进行检索对比,如果用户名已存在,则显示用户已存在并且不跳转页面,继续保持在注册界面,如果用户不存在,则显示注册成功并保存用户名跟密码至数据库并自动生成唯一的二维码保存至FastDFS中,自动跳转至登陆界面。2、用户登陆,把用户名和密码与数据库中的用户表进行检索对比校验,如果用户名或者密码错误时,又或者用户名不存在时,界面打印出登录失败,请检查用户名或者密码是否正确。如果用户名跟密码都正确,弹出登陆成功,并调转至用户的页面。3、搜索好友,将搜索框输入的用户名进入后台与数据库查询对比,如果用户存在则显示搜索成功。点击添加则显示已申请并自动退出搜索页面,如果请求消息还没被对方相应,又重新请求好友,则显示已经申请过了。如果用户不存在,则显示没有找到该用户。4、添加好友如果用户同意好友的添加请求,则显示添加好友成功,如果选择忽略,则显示忽略好友请求成功,如果重复发起添加已是好友的请求,则显示添加用户已是你的好友,如果添加自己为好友则显示不能添加自己为好友。5、好友聊天发送文字聊天消息给对方,如果对方没有阅读则显示红色字体的消息,如果阅读过则显示正常字体。6、上传更新头像如果上传成功则更新头像,显示更新成功。7、二维码生成生成的一串唯一字符串,保存在二维码图片当中。8、修改昵称修改昵称成功时,显示更新成功,如果保存空昵称时则显示昵称不能为空。9、通讯录页面从数据库中加载所有我的好友的信息,展示在列表中。4数据库的实现与FastDFS环境配置4.1数据库的实现1、本次采用的数据库是MySQL数据库总共创建四个表格数据。分别是tb_user(用户表)、tb_friend(朋友表)、tb_friend_req(申请好友表)、tb_chat_record(聊天记录表)。tb_user(用户表):当使用注册用户功能时,就会往tb_user表中写入一些必要的数据。如4-1表中可以清楚的看到tb_user(用户表)中对应的数据类型:表4-1用户表FiledTypeCommentidvarchar(255)/usernamevarchar(255)用户名passwordvarchar(255)密码pic_smallvarchar(255)头像(小)pic_normalvarchar(255)头像(大)nicknamevarchar(255)用户昵称qrcodevarchar(255)二维码client_idvarchar(255)手机端唯一idsignvarchar(1024)签名createtimedate注册日期phonevarchar(1024)手机号码2、tb_friend(朋友表):他会绑定用户的id,并且绑定这个id的用户的好友的id。如4-2表中可以清晰的看见tb_friend(朋友表)中相关的数据与类型:表4-2朋友表FiledTypeCommentidvarchar(255)/useridvarchar(255)用户idfriends_idvarchar(255)好友id3、tb_friend_req(申请好友表):当好友请求时先将请求好友的id储存至此表。如4-3表中能直观的瞧见tb_friend_req(申请好友表)中的数据:表4-3申请好友表FiledTypeCommentidvarchar(255)/from_useridvarchar(255)请求好友用户idto_useridvarchar(255)被请求好友用户idcreatetimedate请求时间messagevarchar(255)发送的消息statusint(1)标志是否已处理4、tb_chat_record(聊天记录表):里面包含用户id,聊天好友id,是否已读,聊天信息记录。如4-4表中可以明白的看到tb_chat_record(聊天记录表)里的数据:表4-4聊天记录表FiledTypeCommentidvarchar(255)/useridvarchar(255)用户idfriendidvarchar(255)好友idhas_readint(1)标志是否已读createtimedate聊天时间has_deleteint(1)标志是否删除messagevarchar(1024)聊天消息4.2FastDFS环境配置配置tracker进入/etc/fdfs文件夹,执行命令vimtracker.conf,设置tracker的端口号,此次设置采取22122这个默认端口就行了。设置tracker的数据文件和日志目录(相应目录已提前创建)如下图图4.5配置tracker数据目录图启动tracker,执行如下命令:/usr/local/bin/fdfs_trackerd/etc/fdfs/tracker.confrestart启动成功后,可以通过监听22122端口的情况检查tracker是否启动成功,如果启动没有问题,可以将tracker的启动通过下面操作步骤,使tracker服务,开机时就自启:

输入命令vim/etc/rc.d/rc.local,将图中命令添加到该文件,如图4.6所示图4.6配置tracker开机自启图配置storage进入/etc/fdfs文件夹,执行命令vimstorage.conf,编辑下面选项,设置storage的端口号,此次设置取23000的默认值。设置storage的输出日志目录跟tracker的数据文件和日志目录一样,设置存储路径如图4.7图4.7配置storage存储路径图查询服务器IP地址为33,设置tracker服务器的IP地址为此IP和默认端口号22122,启动tracker,输入命令/usr/local/bin/fdfs_storage/etc/fdfs/storage.confrestart,启动成功后,能通过监听23000端口的情况,检查storage是否启动成功,如图4.8,可以看到22122和23000端口都开放了图4.8检测storage和tracker是否成功启动图5功能实现展示5.1登陆功能当user登陆时,前端会把输入用户名与密码在服务器后台进行校验登陆。如果校验成功,确实数据库中有此用户,并且密码也是无误的,打印弹出登陆成功的提示。如图5.1:图5.1登陆成功图假设输入错误的用户名或密码,则弹出提示检查用户名和密码的提示。如图5.2:图5.2登陆失败图5.2注册功能展示从注册界面发送输入的需要注册的用户名与密码至后台,将与数据库中的用户名对比,如果用户名已存在,则显示用户已存在并且不跳转页面保持在注册界面如图5.3,如果用户不存在,则显示注册成功并保存数据至数据库,自动跳转至登陆界面,如图5.4:图5.3注册失败图图5.4注册成功图5.3添加用户好友功能展示从搜索好友界面输入的需要添加的用户名,后台服务器将与数据库中的用户名对比搜索,如果存在用户名,则显示出用户如图5.5,如果按添加按钮,则弹出已申请并退出好友搜索的界面,如果搜索的用户没存在,则显示搜索失败,如图5.6:图5.5搜索成功图图5.6搜索失败图当用户好友申请发成功出去时,被申请好友会在与好友正在聊天的界面跳转刷新出请求,当用户按下通过按钮时,双方互相加做为好友,并且在数据库的朋友表中关联id,如图5.7:图5.7请求好友页面图5.4二维码的生成和头像上传下载功能1、二维码的生成:从用户成功注册之时,后台就已经用二维码生成工具类生成了属于自己独一无二的二维码图片,其本质内容是一大串字符串,然后将二维码地址储存在数据库中,后台还会将生成二维码图片保存在临时文件目录里,然后将临时储存的二维码上传至FastDFS中,如图5.8:图5.8二维码图2、头像上传下载功能:当用户上传本地图片做头像时,后台保存头像上传至FastDFS并返回带头像完整的地址的用户信息给前端,显示更新成功如图5.9,当用户下载图片时,会从FastDFS提取找出相应地址的头像图片,显示如图5.10图5.9更新头像成功图5.10保存头像成功5.5好友互相聊天功能当用户在前端界面发出消息时,前端会带着想要发出的消息与发出消息的用户id与接受消息用户的id前往后台寻找数据库中的二者,并将消息发送给接收者,当接收者未点开过消息时,显示红色字体如图5.11,如果已经浏览阅读过消息则取消显示红色字体颜色,如图5.12:图5.11消息未读图图5.12好友聊天图6总结这一次通过对通讯app的设计与实现,基本实现了通讯聊天软件的功能,并且运用了较成熟的框架与其他较为新的技术。让我对聊天业务的后台与前端的实现有了深刻意义,总体来说,收益颇多。这个设计从决定开始做起的那天,到设计开发,最后再到项目的相对完善的完成,最终完成论文的初稿,对论文的定稿,虽然花了许许多多的光阴在其中里面,但我最后却也收到了更多的回报,我收获了喜悦,收获了新的知识,对通讯原理更加的熟悉。过程中也有遇到种种的不大不小的困难与问题,但是现在互联网的发达也是利于学习的。遇到难住自己的问题,我会可以先进行互联网上进行搜索资料,查相关问题得解决法子。如果实在是解决不了的问题,再问指导老师,或者再问问同学。同时,在这次项目中,我发现我也对Java的学习有所强化提升。虽然还有待提高技术,但是对比以前,那可能好得太多了,至少在这次当中,我学习了很多新的框架,同时回顾了有关Linux的知识,学习了新的FastDFS系统。同时,我也从这次的实践中发现了自己有着很大很大的缺点,对于有些东西会太执着于想清楚为啥,因为是个转牛角尖的人,可能有些东西目前理解不了,但是,确实硬着头皮想把它搞明白,因为这个致命问题导致的问题是拖延此次项目设计的完成,可能使着我的毕业设计在规定时间内可能完成不了,最终,在苦恼了几天后,当我快要崩溃之时,朋友向我传递了力量,说有些东西想不通可以先放着,先根据别人的经验模仿,以后慢慢的也许就能理解了。朋友的话让我清楚的感觉,我的错误方法以及错误的思想。刚好此次特殊时期,全国乃至全世界都在为了新冠状病毒而烦恼,这次的新冠状病毒也稍微造成了此次设计的阻碍。不能在学校里面完成毕设还是有点遗憾的,所幸中国的病毒已经在国家强有力的带领和万万国人的帮助下,病毒已经得到了很有效的控制。希望世界的病毒能够早日结束,我也能早日回到学校,毕竟能在学校的日子应该不多。在此次的设计中,设计的应用也有许多不足之地,功能也并不是很完善。希望自己以后能更进一步加强对Java得认知与加强对更多的代码的理解。参考文献[1]杨谊、喻德旷.JSP网络程序设计与案例开发教程[M],人民邮电出版社,2015.[2]陈雄华.Spring企业级应用开发详解[M].北京:电子工业出版社,2009.[3]霍斯特曼科内尔.Java核心技术[M].北京:机械工业出版社,2014.[4]李国娟.基于JavaEE架构的网上购物系统的设计与实现[D].河北:河北工业大学,2011.[5]林寒超.Hibernate技术的研究[J].计算机技术与发展,2006,16(11):112-11大学,2009.[6]张琳娜.Java多态性机制应用研究[J].攀枝花学院学报,2016,14(02):25-28.[7]阎新芳.Java设计模式在数据库编程中的应用研究[J].信息通信,2014,4(11):120-12[8]贺松平.基于MVC模式的B/S架构的研究与应用[D].武汉:华中科技大学,2009.[9]王兆明.信息技术导论[M],高等教育出版社,2007;[10]孙明磊.WEB数据基于JSP技术实现电子商务网站的设计[D],吉林大学,2009.致谢时光就是如此之快,时间他在我不经意的过程中从我手中夺走了正正四年时光,四年的大学生活真的彷佛就在眼前。美好的大学的生活如此多娇,在学校里有很多的欢声,在学校里也有发生过后悔的事情,在学校里同样也有让人哭并且伤心痛苦的事情发生。但是,这就是属于我的生活,这就是属于大我的学。我隆重的向我全部大学老师表达敬意,您们在大学期间对我的淳淳教诲与乐于帮助。在大学里,我不仅学到的是知识,同时也有做人做事的原则与风格。而且我还要谢谢同学们在大学的日子里对我的包容与帮助。也许后面很少会有再聚的机会,也许出来社会,大家都变得成熟了,但是我希望以后能有机会可以相聚一下。都说上课的时候想着下课,下课的时候想着放假,但真到了没有课上时,真到自己即将要离开学校之际时,才懂得了上课的宝贵时光。才能有感而发的感叹大学生活真好,就是过得太快了。感谢老师,感谢我的大学校友,还有感恩我的父母。母校让我得到知识与教育,望大学校友与我一起度过大学生活,父母提供我上大学的费用给了我上大学的机会,希望我能不忘初心地走出校园,走向社会。

HYPERLINK电脑文件整理懒招从来都是不会经常整理文件的,不过时间一长,众多的文档分布在硬盘的各个角落,用目录进行整理保存,工作量大、查看起来也不方便且还会浪费不少的磁盘空闻;用压缩工具打包,尽管可以节约空间但是却无法直接编辑修改或查看压缩包中的文件。这些招,懒人怎么会用,他们自有妙招!再多再乱的文件也能整理得井井有条,关键是不费力哦!

懒招1,自动提取乱中取胜

小张起初将照片、Office文档、电影、音乐等文件一股脑地存放在某一个磁盘分区,刚开始文件少使用起来倒也方便,但随着时间的推移,文件数量剧增,每次找所需的文件都要瞪大眼睛,不过有了MY文档管理器(下载地址:)就不用担心了。

第一步,下载MY文档管理器,解压到任意目录,直接双击其中的可执行性文件即可使用。依次单击“节点操作→添加节点”,分别添加多个节点,如“办公文档”、“电影”等分类,这样做的目的是方便归类。

第二步,在小张的F盘中的TEST目录下有众多的RM、MP3、JPG、DOC、TXT格式的文件,现在他要把JPG格式的文件提取到“照片”类别中。依次单击“系统配置→文件过滤”选项,打开Dialog对话框,输入“*.doc”,单击“添加”按钮,意思是过滤掉所有类型为“.DOC”的文件。然后按照同样的方法,将“*.txt”、“*.rm”、“*.MP3”一一添加进来。

第三步,双击左侧窗格中的“照片”节点,然后依次单击“记录操作→导入记录树”命令,在打开的对话框中单击浏览按钮,打开“F:\test”目录,单击“确定”按钮之后就可以将格式为JPG的文件提取出来并添加到“照片”节点中了。

懒招2,不同的电脑统一的管理

小张是电爱的Fans,工作之余常常为杂志写稿,他写完的和正在处理的稿件一般都存在一个稿件文件夹里。不过时间一长,家里的电脑(PC1)和单位的电脑(PC2)上都有这个文件夹。时常需要通过移动硬盘(U盘)在两台电脑之间传递,使用和管理都很不方便。不过他现在用优盘就可以统一管理了。

第一步,将上文提到的那个MY文档管理器解压后直接拷贝到优盘上。把优盘插到PC1上,并运行软件,依次单击“记录操作→导入记录树”命令,在随后弹出的对话框中设置好“稿件”文件夹的根目录,将“导入深度”设置为“5”,单击“确定”后,稍等片刻,软件就把PC1上的“稿件”导入到MY文档管理器中。

小提示:通过这种方式导入到程序中的仅仅是文件的路径、文件名等属性信息,并不是文件本身。

第二步,把优盘插到PC2上,按照同样的方法导入PC2上的“稿件”文件。以后要编辑“稿件”里的文件,你自己根本不用记住哪台电脑的哪个路径,只要把优盘插入到电脑,运行MY文档管理器,就可以直接编辑了。

第三步,为方便在异地使用,小张决定为当前正在处理的稿件增加一个副本。在需要异地处理的稿件上右键单击,选择“复制文件到(自动添加副本)”命令,在弹出的对话框中将保存目录设置为优盘上的某个目录即可。这样,就可以在优盘上编辑PC1或PC2的稿件了。

小提示:对于PC1、PC2上的同名文件,MY文档管理器以不同的磁盘号+文件路径来标识文件记录,因此,对于不同电脑上的同名文件,甚至是路径和文件名完全相同的文件,程序也可以准确识别哪个是哪个。

懒招3多种文件批量移动

要将文件管理得井然有序,就免不了要进行复制、删除、移动等等操作,如果一个个进行操作,工作量是非常巨大的。这时我们就需要借助于BelvedereAutomated(下载地址:.com/assets/resources/2008/03/Belvedere%200.3.exe)进行批量操作了。例如我们想把“F:\test”目录中的所有照片移动到F盘中的“北京游照片”目录中,可以按以下方法进行。

第一步,建立“F:\test”目录后在“rule”一栏中,单击“+”按钮,建立一个规则。在“Descriptior”文本框中为当前规则起一个名字如“批量整理移动”。单击第一个下拉列表,在这里可以选择Name(文件名)、Extension(扩展名)、Size(大小)等进行操作,这里选择扩展名“Extension”。单击第二个下拉列表,在这里设置的是操作条件,有is(是)、isnot(不是)、contains(包含)等操作可供选择,这里选择的是“is”。接下来,在最后的文本框中输入图片文件的扩展名,示例中是“JPG”。定义的规则合起来的意思就是“扩展名是JPG”。

第二步,在“Dothefollowing”区域设置操作动作,单击第一个下拉列表进行操作动作的选择,有“Movefile(移动)、Renamefile(重命名)、Deletefile(删除)”等动作可供选择,我们要批量移动,那就选择重命名“Movefile(移动文件)”。接下来,单击后面的按钮选择“F:\北京游照片”目录。

第三步,规则设置完毕,单击“Test”按钮应用规则,程序即可一次性地将所有扩展名为“JPG”的图片文件移动到“F:\北京游照片”目录中了。

懒招4提纲挈领一点即得

在前面几大懒招的帮助下,你电脑里的文件应该已经有点类别了吧。如果从此想告别懒人的生活,那就要养成管理文件的好习惯了。

第一步,在你保存资料的电脑分区中,要接类别建立多个文件夹,可以按用途分为:学习、娱乐、暂存、工作、下载,在娱乐下又可以建立二级目录:电影、歌曲、动画等。也可以按照常见的文件性质进行分类,例如分为:图片、电影、电子书、安装文件等,当然也可以按照你的需要再建立二级目录,以后每有文件需要保存就按这个类别保存到相应的目录。

第二步,虽然现在已经把文件分门别类存放了,但时间长了,目录太深,一层一层查找也很麻烦的,在EXCEL里建一个目录就可以统一管理了。运行EXCEL后,新建一个表格,然后按照我们的分类方式隔行输入:图片、电影、电子书,在图片分类下再建立二级目录名,例如明星、汽车、壁纸等。

第三步,右键单击“图片文字”,选择“超链接”,在弹出的对话框中选择电脑里图片目录文件夹,单击“确定”后EXCEL里的“图片”文字就变成彩色。用同样的方法为一级目录的“电影、电子书”和二级目录的“明星、汽车、壁纸”等添加超链接。然后将这个EXCEL文件命名为文件目录,保存到桌面上,以后打开这个文档,直接单击相应的文字,比如单击“壁纸”,就可以切换到壁纸文件夹了。

小提示:如果要更改某个超链接,直接右键单击该文字,选择“编辑超链接”就可以了。本人的电脑分类原则简述如下。

硬盘的第一层(请在自己的件夹中右键“按组排列”查看)

第一位字母表示A生活娱乐B教学C工作D安装程序

第二位字母表示只是流水号

AA影视

AB音乐

AC阅读

AD图片

AE相册

生活娱乐

BA计算机

BB英语

BC运动

BD游戏攻略

BE衣食住行

BF文艺

教学

CA管理制度

CB流程图

CC程序文件

工作

DA娱乐

DB其它

安装程序

硬盘的第二层(进入“AA影视”的文件夹举例)

第一位字母表示只是流水号

第二位字母表示只是流水号

AA电影

BA电视剧

CAMTV

硬盘的第三级(进入“AA电影”的文件夹举例)

第一位字母表示A动作片B剧情片C动画片

第二位字母表示A未看过B已看过

AA导火线

AB尖峰时刻

动作片

BA独自等待

剧情片

CB机器猫

CB狮子王

动画片

利用“字母排序”和“按组排列查看”可以使文件查看和存放简洁明了,结合自己资料的特点和实际需求,给自己定一个分类原则并严格执行。个人电脑资料的资源会得到高效而充分的利用。电脑文件管理八条小技巧

在电脑的内部,在电脑的桌面上,在“资源管理器”中,充斥着无序与混乱,这种虚拟的混乱极大地影响了电脑的性能和我们办公的效率,当大家面临这个问题时,通常认为硬盘空间又不够了,电脑性能又不跟不上了,需要再换一台新的电脑了。事实上,我们真正需要的是坐下来,好好花时间将电脑里的文件真正管理起来,会为自己日后省下更多的时间。

文件管理的真谛在于方便保存和迅速提取,所有的文件将通过文件夹分类被很好地组织起来,放在你最能方便找到的地方。解决这个问题目前最理想的方法就是分类管理,从硬盘分区开始到每一个文件夹的建立,我们都要按照自己的工作和生活需要,分为大大小小、多个层级的文件夹,建立合理的文件保存架构。此外所有的文件、文件夹,都要规范化地命名,并放入最合适的文件夹中。这样,当我们需要什么文件时,就知道到哪里去寻找。

这种方法,对于相当数量的人来说,并不是一件轻松的事,因为他们习惯了随手存放文件和辛苦、茫无头绪地查找文件。

下面,我们将帮你制订一套分类管理的原则,并敦促您养成好的文件管理习惯。以下是我们总结出的一些基本技巧,这些技巧并不是教条,可能并不适合你,但无论如何你必须要有自己的规则,并坚持下来,形成习惯。

一、发挥我的文档的作用

有很多理由让我们好好地利用“我的文档”,它能方便地在桌面上、开始菜单、资源管理器、保存/打开窗口中找到,有利于我们方便而快捷地打开、保存文件。我们可以利用“我的文档”中已有的目录,也可以创建自己的目录,将经常需要访问的文件存储在这里。至于“我的文档”存储在C盘,在重装系统时可能会误删除的问题,可以在非系统盘建立一个目录,然后右击桌面上的“我的文档”,选择“属性”。在弹出的“我的文档属性”窗口中,单击目标文件夹下的“移动”按钮,然后在新的窗口中指定我们刚创建的文件夹。重装系统后再次执行以上操作,再重新指向此文件夹即可,即安全又便捷。

小提示:如果你使用Windows2000/XP,则移动“我的文档”文件夹时,其下的所有文件会自动移过去,但如果你使用Windows9x,则需要手工将C:MyDocuments下的所有文件手工移到新指定的文件夹中,否则可能会丢失数据。

二、建立最适合自己的文件夹结构

文件夹是文件管理系统的骨架,对文件管理来说至关重要。建立适合自己的文件夹结构,需要首先对自己接

温馨提示

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

评论

0/150

提交评论