基于Android 的社交App 的设计与实现_第1页
基于Android 的社交App 的设计与实现_第2页
基于Android 的社交App 的设计与实现_第3页
基于Android 的社交App 的设计与实现_第4页
基于Android 的社交App 的设计与实现_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

页1摘要随着网络时代的不断发展,人与人之间的交流方式开始朝着多元化的方向发展,像现在大多数人通常使用的QQ,微信等的社交类app进行远距离聊天对话的方式已经渐渐开始替代电话进行通话的方式了,相比于电话,QQ,微信等突出了聊天方式多种多样,流量的消费远比话费的消费便宜,时间控制上的便利等的多种优点。在本次设计中将开发实现一款以聊天功能为主要功能的社交型App。本app可以通过手机上的App在网络流畅的情况下随时随地进行实时聊天,在设置界面中,你可以修改自己的个人昵称,聊天头像,个人性别,声音提醒,头像显示,而在聊天界面中,你可以发送自己的表情,也可以输入文字,同时发送或者接收信息的时候都会有时间显示。本社交App开发所涉及的工具有:AndroidStudio,百度云推送,雷电模拟器关键词:社交App百度云推送

AbstractWiththecontinuousdevelopmentoftheInternetera,peopletopeoplecommunicationbegantodevelopinadiversifieddirection.SocialappssuchasQQandwechat,whicharecommonlyusedbymostpeoplenow,havegraduallyreplacedthetelephoneforlong-distancechatanddialogue.Comparedwiththetelephone,QQandwechat,thechatmodeisdiversifiedandthetrafficconsumptionisfarawayItischeaperthanthecostofthephone,andconvenientintimecontrol.Inthisdesign,wewilldevelopandimplementasocialappwithchatfunctionasthemainfunction.Thisappcanchatinrealtimeanytimeandanywhereunderthesmoothconditionofthenetworkthroughtheapponthemobilephone.Inthesettinginterface,youcanmodifyyourpersonalnickname,chatavatar,personalgender,voicereminder,andavatardisplay.Inthechatinterface,youcansendyourownexpression,orentertext.Atthesametime,youhavetimetosendorreceiveinformationShow.Thetoolsinvolvedinthedevelopmentofthissocialappinclude:Androidstudio,baiducloudpush,lightningsimulatorKeywords:socialapp,Baiducloudpush

