- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
陌生人―移动社交网络应用App设计.doc
陌生人―移动社交网络应用App设计
摘要:该系统旨在实现两部分功能。即通过解密陌生人客户端让用户实现摇一摇在地图上显示好友进行互动添加。和提供丰富的交流手段如语音,图片等使用户更为便捷的通讯。同时采取多进程的方式,主进程为前台进程,辅进程为后台推送进程以达到在客户将程序退出时仍然能够从服务器端获取信息。通过定义单独的服务类来处理和openfire服务器的连接问题从而实现解耦。通过定义单独的manager类来提供与即时通讯相关的方法实现解耦。通过维护全局的application类来提供某些常用方法以实现解耦。
关键词:设计;系统
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)10-0092-02
1 绪论
1.1 开发背景及意义
随着人们的生活的丰富化,社交软件成为生活中必不可少的一部分,但是近些年新兴起的基于陌生人之间通讯的社交软件却越来越火爆,陌陌就是其典型的代表。随着陌陌的上市,SoLoMoGlo(Social + Local + Mobile + Global)的概念也在持续升温,成为大学生创业的选择之一。本项目通过游戏的形式完成陌生人之间的交友,进而实现基于陌生人的社交通讯。
1.2 开发目标
SoLoMoGlo(Social + Local + Mobile + Global)概念这些年中持续发酵,基于移动社交的商业模式层出不穷,相关产品众多。
2 陌生人-移动社交网络App设计概述
2.1 设计目标
1) 新用户可以直接点击注册按钮来进行注册,注册完成后自动登陆。
2)登陆后可以点击侧滑菜单中的摇一摇进行好友的添加。
3)添加好友成功后可以直接进行文字语音的聊天并可分享图片。
4)点击侧滑菜单中的我的信息查看当前登陆账号的信息。
5)联系人界面或者聊天界面点击好友头像可查看好友的具体信息。
2.2 模块划分
3.3 详细设计
3.1 系统总体层次设计
本系统采取了C/S软件架构,即大家所熟知的客户端/服务器体系结构,通过将任务分配到Client端与Server端从而降低了系统通讯的开销。
服务器端采用了开源的Openfire服务器,Openfire采用Java开发,基于XMPP的实时协作的IM跨平台服务器。Openfire还提供了完善的后台管理功能,可以更加方便的管理系统用户。
而在客户端中,用户间的通讯是通过服务器的转发来实现的,将信息打包成XML文件发送给服务器,然后服务器转发给相应的用户。在ASmack库的支持下,XMPP客户端的登陆,消息收发等基本功能需要重写相应的函数,并且调用相应的接口来实现。
客户端采用MVC的软件架构,采用Android的XML文件对界面进行描述,作为视图层V(View),负责前台界面的显示;Activity活动类承载了控制层C(Controller)的任务,通过Activity进行逻辑业务的处理;对于处理数据库与处理服务器相关操作属于M(Model),该层具体上依赖于自定义的服务类。
3.1.1 服务器端的层次结构设计
XMPP服务器采用的是开源的Openfire服务器,这个开源的项目应用看apache的mina框架作为NIO框架。简单来说Openfire服务器在mina框架的基础上建立了一个简单的服务器,用来发送基本的IO数据流,然后把接受到的IO解析为XML文件,后通过XMPP协议对接收到的XML文件进行操作。
3.1.2 客户端的层次结构设计
3.2 系统数据库设计
系统采用的是C/S架构,所以客户端本地也要进行数据的持久化,所以系统的数据库设计分为客户端和服务器端。
3.2.1 服务器端数据库的设计
由于服务器端采用的是开源的Openfire,它的数据库端已经有了良好的定义,并且支持外部数据库。在本程序中我们没有使用Openfire内置的数据库,而是采用了Mysql,主要是为了开发时查询数据的方便以满足实际需要。Openfire数据库主要用来存储用户注册的信息,用户的名片信息以及联系人信息。
3.2.2 客户端数据库的设计
因为相关功能的需求,客户端也要对一些数据进行本地的存储。借助安卓内置的Sqlite数据库,我们可以高效地完成它。
客户端数据库主要用来存储联系人信息和聊天信息。系统通过安卓sqlite包里面提供的api可以很便捷的操纵数据库。
3.3 系统关键点简介
1)对远程服务的实现(aidl)
在清单文件中对IMService服务配置为多进程
通过onBind返回远程的binder对象,每次在程序中通过绑定服务
您可能关注的文档
最近下载
- (2024秋新版)人教PEP版三年级英语上册全册教案.doc
- ISO15189质量手册--输血科通用模版(文档-100页).docx VIP
- RBA6.0版标准资料学习课件.ppt VIP
- 2025年北森领导力测试题及答案.doc VIP
- AI政务大厅业务平台架构方案.pptx VIP
- 医疗器械临床应用管理办法.pptx VIP
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
- 人工智能对人类发展利大于弊VS弊大于利辩论赛正方辩词一辩、二辩、三辩、四辩发言稿.pptx VIP
- 人工智能对人类发展利大于弊VS弊大于利辩论赛 反方辩词一辩、二辩、三辩、四辩发言稿.docx VIP
- 北森在线测评题库及答案.doc VIP
文档评论(0)