《基于Android 的社交App 的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于Android 的社交App 的设计与实现.docx(38页珍藏版)》请在优知文库上搜索。
1、摘要随着网络时代的不断发展,人与人之间的交流方式开始朝着多元化的方向发展,像现在大多数人通常使用的QQ,微信等的社交类app进行远距离聊天对话的方式已经渐渐开始替代电话进行通话的方式了,相比于电话,QQ,微信等突出了聊天方式多种多样,流量的消费远比话费的消费便宜,时间控制上的便利等的多种优点。在本次设计中将开发实现一款以聊天功能为主要功能的社交型App。本app可以通过手机上的APP在网络流畅的情况下随时随地进行实时聊天,在设置界面中,你可以修改自己的个人昵称,聊天头像,个人性别,声音提醒,头像显示,而在聊天界面中,你可以发送自己的表情,也可以输入文字,同时发送或者接收信息的时候都会有时间显示
2、。本社交APP开发所涉及的工具有:AndroidStudio,百度云推送,雷电模拟器关键词:社交APP百度云推送AbstractWiththecontinuousdevelopmentoftheInternetera,peopletopeoplecommunicationbegantodevelopinadiversifieddirection.SocialassuchasQQandwechat,whicharecommonlyusedbymostpeoplenow,havegraduallyreplacedthetelephoneforlong-distancechatanddialogue
3、.Comparedwiththetelephone,QQandwechat,thechatmodeisdiversifiedandthetrafficconsumptionisfarawayItischeaperthanthecostofthephone,andconvenientintimecontrol.Inthisdesign,wewilldevelopandimplementasocialappwithchatfunctionasthemainfunction.Thisappcanchatinrealtimeanytimeandanywhereunderthesmoothconditi
4、onofthenetworkthroughtheapponthemobilephone.Inthesettinginterface,youcanmodifyyourpersonalnickname,chatavatar,personalgender,voicereminder,andavatardisplay.Inthechatinterface,youcansendyourownexpression,orentertext.Atthesametime,youhavetimetosendorreceiveinformationShow.Thetoolsinvolvedinthedevelopm
5、entofthissocialappinclude:Androidstudio,baiducloudpush,lightningsimulatorKeywordsisocialapp,Baiducloudpush目录1绪论11.1 研究背景11.2 选题的意义11.3 研究现状21.4 研究内容215开发目标31.6 总体设计思想32系统开发环境和相关技术42.1 系统开发环境42.1.1 AndroidStudio42.1.2 百度云推送42.1.3 MySQL42.2 系统开发相关技术42.2.1 Java语言简介52.2.2 百度云推送功能简介52.2.3 MySQL功能简介53系统分析
6、63.1 系统可行性分析63.2 系统功能需求分析63.3 系统性能需求分析73.4 设计84.1 系统总体设计84.2 系统功能模块设计104.2.1 聊天界面104.2.2 属性修改界面104.2.3 在线人数界面124.2.4 好友列表界面134.2.5 退出界面144.2.6 设置界面154.3 数据库设计164.3.1 数据库概念结构设计164.3.2 数据库逻辑结构设计165系统实现185.1 聊天功能185.2 聊天添加表情185.3 个人设置196系统测试216.1 测试过程216.2 测试环境描述216.3 测试用例执行情况226.4 测试设计评估及改进237总结24参考文献
7、25致谢271绪论L1研究背景在21世纪的今天,各种不同的新科技改变着现在生活,尤其是随着或联网兴起的信息时代的发展,互联网的兴起带动着全世界的发展,使得各种各样的行业与生活方式都往互联网的方向靠拢,同时互联网的兴起也使得网络社交更加的多样化,而其中移动平台上的社交APP又颇受人们的欢迎,相比于电话通信,社交APP上进行交流可谓方便许多,首先不同于电话通信,社交APP使用的是网络流量进行通信聊天,而网络流量的费用比起电话通信要便宜的多,其次在通信的过程中可以通过添加各种表情包来丰富自己的对话内容,不像电话通信那样只能单一的使用声音和情绪波动来表达自己,然后在社交APP上聊天可以是间断的进行,但
8、是在电话中,这种间断聊天时不行的,多人聊天时,在app上可以切换不同的聊天界面进行一对多的聊天,而电话只能做到的是一对一通信,而如果中间挂了电话就需要重新拨号,在一定程度上也造成了一定的不方便。L2选题的意义在当今手机和网络技术飞快发展的时代中,各种各样的手机APP也是花样百变,越来越受人们的关注和使用,更多的时候人们通常会被app的UI界面所吸引,而智能手机APP界面上的Ul设计的目的是为了让人与手机的操作更加的方便和人性化,同时也保障了人与人使用手机之间进行信息的传递交互时更加的便捷和准确。在当今社会中社交APP成为人们不可或缺的一部分时,社交APP却朝着多样化的方向发展,各大多数的商家都
9、开始朝着不同的方向去寻找着适合自己定位的发展方向,同时根据自己所选的方向去设计自己的APP功能,而其中优秀的颇有代表性的例子不为少数,例如,虎牙,斗鱼等的主播方式,唱吧的拼歌方式,yy语音的多对多在线聊天方式。由此可知不同的主推方式可以决定一款社交APP不同的成长方式和发展趋向,从而衍生出多种多样的社交型App。由此可见社交类APP的发展前景是非常的巨大的。L3研究现状根据2019年有关的APP报告中可知,在APP的使用上,最高的使用时间已超过了4.9亿小时,而相比在同年的2019年1月的使用时长上,增长了3倍有多,在2019年1月的使用时长上只有1.2亿小时。在2019年中的各种网络使用中,
10、在6月份,社交使用人均人数已经远远的超过了社区服务使用的人群,而网友们在2019年中在社交网站的到达率也从同年的23.9%攀升至如今的26.8册使用时间也从2019年的一月份的L2亿小时增加到2019年六月份的4.9亿小时而在目前最受欢迎的移动app调查当中,而目前最受手机用户欢迎的手机移动App软件的应用服务前三分别为游戏类的手机软件,生活服务类的手机软件以及社交类的手机软件,从大量的数据说明中不难发现,社交类APP的开发市场是非常的庞大的,尤其像微信,QQ那样的社交APP已经深入到人们的生活,成为不可或缺的一部分。从国外的APP发展上来看,根据2020年国外发布的2020年移动市场报告来看
11、,在2019中大部分的手机移动用户中绝大部分的用户都会在使用手机的时间上,有一半以上都是使用在社交媒体上,由于智能手机的普及以及网络流量的大众化下全球手机使用用户在使用手机在移动和社交的下载量上已经达到了95亿次,相比较与往年的数据已经是大大的提升,而在手机领域的使用时长上相比,2019年的使用时长达到了9000亿小时,相对于2017年使用时长上的6750亿的时长上增加了25%,而在手机使用的领域上,移动,社交和内容营销是全球的三大趋势,由此可见,即使在全球范围内,社交APP的使用趋势也是很大的。L4研究内容本App为基础社交类手机软件,用户可以利用该APP在互联网网络流畅的情况下进行远地聊天
12、,通过选中聊天的对象,在聊天界面中通过输入聊天内容可以进行聊天,而且在聊天过程中也可以通过添加聊天表情来丰富自己的聊天内容,而且在个人设置界面中可以修改自己聊天时的人物头像,人物昵称,人物性别,同时也可以选择屏蔽自己聊天时的人物头像,同时可以查看好友界面,在好友界面中可以删除好友,并且在好友界面中可以删除好友。L5开发目标开发目标有以下几点(1)能查看使用软件在线人数,并且能点击在线用户的头像进行聊天(2)能进行实时聊天,并且可以发送表情,在页面上可看到发送信息的时间(3)能修改人物相关属性,相关属性包括呢称,头像,性别。(4)App能在各种真机上稳定运行(5) 能够查看好友界面,并且能够删除
13、好友(6) App可以在后台运行并且在后台运行的时候能够有信息提醒L6总体设计思想(1)界面整洁,给人一种开阔感(2)通过把给每个图片设置一个Xml文件,使得在图片总多的条件下更换图片出现差错的概率下降(3)使用AndroidStUdiO开发,相比于别的开发工具,更加的适合安卓APP的开发,在使用上也比较稳定(4)软件app出现错误后可以提交错误报告,方便维护(5)按钮选择上采用简单易懂的按钮,即使没有中文提示,也能看懂按钮意思(6)使用开源的SDK以及连接服务器,使APP在连接的时候更加的稳定2系统开发环境和相关技术2. 1系统开发环境2.1.1 AndroidStudio不同于eclips
14、e,AndroidStudio是一个在手机端软件开发十分方便的编程软件,AndroidStUdiO提供了一系列的工具,使得在使用上能够更好的开发和调试代码。同时ArIdroid拥有专门的重新代码构建和快速自动修复错误,问题出错提示工具可修复各种代码的可用性等问题。2.1.2 百度云推送百度云推送是一款消息推送服务;能够云端与客户端之间实现长距离推送服务,同时也能够进行多种不同种类的信息推送,支持一次性向所用用户或者部分用户或者特定群体推送信息,而且可以统计发送的所有的信息给用户以便统计,这同时也方便开发者进行系统的维护和系统的开发。2.1.3 MySQLMySQL是一个由约点MySQLAB公司
15、开发,所属Orade旗下的一款开源的数据库,本产品可用于组积,存储和管理数据,能够处理并拥有上万条记录并可运行于多个系统上,支持C,C+,PythonJava等多种语言,而且MySQL支持创建大型数据库,该大型数据库最大可支持表文件为8TB的文件由于是开源数据库用户可以通过修改相应的源码来开发自己MySQL系统2.2系统开发相关技术2.2.1 Java语言简介java语言是一种拥有多种优秀特点的编程语言,首先是跨平台性,在不同的操作系统中,java能够做到使用自带的虚拟机识别特定的机器码指令,使得自身具备跨平台性,然后多线程性使得java在允许一个应用程序同时存在两个或两个以上的线程,简单性使得java能够不拘于特定的环境即使使用记事本,文件编辑器等的软件来进行代码实现,也可以编译过后直接运行。2.2.2 百度云推送功能简介在使用百度云推送时,先得去服务者中心下载统一的在AndrOidStudio平台开发时所需要的SDK或者其他种类编程语言所用到的SDK,而且在开发中心的管理页面中可以看到相应的Api,推送用的测试dem。以及SDK,通过把APl和SDK导入到项目中,然后在项目中,导入相应的方法,配置完APiKey和SeCretKey便可以实现联网推送。2. 2.3MySQL功能简介My