目录1绪论1.1研究背景1.2选题的意义1.3研究现状1.4研究内容1.5开发目标1.6总体设计思想2系统开发环境和相关技术2.1系统开发环境2.1.12.1.22.1.22.2系统开发相关技术2.2.1Java语言简介2.2.2百度云推送功能简介2.2.3MySQL功能简介3系统分析3.1系统可行性分析3.2系统功能需求分析3.3系统性能需求分析4系统设计4.1系统总体设计4.2系统功能模块设计4.2.1聊天界面4.2.2属性修改界面4.2.3在线人数界面4.2.4好友列表界面4.2.5退出界面4.2.6设置界面4.3数据库设计4.3.1数据库概念结构设计4.3.25系统实现5.1聊天功能5.2聊天添加表情5.3个人设置6系统测试6.1测试过程6.2测试环境描述6.3测试用例执行情况6.4测试设计评估及改进7总结参考文献致谢绪论1.1研究背景在21世纪的今天,各种不同的新科技改变着现在生活,尤其是随着或联网兴起的信息时代的发展,互联网的兴起带动着全世界的发展,使得各种各样的行业与生活方式都往互联网的方向靠拢,同时互联网的兴起也使得网络社交更加的多样化,而其中移动平台上的社交App又颇受人们的欢迎,相比于电话通信,社交App上进行交流可谓方便许多,首先不同于电话通信,社交App使用的是网络流量进行通信聊天,而网络流量的费用比起电话通信要便宜的多,其次在通信的过程中可以通过添加各种表情包来丰富自己的对话内容,不像电话通信那样只能单一的使用声音和情绪波动来表达自己,然后在社交App上聊天可以是间断的进行,但是在电话中,这种间断聊天时不行的,多人聊天时,在app上可以切换不同的聊天界面进行一对多的聊天,而电话只能做到的是一对一通信,而如果中间挂了电话就需要重新拨号,在一定程度上也造成了一定的不方便。1.2选题的意义在当今手机和网络技术飞快发展的时代中,各种各样的手机App也是花样百变,越来越受人们的关注和使用,更多的时候人们通常会被app的UI界面所吸引,而智能手机App界面上的UI设计的目的是为了让人与手机的操作更加的方便和人性化,同时也保障了人与人使用手机之间进行信息的传递交互时更加的便捷和准确。在当今社会中社交App成为人们不可或缺的一部分时,社交App却朝着多样化的方向发展,各大多数的商家都开始朝着不同的方向去寻找着适合自己定位的发展方向,同时根据自己所选的方向去设计自己的App功能,而其中优秀的颇有代表性的例子不为少数,例如,虎牙,斗鱼等的主播方式,唱吧的拼歌方式,yy语音的多对多在线聊天方式。由此可知不同的主推方式可以决定一款社交App不同的成长方式和发展趋向,从而衍生出多种多样的社交型App。由此可见社交类App的发展前景是非常的巨大的。1.3研究现状根据2019年有关的App报告中可知,在App的使用上,最高的使用时间已超过了4.9亿小时,而相比在同年的2019年1月的使用时长上,增长了3倍有多,在2019年1月的使用时长上只有1.2亿小时。在2019年中的各种网络使用中,在6月份,社交使用人均人数已经远远的超过了社区服务使用的人群,而网友们在2019年中在社交网站的到达率也从同年的23.9%攀升至如今的26.8%,使用时间也从2019年的一月份的1.2亿小时增加到2019年六月份的4.9亿小时而在目前最受欢迎的移动app调查当中,而目前最受手机用户欢迎的手机移动App软件的应用服务前三分别为游戏类的手机软件,生活服务类的手机软件以及社交类的手机软件,从大量的数据说明中不难发现,社交类App的开发市场是非常的庞大的,尤其像微信,QQ那样的社交App已经深入到人们的生活,成为不可或缺的一部分。从国外的App发展上来看,根据2020年国外发布的《2020年移动市场报告来看》,在2019中大部分的手机移动用户中绝大部分的用户都会在使用手机的时间上,有一半以上都是使用在社交媒体上,由于智能手机的普及以及网络流量的大众化下全球手机使用用户在使用手机在移动和社交的下载量上已经达到了95亿次,相比较与往年的数据已经是大大的提升,而在手机领域的使用时长上相比,2019年的使用时长达到了9000亿小时,相对于2017年使用时长上的6750亿的时长上增加了25%,而在手机使用的领域上,移动,社交和内容营销是全球的三大趋势,由此可见,即使在全球范围内,社交App的使用趋势也是很大的。1.4研究内容本App为基础社交类手机软件,用户可以利用该App在互联网网络流畅的情况下进行远地聊天,通过选中聊天的对象,在聊天界面中通过输入聊天内容可以进行聊天,而且在聊天过程中也可以通过添加聊天表情来丰富自己的聊天内容,而且在个人设置界面中可以修改自己聊天时的人物头像,人物昵称,人物性别,同时也可以选择屏蔽自己聊天时的人物头像,同时可以查看好友界面,在好友界面中可以删除好友,并且在好友界面中可以删除好友。1.5开发目标开发目标有以下几点能查看使用软件在线人数,并且能点击在线用户的头像进行聊天能进行实时聊天,并且可以发送表情,在页面上可看到发送信息的时间能修改人物相关属性,相关属性包括昵称,头像,性别。App能在各种真机上稳定运行能够查看好友界面,并且能够删除好友App可以在后台运行并且在后台运行的时候能够有信息提醒1.6总体设计思想(1)界面整洁,给人一种开阔感(2)通过把给每个图片设置一个xml文件,使得在图片总多的条件下更换图片出现差错的概率下降(3)使用Androidstudio开发,相比于别的开发工具,更加的适合安卓App的开发,在使用上也比较稳定(4)软件app出现错误后可以提交错误报告,方便维护(5)按钮选择上采用简单易懂的按钮,即使没有中文提示,也能看懂按钮意思(6)使用开源的SDK以及连接服务器,使App在连接的时候更加的稳定

2系统开发环境和相关技术2.1系统开发环境2.1.1AndroidStudio不同于eclipse,AndroidStudio是一个在手机端软件开发十分方便的编程软件,Androidstudio提供了一系列的工具,使得在使用上能够更好的开发和调试代码。同时Android拥有专门的重新代码构建和快速自动修复错误,问题出错提示工具可修复各种代码的可用性等问题。2.1.2百度云推送百度云推送是一款消息推送服务;能够云端与客户端之间实现长距离推送服务,同时也能够进行多种不同种类的信息推送,支持一次性向所用用户或者部分用户或者特定群体推送信息,而且可以统计发送的所有的信息给用户以便统计,这同时也方便开发者进行系统的维护和系统的开发。2.1.3MySQLMySQL是一个由约点MySQLAB公司开发,所属Oracle旗下的一款开源的数据库,本产品可用于组积,存储和管理数据,能够处理并拥有上万条记录并可运行于多个系统上,支持C,C++,Python,java等多种语言,而且MySQL支持创建大型数据库,该大型数据库最大可支持表文件为8TB的文件由于是开源数据库用户可以通过修改相应的源码来开发自己MySQL系统2.2系统开发相关技术2.2.1Java语言简介java语言是一种拥有多种优秀特点的编程语言,首先是跨平台性,在不同的操作系统中,java能够做到使用自带的虚拟机识别特定的机器码指令,使得自身具备跨平台性,然后多线程性使得java在允许一个应用程序同时存在两个或两个以上的线程,简单性使得java能够不拘于特定的环境即使使用记事本,文件编辑器等的软件来进行代码实现,也可以编译过后直接运行。2.2.2百度云推送功能简介在使用百度云推送时,先得去服务者中心下载统一的在AndroidStudio平台开发时所需要的SDK或者其他种类编程语言所用到的SDK,而且在开发中心的管理页面中可以看到相应的Api,推送用的测试demo以及SDK,通过把API和SDK导入到项目中,然后在项目中,导入相应的方法,配置完ApiKey和SecretKey便可以实现联网推送。2.2.3MySQL功能简介MySQL是一款开源的关系型数据库,而在数据库中你可以创建多个表,每个表中会有相应的表和列,在表中主键是唯一的,一个表中只能有一个主键,可以通过主键来查找数据,外键可用于关联两个边,另外还有索引,和复合键等的功能,在连接MySQL上可以使用二进制和PHP脚本,连接成功后,便可以访问数据库中的数据。

3系统分析3.1系统可行性分析本app通过在网络良好的情况下实现远地实时聊天,解决了广大用户们对话费贵的担忧,实现聊天日常化,在聊天的过程中不用担心漏掉什么信息,不用担心说错了什么,更不用着急的结束对话,大大加强了聊天的趣味性。在app实现的技术上,介于百度云推出的强大的云推送包上,在勾搭服务器时,直接使用百度云所提供的包里面的服务器,在稳定性上比任何我们自己所勾搭的服务器稳定的多,在一定程度上可以确保系统的稳定性,而编程代码使用的是java语言,所以可以在多种的操作系统中进行修改和操作,而且在修改的时候也不一定需要特殊的修改工具,甚至打开一个txt文本也可以对立面的内容进行操作,而在百度云推送的管理者模式中可以对账号进行管理,对一些发送敏感信息的用户或者某些敏感内容进行操作,同时管理员可以给所有在登录的角色发送信息,所有在维护安全的方面上也是有一定的保障的,然后从用户的方面去看,由于界面的整洁打发,按键较少的情况下,用户很容易就能上手使用该款app,更加的方便用户的使用。3.2系统功能需求分析本app功能分为,聊天功能,个人信息修改,后台运行功能,下拉刷新信息功能,错误返回功能聊天功能:聊天功能为本app最主要的功能,在使用相同app的情况下,用户们可以看到在线用户的id,点击id头像就可以进入到聊天界面与你点击所选的用户进行聊天。个人信息修改功能:在个人信息修改页面中,用户可以在该页面中修改自己的聊天昵称,聊天头像,人物性别,点击保存后,信息会同步到聊天界面中。后台运行功能:后台运行功能是指当App通过非退出方式返回手机主页时,可以通过下拉守手机的菜单当中看到App正在后台运行的提示,并且可以通过点击该提示去进入App。下拉刷新信息功能:就是在页面中可以通过下拉刷新信息,并且会提示下拉刷新的时间。错误返回功能:就是当App异常退出时,不是App直接闪退,而是跳转到是否选择提交错误报告的页面,用户可以在该页面中选择提交报告后退出或者直接退出App。(6)个人空间:可以通过点击个人的属性进入到个人空间,查看空间内容3.3系统性能需求分析(1)主页:可以看到在线的人数,并且点击在线角色的头像便可以进入聊天界面进行聊天。(2)聊天:在聊天界面中,你可以看到对方给你发送的聊天内容,并且你可以通过聊天框内输入聊天信息发送回对面。(3)好友:用于观看好友列表。(4)人物属性:用于修改个人资料,个人资料包括头像,昵称,性别。(5)退出:用户可以在指定的页面中点击退出的按钮,然后会跳转到二次确认退出的界面中,再次点击退出便可退出App(6)错误报告提交:当程序出现异常错误崩溃时,先跳转到错误报告提交页面,可以选择提交报告后退出app,也可以直接退出app。(7)个人空间:可以查看个人空间内容

4系统设计4.1系统总体设计(1)主页在主页,可以查看在线的用户,以及对好友页面的跳转和设置页面的跳转。(2)好友页面在好友页面中,可以在该页面中查看并且删除好友,而且能够通过下拉刷新是否有新的消息接收。(3)设置模块在设置页面中可以修改个人信息,以及部分App功能功能的修改,而且该页面下会有个退出按钮,点击该按钮后会跳转到二次确认退出界面,再次确认后可以退出App。(4)删除好友通过点击某个好友头像达到数秒后,会出现是否需要删除好友的提示,按照提示可以完成实现删除好友。(5)个人信息修改通过点击个人资料后会跳转到个人信息修改页面,该页面下可实现对个人信息的修改(6)退出App在点击退出按键后,会跳转到退出页面,点击退出页面就能成功退出该App图4.1总体结构图

4.2系统功能模块设计4.2.1聊天界面该页面是用于用户与用户间聊天所使用的,用户可以通过点击聊天对象的头像进入该页面,页面上会显示聊天信息所发送的时间,在输入框中可以选择发送文字信息或者表情包,其中可以使用的表情一共有18,并且可以通过点击退出键退出表情包页,在确认完要发送的信息后,用户只需要点击发送按钮便可以发送信息,同时在设置页面中更改的头像信息也会更新到相关的主页面和聊天页面。主页面如图4.2所示:图4.2聊天界面4.2.2属性修改界面属性修改页面是用于对个人的属性进行修改,其中可以修改的项目有个人头像,个人性别和昵称更换,其中头像选择和性别更换使用的是滚轮式选择方法,目前可提供的头像选择一共有19个,而且昵称的输入是非空,确认输入信息后点击确认修改便可以更改个人信息。然后通过刷新页面,便可以在看到修改过的个人信息也会同步到主页和聊天页面中。属性修改页面如图4.3所示图4.3属性修改界面

4.2.3在线人数界面在线人数界面是用于查看在线登录app的人数的,如果有用户登录该app就会显示在该app上,用户可以通过点击别的用户进入聊天界面,同时左上角和右上角的按钮点击后分别可以进入到好友界面和设置界面,左边所进入到的是好友界面,右边所进入到的是设置界面,然后置顶的是当前自己所使用的名字,可以通过在个人设置中修改自己的昵称去更改置顶的名字。在线人数界面如图4.4所示图4.4人物在线界面

4.2.4好友列表界面好友列表界面是用于对好友列表进行查看的列表,目前界面上是只有一个好友的分类,通过程序后台可以给分类添加别的组类,在界面中,可以给在线好友添加别的种类,目前只有一种好友种类,在搜索栏中可以加入别人的昵称,然后界面上就会出现所搜索的昵称人。然后可以通过长按好友名称会提示是否需要删除好友,当点击确认后会删除好友,否则则返回好友列表界面。好友列表界面如图4.5所示图4.5好友界面

4.2.5退出界面退出界面是用于退出该app所使用的界面,通过在账号管理界面中点击红色的退出按钮会跳转到该页面对退出选项进行二次的确认,在该页面中用户只能点击的只有确定退出的按钮,点击该按钮后,将会退出该社交app。退出界面如图4.6所示图4.6退出界面

4.2.6设置界面在设置中,一共有5个内容,人物状态,个人资料,新消息声音提醒以及显示自己头像的功能,在人物状态中你可以看到自己所设置的头像,昵称以及在线状态,这些属性会随着个人属性的修改而更换,在个人资料栏中,你可以通过点击该栏跳转到属性修改界面中,通过修改属性保存后,所修改信息保存后会同步到人物状态中去,而新消息声音提醒栏中,用户可以选择开启或者关闭决定是否开启或者在接收消息时是否会有声音提醒,而聊天是否显示头像栏中,玩家可以选择开启或者关闭聊天时是否会显示自己的头像,如果选择开启,在聊天界面中发送信息时会显示自己的头像,选择关闭的话,在聊天界面中发送信息时则看不到自己的头像,最后一栏就是退出按钮,点击退出按钮之后会跳转到退出界面,用于对app进行退出所使用的按钮。设置界面如图4.6所示图4.6设置界面4.3数据库设置4.3.1数据库概念结构设计 根据App的使用,一个用户可发送多条信息,并且拥有多条信息的信息保存记录,E-R图如下:图4.7E-R图4.3.2数据库逻辑结构设计本数据库命名为App,数据库中所包含的表有用户信息表(user),聊天记录表(talk)数据库名称:App用户信息表(user)字段类型可否为空描述idint(11)否用户idusernamevarchar(30)否用户名字userfacevarchar(32)否用户头像usersexvarchar(32)否用户性别实现代码CREATETABLE`user(`id`int(11)NOTNULLAUTO_INCREMENT`username`varchar(30)NOTNULLAUTO_INCREMENT`userpass`varchar(32)NOTNULLAUTO_INCREMENT,`truename`varchar(32)NOTNULLAUTO_INCREMENTPRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=23DEFAULTCHARSET=utf8;聊天记录表(talk)字段类型可否为空描述idInt(11)否用户idtalkuservarchar(64)否聊天对象名称savetalkvarchar(255)否聊天内容savetimevarchar(64)否聊天时的时间代码实现CREATETABLE`talk`(`id`int(11)NOTNULLAUTO_INCREMENT`talkuser`varchar(30)NOTNULLAUTO_INCREMENT`savetalk`varchar(32)NOTNULLAUTO_INCREMENT,`savetime`varchar(32)NOTNULLAUTO_INCREMENTPRIMARYKEY(`id`))ENGINE=InnoDBAUTO_INCREMENT=23DEFAULTCHARSET=utf8;

5系统实现5.1聊天功能聊天功能指的是当发送聊天信息的用户发送信息给聊天对象时,聊天对面能够接收到信息,并且也能够信息给对方。在本次设计中,我是通过使用百度云推送去完成联网实时聊天功能的,完成实时聊天功能可以通过以下三步的步骤完成第一步:注册百度云账号,然后在开发者服务管理创建相关工程,便可以查看你所创建的相关工程的APIKey和SecretKey,在开发中心下载你所所用编程软件所匹配的SDK。第二步:在清单文件中添加权限,注册消息接收的receiver。第三步:在主方法中添加PushManager.startWork(getApplicationContext()这行代码以及使用ApiKey和SecretKey所需要的方法,然后创建继承FrontiaApplication的类,创建PushMessageReceiver用于自定义广播的接受,在MyPushMessageReceiver中添加获取信息的代码以及处理错误返回的代码,导入百度云推送所需要的jar包以及so文件最后创建相关界面的xm文件对界面的布局进行编写。5.2聊天添加表情在聊天界面中可以通过选择表情,点击发送后,发送表情给聊天对象。如图5.2要实现发送表情首先得知道Pattern和Matcher,先说下Pattern,Pattern是一个正则表达式经过编译后所变现出来的模式,然后死Matcher,你所使用的每一Matcher对象它需要去依据Pattern做匹配检查,然后通过把这两个类搭配使用就可以对特定的类进行筛选和匹配了,然后添加importjava.util.regex.Matcher和importjava.util.regex.Pattern这两行代码去调用Matcher和Pattern,然后给每个可以发送的表情定义好,通过在方法中给表情包的页数和表情包一页多少的个数定义好数量,最后创建点击表情实现跳转的类,完成点击表情发送表情的跳转。图5.25.3个人设置 在个人设置的页面上,有头像设置,性别设置,提示音开关和头像开关,在提示音开关和头像开关的实现只需要使用基础的开关控件就好,但头像设置和性别设置(如图5.3)却得使用别的方法去完成,虽然说性别设置只有两个选项,可以选择别的方法去实现,但头像设置里,我导入了一共19个头像,由于选择众多,所以我选择了滚轮选择器来实现选择功能在头像的选择上使用的是滚轮布局WheelView,通过seOnEndFlingListener的方法,可以当滚轮滑动停止时,直接调用停止时所选中的当前选中的项,然后在WheelView这个类中修改所选的背景,上下阴影以及中间做选择时的所用的矩形等。最后再完成相对应的xml文件。图5.3

6系统测试6.1测试过程(1)第一步:首先对App分析,然后制定相应的策略,之后再根据大概需要的内容进行测试计划。该app是使用Java语言编写的社交类实时App,本网站主要功能有进行聊天,修改个人相关属性,查看在线人数,对系统进行功能测试,检查系统是否能完成预定的功能。(2)第二步:搭建测试所需要的环境,然后执行测试用例。(3)第三步:提交缺陷。(4)第四步:消除缺陷。(5)第五步:完成测试。6.2测试环境描述应用服务器配置:(1)CPU:Intel(R)Core(TM)i5-4210UCPU@1.70Hz(2)ROM:8G(3)OS:Windows10(4)模拟器:雷电模拟器

6.3测试用例执行情况测试用例执行情况如表6.1所示表6.1测试用例执行情况需求功能名称测试用例名称执行说明执行情况是否通过主页面主页面用于查看页面同时登录的人数,当页面有除了自己外的别的用户能否可以点击该用户头像,进入聊天界面,进行聊天良好是聊天页面聊天页面是否能在该页面中发送或者接收信息,能否发送表情,并且对方是否能接收到表情良好是好友页面好友页面用于查看该页面下好友的人数,用户可以通过在该页面下点击好友的名称发送信息,或者发送离线信息良好是设置页面设置页面能否在主页面成功跳转到设置页面,设置页面上是否能正确出现,相对应的功能良好是个人属性页面个人属性页面用于修改个人昵称,头像,性别的信息,点击保存后可以保存所选项目良好是退出界面退出界面在退出界面用户可以点击确认退出的按钮,然后再次确定退出后,App退出良好是开发问题:1个问题:Servicenotavailable分析:应该是百度云端的服务器出现异常,导致服务器访问不了,也有可能是代码处理不当导致其他问题:无6.4测试设计评估及改进本次测试是对app的执行情况和app的产品质量进行相对应的测试,测试的最终目的是为了验证app的可行性和用户对app的需求情况,其中更能够在测试的过程中尽量早的发现app所产生的漏洞以及bug,并能够尽早的进行修改和更正,同时在测试的过程中能够进行一定程度的代码修改,在对用户的体验下能够更进一步的加强,使app的满意度能够得到有效的提升。本次测试对app的各个模块以及整体的功能都进行了测试,在测试前,已经基本的保证了软件的稳定性,所以在运行起来时还是挺顺利的,在测试过程中,主要碰到过的问题是,对于app的要求越来越高,在本来我的app只是通过局域网连接实现聊天,后来才使用的百度云推送,在更换连接方式时,问题是层出不穷,而且是没接触过的技术,所以运用起来时还是有一定的困难。而后又队界面进行了美化,本来使用的是较老式的全套传统图标,后来通过百度,对所有的图标进行了逐个更换,测试过后,app的表面更加的整洁,但app还是存在一定的缺陷,而且在操作上,上手难度上和功能完美度上还有很大的提升空间。

7.总结本次毕业设计是基于Android平台使用AndroidStudio软件利用java语言所开发的社交类App,本次设计充分的使用到了在大三选修Android方向时,老师所教的所有关于Android知识,在本次选择毕业设计的题目中,我马上想到的就是我首次所学习的Android代码就是仿微信设计的App,而在该次毕业设计中,所使用到的布局控件,大部分都是通过在所学过的知识下进行修改的,而只有极少数是通过网上学习然后使用的。在本社交App的构思上,参照了目前使用广泛的微信和QQ的聊天App,然后明确本App所要完成的功能,最后是进行App的测试。在本毕业设计中主要完成的功能有聊天,属性修改,好友查看,退出功能,然后还有各种优化App使用的各种小功能。在开发App的过程中遇到的问题期间主要通过网上查阅出错问题的信息寻找答案,而在某些未尝试过的新功能的添加上,通过下载各种开源代码,寻找最优的解决方案来解决,主要还是通过多查阅多尝试慢慢完成,其中也遇到各种的挫折,都是靠坚持下完成的。虽然本App是完成了的,但基于自身技术问题上,有其他功能还无法完成,例如通过使用手机注册账号,发送验证码等功能,由于会涉及到个人信息的泄露,所以在处理上需要去申办各种程序就没有完成,而通过百度云推送信息的功能学习的也只是表皮功夫,有些关于百度云出现的错误有时还无法解决,所以总的来说项目还不够熟练,在各种功能的实现上还仍需进一步的加强

参考文献[1]张兴科. JSP动态网站设计项目教程[M]. 北京: 中国人民大学出版社,2010. [2]赵增敏. JSP网站开发详解[M]. 北京: 电子工业出版社[3]罗国庆, 陈良萍. 网站建设案例精粹[M]. 北京: 电子工业出版社, 2004.[4]李兴华, 王月清. 名师讲坛:Java Web开发实战经典基础篇(JSP, Servlet, Struts, Ajax)[M]. 北京: 清华大学出版社, 2010.[5]唐汉明, 翟振兴, 关宝军, 王洪权. 深入浅出MySQL(第2版)[M]. 北京: 人民邮电出版社, 2014.[6]Christine Hofmeister. Applied Software Architecture[M]. 北京:电子工业出版社, 2003.[7]李孟燃. 网页设计中计算机多媒体技术的应用 [J]. 计算机光盘软件与应用, 201412[8]Abraham Silberschatz. Database System Concepts[M]. 北京: 机械工业出版社, 2003.[9]王珊,萨师煊. 数据库系统概论[M]. 高等教育出版社,2006. [10]刘克.MVC架构及其在 Web应用开发中的应用[M].计算机应用与软件.2006.[11]王国辉,王毅等,《Java Web开发典型模块大全》,北京,人民邮电出版.[12]王志军,孙月霞. 基于Web开发的几种服务器端脚本语言的分析与比较[J]计算机应用研究,2006[13]桑德斯,刘彦博.高性能网站建设指南[M].北京:电子工业出版社,2008.[14]储久良,WEB前段开发技术-HTML、CSS、Javascript,清华大学出版社,2016[15]张玉孔.  B2C型中小企业电子购物系统的设计[J]. 商场现代化,2006.[16]王永茂,JSP程序设计+——用JSP开发Web应用,清华大学出版社,2010[17]朱敏。JavaScript在HTML中的应用探讨[J].科技视界,2016,[18]矫静怡。基于HTML5的多平台采购系统的设计与实现[D].大连理工大学,2014.[19]张坤,吕义正。HTML5客户端存储的安全性探析[J].黄山学院学报,2014,[20]黄悦深。基于HTML5的移动WebApp开发[J].图书馆杂志,2014,[21]黎志雄,黄彦湘,陈学中。基于HTML5游戏开发的研究与实现[J].东莞理工学院学报,2014,[22]弗兰纳根,JavaScript权威指南,机械工业出版社,2016[23]GilesColborne,简约至上:交互式设计四策略,人民邮电出版社,2016[24]AlanCooper,RobertReimann,DavidCronin,ChristopherNoessel.AboutFace,2008[25]SmashingMagazine,众妙之门:网站UI设计之道,人民邮电出版社,2016[26]孙鑫.JavaWeb 开发详解 [M]. 北京 :电子工业出版社,2006,169-296.[27]刘斌,NetBeans权威指南,电子工业出版社,2014[28]杨烨,DreamweaverCS6网页设计实用教程,华中科技大学出版社,2014[29]王国辉,王春斌.  JavaWeb编程宝典:十年典藏版[M]. 北京:人民邮电出版社,2011.

致谢时光飞逝,也是要毕业的时候了,感觉就好像昨天刚第一次踏入东软的大门,今天却要为毕业做准备的样子。在大学的四年当中,遇到了很多,也接触到了很多,在软件工程这专业方面,当初我在选专业的时候是很迷茫的,而选择这个专业主要是因为,我从小都对电脑的各个方面都很感兴趣,我想去了解电脑是怎么运行的,为什么可以通过点击某个图标便可跳转,为什么电脑会死机等多种理由,我记得当第一次上关于软件的课时,我接触到了java,并且完成了第一次的代码实现,那时候我第一次了解到原来电脑各个是这样运行出来的,使我对软件工程这专业更加的感兴趣,之后在大二大三的学习下,接触到了不同的编程语言,以及辅助编程的各种工具,并且在专业方向这把,我选择了移动平台开发者方面,主要是我看到了近年来,手机的变化是越来越大,感觉发展空间非常的高,并且在该方向上,我了解到了App的组成,也编写过一完整的App并且能在自己手机上运行,而到了大四,离开了学校去找实习,中间可有过各种的碰壁,然后又由于新冠肺炎的影响不得不选择在家线上实习,在工作经验上,可能要比往常的毕业生更少吧,而到后面的时间便开始了毕业设计的编写。首先在这次毕业设计中,我要感谢我的指导老师麦老师在毕业设计上给予的帮助,让我能顺利完成项目,同时在本次毕业设计的编写上,我通过了自己在网上的学习学到的新知识也运用到了毕业设计中,在学习的途中有过最多的就是失败,每次都是在各种成功的边缘徘徊,本来可以但改了一点东西就不行那样,但最后还是顺利的完成了,可谓是一波三折。而最后就是感谢学校对我的培养,在之后的人生中,我会尽自己的能力去使让自己成为理想中的模样。

捷键与一些电脑小技巧HYPERLINKwinkey+d:

这是高手最常用的第一快捷组合键。这个快捷键组合可以将桌面上的所有窗口瞬间最小化,无论是聊天的窗口还是游戏的窗口……只要再次按下这个组合键,刚才的所有窗口都回来了,而且激活的也正是你最小化之前在使用的窗口!

--这个就是winkeywinkey+f:

不用再去移动鼠标点“开始→搜索→文件和文件夹”了,在任何状态下,只要一按winkey+f就会弹出搜索窗口。

winkey+r:

在我们的文章中,你经常会看到这样的操作提示:“点击‘开始→运行’,打开‘运行’对话框……”。其实,还有一个更简单的办法,就是按winkey+r!

alt+tab:

如果打开的窗口太多,这个组合键就非常有用了,它可以在一个窗口中显示当前打开的所有窗口的名称和图标●,选中自己希望要打开的窗口,松开这个组合键就可以了。而alt+tab+shift键则可以反向显示当前打开的窗口。

winkey+e:

当你需要打开资源管理器找文件的时候,这个快捷键会让你感觉非常“爽”!再也不用腾出一只手去摸鼠标了!

小提示:

winkey指的是键盘上刻有windows徽标的键●。winkey主要出现在104键和107键的键盘中。104键盘又称win95键盘,这种键盘在原来101键盘的左右两边、ctrl和alt键之间增加了两个windwos键和一个属性关联键。107键盘又称为win98键盘,比104键多了睡眠、唤醒、开机等电源管理键,这3个键大部分位于键盘的右上方。

再补充点

F1显示当前程序或者windows的帮助内容。

F2当你选中一个文件的话,这意味着“重命名”

F3当你在桌面上的时候是打开“查找:所有文件”对话框

F10或ALT激活当前程序的菜单栏

windows键或CTRL+ESC打开开始菜单

CTRL+ALT+DELETE在win9x中打开关闭程序对话框

DELETE删除被选择的选择项目,如果是文件,将被放入回收站

SHIFT+DELETE删除被选择的选择项目,如果是文件,将被直接删除而不是

放入回收站

CTRL+N新建一个新的文件

CTRL+O打开“打开文件”对话框

CTRL+P打开“打印”对话框

CTRL+S保存当前操作的文件

CTRL+X剪切被选择的项目到剪贴板

CTRL+INSERT或CTRL+C复制被选择的项目到剪贴板

SHIFT+INSERT或CTRL+V粘贴剪贴板中的内容到当前位置

ALT+BACKSPACE或CTRL+Z撤销上一步的操作

ALT+SHIFT+BACKSPACE重做上一步被撤销的操作

Windows键+D:最小化或恢复windows窗口

Windows键+U:打开“辅助工具管理器”

Windows键+CTRL+M重新将恢复上一项操作前窗口的大小和位置

Windows键+E打开资源管理器

Windows键+F打开“查找:所有文件”对话框

Windows键+R打开“运行”对话框

Windows键+BREAK打开“系统属性”对话框

Windows键+CTRL+F打开“查找:计算机”对话框

SHIFT+F10或鼠标右击打开当前活动项目的快捷菜单

SHIFT在放入CD的时候按下不放,可以跳过自动播放CD。在打开wo

rd的时候按下不放,可以跳过自启动的宏

ALT+F4关闭当前应用程序

ALT+SPACEBAR打开程序最左上角的菜单

ALT+TAB切换当前程序

ALT+ESC切换当前程序

ALT+ENTER将windows下运行的MSDOS窗口在窗口和全屏幕状态间切换

PRINTSCREEN将当前屏幕以图象方式拷贝到剪贴板

ALT+PRINTSCREEN将当前活动程序窗口以图象方式拷贝到剪贴板

CTRL+F4关闭当前应用程序中的当前文本(如word中)

CTRL+F6切换到当前应用程序中的下一个文本(加shift可以跳到前

一个窗口)

在IE中:

ALT+RIGHTARROW显示前一页(前进键)

ALT+LEFTARROW显示后一页(后退键)

CTRL+TAB在页面上的各框架中切换(加shift反向)

F5刷新

CTRL+F5强行刷新1.打开“我的电脑”-“工具”-“文件夹选项”-“查看”-在“显示所有文件和文件夹”选项前打勾-“确定”

2.删除以下文件夹中的内容:

x:\DocumentsandSettings\用户名\Cookies\下的所有文件(保留index文件)

x:\DocumentsandSettings\用户名\LocalSettings\Temp\下的所有文件(用户临时文件)

x:\DocumentsandSettings\用户名\LocalSettings\TemporaryInternetFiles\下的所有文件(页面文件)

x:\DocumentsandSettings\用户名\LocalSettings\History\下的所有文件(历史纪录)

x:\DocumentsandSettings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)

x:\WINDOWS\Temp\下的所有文件(临时文件)

x:\WINDOWS\ServicePackFiles(升级sp1或sp2后的备份文件)

x:\WINDOWS\DriverCache\i386下的压缩文件(驱动程序的备份文件)

x:\WINDOWS\SoftwareDistribution\download下的所有文件

3.如果对系统进行过windoesupdade升级,则删除以下文件:x:\windows\下以$u...开头的隐藏文件

4.然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序

5.碎片整理后打开“开始”-“程序”-“附件”-“系统工具”-“系统还原”-“创建一个还原点”(最好以当时的日期作为还原点的名字)

6.打开“我的电脑”-右键点系统盘-“属性”-“磁盘清理”-“其他选项”-单击系统还原一栏里的“清理”-选择“是”-ok了

7、在各种软硬件安装妥当之后,其实XP需要更新文件的时候就很少了。删除系统备份文件吧:开始→运行→sfc.exe/purgecache近3xxM。(该命令的作用是立即清除"Windows文件保护"文件高速缓存,释放出其所占据的空间)

8、删掉\windows\system32\dllcache下dll档(减去200——300mb),这是备用的dll档,只要你已拷贝了安装文件,完全可以这样做。

9、XP会自动备份硬件的驱动程序,但在硬件的驱动安装正确后,一般变动硬件的可能性不大,所以也可以考虑将这个备份删除,文件位于\windows\drivercache\i386目录下,名称为driver.cab,你直接将它删除就可以了,通常这个文件是74M。

10、删除不用的输入法:对很多网友来说,WindowsXPt系统自带的输入法并不全部都合适自己的使用,比如IMJP8_1日文输入法、IMKR6_1韩文输入法这些输入法,如果用不着,我们可以将其删除。输入法位于\windows\ime\文件夹中,全部占用了88M的空间。

11、升级完成发现windows\多了许多类似$NtUninstallQ311889$这些目录,都干掉吧,1x-3xM

12、另外,保留着\windows\help目录下的东西对我来说是一种伤害,呵呵。。。都干掉!

13、关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空间。因此有必要对其进行手工设置,以减少硬盘占用量。打开"系统属性"对话框,选择"系统还原"选项,选择"在所有驱动器上关闭系统还原"复选框以关闭系统还原。也可仅对系统所在的磁盘或分区设置还原。先选择系统所在的分区,单击"配置"按钮,在弹出的对话框中取消"关闭这个驱动器的系统还原"选项,并可设置用于系统还原的磁盘空间大小。

14、休眠功能会占用不少的硬盘空间,如果使用得少不妨将共关闭,关闭的方法是的:打开"控制面板",双击"电源选项",在弹出的"电源选项属性"对话框中选择"休眠"选项卡,取消"启用休眠"复选框。

15、卸载不常用组件:XP默认给操作系统安装了一些系统组件,而这些组件有很大一部分是你根本不可能用到的,可以在"添加/删除Windows组件"中将它们卸载。但其中有一些组件XP默认是隐藏的,在"添加/删除Windows组件"中找不到它们,这时可以这样操作:用记事本打开\windows\inf\sysoc.inf这个文件,用查找/替换功能把文件中的"hide"字符全部替换为空。这样,就把所有组件的隐藏属性都去掉了,存盘退出后再运行"添加-删除程序",就会看见多出不少你原来看不见的选项,把其中那些你用不到的组件删掉(记住存盘的时候要保存为sysoc.inf,而不是默认的sysoc.txt),如Internat信使服务、传真服务、Windowsmessenger,码表等,大约可腾出近50MB的空间。

16、清除系统临时文件:系统的临时文件一般存放在两个位置中:一个Windows安装目录下的Temp文件夹;另一个是x:\DocumentsandSettings"用户名"\LocalSettings\Temp文件夹(Y:是系统所在的分区)。这两个位置的文件均可以直接

温馨提示

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

评论

0/150

提交评论