基于Android平台的学生社交网络系统设计与实现
编辑整理:
尊敬的读者朋友们:
这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望(基于Android平台的学生社交网络系统设计与实现)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快 业绩进步,以下为基于Android平台的学生社交网络系统设计与实现的全部内容。
基于Android平台的学生社交网络系统设计与实现
淮南师范学院本科毕业论文(设计)
诚信承诺书
1。本人郑重承诺:所呈交的毕业论文(设计),题目《 基于Android平台的学生社交网络系统的设计与实现》是本人在指导教师指导下独立完成的,没有弄虚作假,没有抄袭、剽窃别人的内容;
2.毕业论文(设计)所使用的相关资料、数据、观点等均真实可靠,文中所有引用的他人观点、材料、数据、图表均已注释说明来源;
3。 毕业论文(设计)中无抄袭、剽窃或不正当引用他人学术观点、思想和学术成果,伪造、篡改数据的情况;
4。本人已被告知并清楚:学院对毕业论文(设计)中的抄袭、剽窃、弄虚作假等违反学术规范的行为将严肃处理,并可能导致毕业论文(设计)成绩不合格,无法正常毕业、取消学士学位资格或注销并追回已发放的毕业证书、学士学位证书等严重后果;
5.若在省教育厅、学院组织的毕业论文(设计)检查、评比中,被发现有抄袭、剽窃、弄虚作假等违反学术规范的行为,本人愿意接受学院按有关规定给予的处理,并承担相应责任。
学生(签名):
日期: 年 月 日
目 录
1学生社交网络系统的概述 ................................. 1
1。1 项目背景 ......................................... 1 1。2 项目开发目的和意义 ............................... 2
基于Android平台的学生社交网络系统设计与实现
1.3 本文主要工作内容 .................................. 2 2学生社交网络系统需求分析与总体设计 ..................... 3
2。1社交系统需求分析 ................................. 3
2。1.1 功能模块 .................................... 3 2.1.2 社交系统非功能性的需求 ....................... 4 2。2 社交平台总体设计 ................................. 5
2.2.1 系统功能模型方案 ............................. 5 2。2.2 前台客户端与后台服务器架构体系 ............. 5 2。2.3 系统总体功能结构设计 ....................... 6
3学生社交网络系统的详细设计 ............................. 6
3.1 社交系统类图详细的设计 ............................ 7 3。3 社交系统后台实现部分功能 ........................ 15
3.3.1 Memcached 缓存 .............................. 15 3。3。2 Openfire 和 Connection manager ............ 15
4学生社交网络系统实现与测试 ............................ 16
4.1 系统开发环境和开发工具 ........................... 16
4.1。1 开发语言 ................................... 16 4.1。2 开发工具 ................................... 16 4。1.3 开发环境 ................................... 17 4.2 系统数据获得与更新界面的实现 ..................... 17
4.2.1 Json 数据格式的封装和解析 ................... 17 4。2.2 异步刷新 UI 界面 .......................... 18 4.3 登录模块的实现与测试 ............................. 18 4。4 好友模块的实现与测试 ............................ 21
基于Android平台的学生社交网络系统设计与实现
4。5 即时通讯模块的实现与测试 ........................ 24 4。6 状态发布模块的实现与测试 ........................ 27
4.6。1 发布动态的功能测试 ......................... 28 4。6.2 点赞、评论的功能测试 ....................... 29 4。6。3 下拉刷新的功能测试 ........................ 30 4.6。4 获取消息推送的功能测试 ..................... 31 4.6。5 点击显示大图的功能测试 ..................... 31
5结论 .................................................. 32 参考文献: ............................................... 33 致谢 .................................................... 35
基于Android平台的学生社交网络系统设计与实现
基于 Android 平台的学生社交网络系统设计与实现
(淮南师范学院计算机学院)
摘 要:随着移动网络技术的推进,风靡全球的社交网络也开始向移动化和简洁
化发展。该文探讨Android与社交网络系统的结合,采用JSP技术Android技术以及MySQL数据库管理,实现移动客户端对社交网络进行个人信息登录模块、状态发布模块、通讯功能模块、好友管理模块四大功能.系统以用户为中心,以简化、方便用户操作为目标。它可以拉近人们之间的距离,方便地表达的感情,加强好友之间的交流,及时发布信息,还可以很方便的与附近的人交友,最终帮助个人扩展人脉,丰富自己的社交. 本论文的学生社交网络系统采用了 Android 开源系统技术,利用 Java 语言和 Eclipse 编辑工具学生社交系统进行编写。同时给出了详细的系统设计过程、部分界面图及主要功能运行流程图,本文还对高度过程中遇到的问题和解决方法进行了详细的讨论.
关键词:Android平台,学生社交,网络系统
The student social network system based on Android platform
design and implementation
Student: TaoShaoHua (guide teacher: Chen Guanghong) (School of computer Science Huainan Normal University)
Abstract:Along with the advancement of mobile network technology, global
social network also began to move and clean development.Android and the combination of the social network system are dealt with in this paper, using the JSP technology, the Android technology and
0
基于Android平台的学生社交网络系统设计与实现
MySQL database management, realize the mobile client personal information on social network login module, control module, communication function module, friends by state four function module。System to the user as the center, to simplify, convenient user operation as the goal。It can reduce the distance between people, is convenient to express feelings, strengthen the communication between friends, timely release information, also can easily make friends with people around, finally help individuals to expand connections, enrich their own social。Student social network system of this paper used the Android open source system technology, using the Java language and Eclipse editor tool to write student social system。At the same time gives a detailed system design process, part of the interface diagram and main function operation flow chart, the article also, and problems encountered in the process of highly method is discussed in detail。
Keywords:Android platform, the student social, network system
1学生社交网络系统的概述
1。1 项目背景
本项目主要用于帮助解决学生社交的实际问题,属于是学校内的社交平台设计项
目,目的在于满足学生的切实需求,为方便学生的社交生活提出的。
在国内外有关于学生社交平台的项目开发和运营已经渐渐规模化,有相对成熟的开发机制。我们有经常使用的社交软件包括腾讯QQ、微信、陌陌等,但在关于校园内部学生的社交平台还是相对较少,缺乏一些只是对于学生之间各方面信息的沟
1
基于Android平台的学生社交网络系统设计与实现
通交流的软件项目开发。所以我希望在 Android 端开发一个学生社交网络系统来推动学生之间的交流。总的来说是做一个加入聊天社交等多方面功能的安卓平台的学生社交网络系统。
1。2 项目开发目的和意义
SNS,即社交网络服务(Social Networking Service),包括了社交软件和社交网站,也指网络中社交现有已普及的社交信息交流载体,如短信message服, 总的来说,我们的项目开发的意义是在于对校园学生的社交平台开发的初次尝试,而且旨在真正的能够帮助同学们,给同学提供一些聊天社交的便利,同时也加强了学生之间的互动交流、沟通与了解。 1.3 本文主要工作内容
根据毕业设计的要求,与指导老师深刻讨论之后,我将毕业设计的选题定为基于 Android 系统的学生社交平台的设计与实现,旨在为同学在生活中带来一些便利,将这个社交平台真正的融入同学们的日常生活之中。具体来说我要在项目中完成如下几个模块:
1)个人信息登录模块:为第一次使用本系统的客户提供注册服务,让已经注册的用户通过自己的账号和密码来登陆系统.
2)动态发布模块:在该模块中可以发布状态、翻阅所有已经发布了的状态,对好友发布了的动态进行点赞评论,并且把你点赞评论的消息发送给对方,给对方反馈信息请。并且为了要提升人工智能,加入了向下拉即可刷新的功能,用户下拉之后可以刷新好友最新的动态;除此之外,还加入放大图片的功能,将好友动态中的图片点击后即可将图片放大显示。
3)通讯功能模块:可以和自己的同学或者添加的好友进行聊天沟通,交流信息。 4)好友管理模块:在该模块中可以由动态发布情况以及你自己的喜好,有添加好友、
2
基于Android平台的学生社交网络系统设计与实现
删除好友、修改好友备注等功能,并且可以根据你的实际需求把好友分组,这样可以对组内的好友进行添加、删除、修改等操作。
2学生社交网络系统需求分析与总体设计
2.1社交系统需求分析
该社交平台目标为学生提供社交的服务。具体来说,要在项目中完成以下功能模块:社交的模块、通讯的功能模块。要完成以上模块,需要在 android 前台组建用户的服务系统,还需要在后台组建一个服务器,在这一模块中用户能够向服务器发送请求,并且获得从服务器发回的数据;此服务器主要是完成前台请求,并且读写数据库,返回前台所需的数据;最后还需一个负责推送的服务器,专门负责发送聊天、点赞以及评论的推送信息。 2.1.1 功能模块
1、用户登录模块:完成用户信息注册,修改个人信息,登录等等基本功能.该模块用
例图如下图 1 所示.
图 1 用户登录模块用例图
2、动态发布模块:在该模块中可以进行动态发布,对动态进行点赞、评论,并且针对评论也可以进行恢复.在这模块中刚点击进入页面只显示部分动态,只有读到最后才可以刷新出更多之前的动态,并且在下拉的时候刷新动态。该模块用例图如下图 2 所示。
3
基于Android平台的学生社交网络系统设计与实现
图 2 社交模块用例图
3、好友管理模块:在社交功能中如果在交互过程中找到有相同爱好或者同学,就可以添加对方为好友。每个用户可以管理自己的好友列表,并且可以新建组的群组,将好友添加已设定的分组中,也可以对分组进行查询、添加、删除等操作。该模块用例图如下图 2-3 所示。
图 3 好友模块用例图
2.1.2 社交系统非功能性的需求
1)性能:保证用户登录的安全性,以及快速追回被盗账户.
2)代码可读性:拥有完整的代码与必要注释,以及数据存储。 3)良好用户体验:保证在Android平台的可操作性。
4
基于Android平台的学生社交网络系统设计与实现
2。2 社交平台总体设计 2.2.1 系统功能模型方案
这个系统是由一个 Android 手机前端界面显示以及一个 Web 服务器后端的处理组成,因此系统的功能的结构功能如下图 4 所示。
图4 系统功能模型
并且由此可以得到数据流向分析:
1、前台和用户交互界面得到用户的请求与操作,进行人机的交互。
2、前台处理分析将所需数据通过 Http和数据库向后台 Web 服务器进行请求. 3、后台 Web 服务器将所得到的信息处理结果后返还给前台。 4、前台将用户所需信息展示给用户.
2。2.2 前台客户端与后台服务器架构体系
后台服务器端会使用 Java 来实现 Web 服务器,具体而言项目在后台上应该会利用 MVC 架构模式,采用 serlvet 来进行开发。在 Model 层中实现与数据库信息交互的相关任务,并且完成数据存取、修改的业务模块设计。架构模式如下图5所
5
基于Android平台的学生社交网络系统设计与实现
示。
图 5 后台架构图
2.2.3 系统总体功能结构设计
学生社交网络系统总体的功能结构图如图 6 所示。
图 6 系统结构图
3学生社交网络系统的详细设计
本章主要介绍了学生社交平台类图的详细设计,介绍项目所涉及的数据库源表的详细设计以及部分文件处理平台中主要功能的详细设计,如:好友模块的功能、动
6
基于Android平台的学生社交网络系统设计与实现
态发布模块功能、消息推送功能、即时通讯功能等的详细设计思想。 3.1 社交系统类图详细的设计
图 7 系统类图
1)User 类:User 类是使用本系统的用户的实体类。具体包含的属性值如下:用户 id、注册 email、用户名 name、用户头像 pics以及用户的一些基本资料:性别 sex、居住地 hometown、生日 birthday。User 类如图 8 所示。
图8 User类
2)Relationship 类:Relationship 类是实现好友关系一个是实体类。主要属 性值有用户 uid、我关注的列表 concernlist、关注我的列表 followlist、以及黑
7
基于Android平台的学生社交网络系统设计与实现
名单 blacklist(具体实现的时候是使用的 json 数据格式)。Relationship 类如图9所示。
图 9 Relationship 类
3)Message 类:Message 类是实现状态发布、点赞、评论功能的实体类。主要属性值有发表状态的用户 uid、状态 mid、发布时间 time、版本序列号 seq、
发布内容 content 及点赞列表 likedlist 和评论列表 commentlist。Message 类如图 10 所示.
图 10 Message 类
4)Comment 类:Comment 类是评论消息实体类,,主要属性有评论 cid、评论人 uid、评论消息 mid、评论内容 content 及评论时间 time。Comment 类如图 11 所示.
图 11 Comment 类
7)DBController 类:主要属性 mongog,属于建立 mongodb 数据库的基本类,db(DB 类型)是 mongodb 里建立的数据库、负责在 java 中操作数据库,其余的属性是与数
8
基于Android平台的学生社交网络系统设计与实现
据库建立连接的用户名、密码和具体的数据的库名.主要方法是实现数据查询的基本的方法.DBController 类如图 12 所示.
图 12 DBController 类
8)MemController 类:MemController 类是实现数据缓存调用和存储的一个 控制类。由于要与移动端前台进行交互,所以为了提高网络访问数据传输的 速度,使用了缓存机制。基本原理就是前台请求的时候,后台数据传输应该是 先现在缓存中寻找数据,如果找不到再到后台数据库中查找。主要属性有 mcc: MeCached 服务客户端 MemCachedClient 和 pool:SockIO 池化管理,为上层提供的接口类 SocketIOPool 类.MemController 类如图 13 所示。
图 13 MemController 类
9)MemWorker 类:MemWork 类是调用 MemController 里基本方法实现对于用户和信息数据缓存的设置和读取的基本类.MemWorker 类如图14所示.
图 14 MemWorker 类
10)OpenfireConnector 类:主要属性有 openfire 服务器的配置路径 confpath,
9
基于Android平台的学生社交网络系统设计与实现
openfire 服务器信息 ip、port 和主机名 hostname,openfire 管理员账号信息等。主要方法是建立和 Openfire 服务器的连接。OpenfireConnector 类如图 15所示.
图 15 OpenfireConnector 类
11)TipsPusher 类:TipsPusher 类主要是通过 Openfire 服务器实现对消息发 布、点赞以及评论等功能的推送以及对聊天信息的推送.TipsPusher 类如图 16 所示。
图 16TipsPusher 类
12)UserSimpleLogic 类:UserSimpleLogic 类是实现用户登录、注册、用户 基本信息维护和储存的用户业务逻辑类。其中主要的方法如下:login 方法实现登录功能,register 方法实现注册功能,createcreateRelationship 方法为新注册的用户建立好友列表,createTimeline 方法为新注册的用户建立用户的状态序号列表,createUid 方法创建标识用户身份唯一的 uid,最后两个方法实现用户信息的查询和更新。UserSimpleLogic 类如图 17 所示.
10
基于Android平台的学生社交网络系统设计与实现
图 17 UserSimpleLogic 类
13)RelationshipLogic 类:RelationshipLogic 类是实现好友管理和信息储存。RelationshipLogic 类如图18 所示。
图 18 RelionshipLogic 类
14)Messagelogic 类:Messagelogic 类是实现动态发布、点赞等各项动态管理的逻辑类。前面 4 个方法分别实现点赞和取消点赞、评论与回复、动态的发布的功能,接下来的两个方法是要实现将新动态加入到自己的 Timeline 中,最后4个方法实现 Timeline、动态、点赞信息和评论信息的读取。Messagelogic 类如图 19 所示。
图 19 Messagelogic 类
15)ChatModel 类:ChatModel 类是实现好友私信的业务逻辑类。主要包括发送消息聊天、查看聊天记录以及接收聊天推送消息等功能.ChatModel 类如图 20 所示。
11
基于Android平台的学生社交网络系统设计与实现
图20 ChatModel 类
18)ChatDB 类:这个是用来在本地存储聊天信息的 sqlite 数据库类,在该类中主要是有储存聊天信息的方法 saveChatmsg(),读取聊天信息的方法getChatmsg()以及得到信息的条目数方法 getNewCount()。ChatDB 类如图 21所示。
图 21 ChatDB 类
3。2 社交系统数据库设计
由于要实现的是学生社交网络类的项目,要应对 SNS 项目的大规模和并发性,传统的关系型数据库难以处理这些问题,所有这次项目后台选用的数据库是非关系型数据库, Mongodb项目数据库整体的 ER 图如图 22 所示。
图 22 数据库 ER 图
1)User 表:用于存储用户 id 和用户信息,具体如下:
12
基于Android平台的学生社交网络系统设计与实现
uid int 唯一标识用户 id,是一个自增的序号 seq int 标识当前客户端或是服务端的版本号 email String 注册使用的邮箱 password String 密码
name String 在系统中使用的用户名 sex String 性别 birthday String 生日 pics String 头像的名称
2)Relationship 表:用于用户的好友关系,具体如下: uid int 唯一标识用户 id,是一个自增的序号
concernlist bjsonArray 包含好友分组和具体分组中的 uidlist followlist bjsonArray 关注我的人列表 3)Things 表:用于存储失物信息,具体如下:
uid int 唯一标识用户 id,是一个自增的序号,标识发布失物信息的用户 tids int 唯一标识失物 id,是一个自增的序号 name String 失物名称 time String 发表时间 pics String 失物图片
description String 相关描述
4)ThingsLine 表:用于 Things 列表 id 的存储,方便返回前台数据,具体表uid int 唯一标识用户 id,是一个自增的序号 List bjsonArray tid 列表
seq int 标识当前客户端或是服务端的版本号
13
: 基于Android平台的学生社交网络系统设计与实现
5)Event 表:用于存储用户日程安排,具体如下: uid int 唯一标识用户 id,是一个自增的序号
eid String 唯一标识事件 id,是一个根据 uid 和日期生成的序号 place String 事件发生地点 time String 事件发生时间 description String 事件描述 reminds int 提前提醒时间
6)TimeLine 表:用于存储用户发的消息列表,具体如下: uid int 唯一标识用户 id,是一个自增的序号 list bjsonArray 存储发了的消息的 mid 列表等 7)Message 表:用于存储状态一些基本信息,具体如下: uid int 唯一标识用户 id,是一个自增的序号 mid int 标识消息的 id,是一个自增的序号 likedlist bjsonArray 赞列表 time String 发表时间
pics bjsonArray 发布的图片名称列表,图片自动生成 8)Comment 表:用于存储动态态的评论,具体如下: cid int 标识评论的 id,是一个自增的序号 seq int 标识当前客户端或是服务端的版本号 mid int 消息的 mid list bjsonArray 评论列表
9)EventLine 表:用于 Event 列表 id 的存储,具体如下: uid int 唯一标识用户 id,是一个自增的序号
14
基于Android平台的学生社交网络系统设计与实现
list bjsonArray eid 列表
seq int 标识当前客户端或是服务端的版本号 10)ChatMessage 表:用于存储聊天消息,具体如下: uid int 唯一标识用户 id,是一个自增的序号 cmid int 唯一标识聊天 id,是一个自增的序号 uids int 聊天对象的 uid content String 聊天内容 3。3 社交系统后台实现部分功能
学生社交网络系统的后台设计的基本思想是:等待前台发送请求到服务端后台,然后服务器通过 Servlet 接收前台请求,然后在后台完成处理,并将响应再次通过 Servlet 发送到客户端.后台信息处理运用的新技术采用了Memcached 缓存的使用、Openfire 服务器以及 Connection Manager:作为 Openfire服务器的拓展架构。所以在这里详细介绍一下。 3.3。1 Memcached 缓存
大家都知道,缓存数据要比直接访问数据库来获得数据要迅速。而在网络数据传输中速度更是一个应该讲用户体验放在首位。因而在这次的后台设计中加入缓存数据,提高数据读取速度。 作为分布式缓存系统 Memcached 具有如下特点:
1)协议简单,方便实用;
2)降低数据库负载 ,加大数据读取率; 3)不互相通信的分布式,信息彼此不可见性; 4)基于 libevent 的事件处理,快速处理反应. 3.3.2 Openfire 和 Connection manager
由于我们要实现动态发布、评论、点赞以及聊天等功能,因而我们要使用
15
基于Android平台的学生社交网络系统设计与实现
Openfire 服务器就是来实现这个功能的。
我们为了处理更多的并发用户需求的连接,引入 Openfire Connection Manager。Openfire Connection Manager 是 Openfire 服务器的扩展,它可以透明的处理大规模并发 XMPP 客户端对 Openfire 服务器的连接.根据 Connection Manager 主页介绍,每个 Connection Manager 可以处理至少五千个并发用户。Openfire 服务器可以连接一个或多个 Connection Manager .每个 Connection Manager 可 以 处 理 一 个 或 多 个 支 持 XMPP 的 客 户 端 。 为 Openfire 配置 Connection Manager 后,支持 XMPP 的客户端仅需要连接 Connection Manager ,由 Connection Manager 负责管理对来自 XMPP 客户端对 Openfire 服务器的连接。这样就可以很好的解决并发用户的问题,当并发量足够大的时候可以通过增加 Connection Manager 的数量得以实现。
4学生社交网络系统实现与测试
本章介绍学生社交网络系统的相关开发环境、完成系统关键处的难点实现及主要功能的实现。重要的在于最后一项工作,实现主要功能,它含有登录、好友管理,状态发布、即时通讯、四个内容。下面就对这些工作逐一介绍。 4。1 系统开发环境和开发工具 4.1.1 开发语言
依据要开发的平台以及需要来定开发的语言如下:
1)应用 Java 语言开发的eclipse开发环境是后台 Web 服务器.
2)前台是 Android 平台,及手机客户端或其他Android系统载体,使用 Java 和 Xml 配合使用。
3)多个数据库语言以及数据库包含的数据结构及数据用于修改数、查询和储存数据. 4。1.2 开发工具
16
基于Android平台的学生社交网络系统设计与实现
依据需要和实现需要来定开发的工具如下: 1)集成开发环境 eclipse(JavaEE 版) 2)mongodb 数据库
3)openfire 消息推送和传递服务器软件 4)存储 openfire 推送消息的 mysql 数据库 5)Tomcat 服务器软件 4。1。3 开发环境
1)电脑:内存 4G,内有Windows10 操作系统的电脑一台 2)Web 服务器:tomcat7.0
3)Android4。0 以上版本系统手机 4 部 5)推送服务器:openfire 推送服务器 4.2 系统数据获得与更新界面的实现 4。2。1 Json 数据格式的封装和解析
1)json 数据格式简介:json 为轻量级的数据交换格式,其语法规则的书写格式为:名称/值对。类似于 Map 中的键值对,可以很方便地配合 Mongodb 进行数据存储,也便于进行数据封装和解析。json 值对的数据类型可以是我们熟悉的数据类型,如 int,float,double,bool,string,也可以是对象,数组(包 括 json 格式的数组),甚至也可以就是一个 json 格式。
2)json 格式封装:如下图 23 所示例子的 json 格式,。
图 23 json 格式封装
3)json 格式的解析:对于一个复杂的 json 格式解析,如下图24 中,存在 json 包里有一个 json 数据,而我们所需的是这个新的 json 数据里的名称为
17
基于Android平台的学生社交网络系统设计与实现
concernlist 的 jsonarray。
图 24 json 格式解析
4.2。2 异步刷新 UI 界面
通过json数据格式从后台读取数据,时常是需要更新前台的UI界面的.而在 Android3。0 以后 UI 界面的加载必须在 UI 线程中实现,而对于进行的网络传输工作则不能够在 UI 线程中传输,需要单独开线程工作,这里就用到 Handler机制来处理程序。我们要用 Handler 来更新 UI 界面,而网络传输则会反馈给我们应该怎样更新 UI 界面,这时只需要在 Thread 线程中处理网络传输,Thread 线程发出 Handler 消息,通知更新 UI,然后 Handler 来根据 Handler 消息来更新UI 界面。比如说添加一个好友,添加成功后就会从后台中返回现在的好友相关信息的数据,然后此时 Handler 来根据 Thread 中反馈回的数据消息来加载新的好友 UI 界面. 4.3 登录模块的实现与测试
应用程序启动后,首先显示的是登录界面,在登录界面输入账号和密码,点击“登录”按钮连接服务器进行登录.如果用户还没有注册,点击“注册\"进入注册界面,在注册界面填写好注册信息,点击“注册”按钮连接服务器进行注册。注册成功或者登录成功后,用户可以进入个人中心,个人中心包含了用户可以使用的功能和服务。在个人中心界面按下手机屏幕上的“菜单”按钮后,可弹出“搜索”和“退出”两个选项菜单。具体的测试用例如下图25所示。
18
基于Android平台的学生社交网络系统设计与实现
图25用户登录测试用例
图 26,图 27 所展示的是登录界面和注册界面。其中在登录界面的时候如 果没有用户名就要可以点击注册账号,进入注册账号页面,在注册成功的时候 会将用户名和密码写入 openfire 服务器的普通用户注册信息;如果拥有账号就可以输入在注册和登录的时候都要检验邮箱格式是否正确,而在登录的时候如果用户名和密码正确则直接登录成功,如果错误则会提示信息在登录成功的同时也要自动登录 openfire 服务器进行实时接受信息和登录验证,看是否有到达的推送信息。
19
基于Android平台的学生社交网络系统设计与实现
图 26登录界面
20
基于Android平台的学生社交网络系统设计与实现
图27 注册界面
4.4 好友模块的实现与测试
RelationshipLogic,主要是实现好友的添加、删除、查询,好友分组的添加、修改、删除等以及将好友加入对应的好友分组等功能。即将前台将数据传递到后台服务器,然后在 RelationshipLogic 类中实现与数据库或缓存进行交互,读取数据,并且返回将信息推送到前台。由于功能相似,这里以添加好友到固定分组和查询好友为例,在好友添加界面中首先选择需要添加的好友的 uid,然后将其添加到指定分组,选择分组的时候实现了触摸滑屏的人机效果,设计了一个比较好的用户体验.将自己和要添加的好友的 uid 和分组信息封装成一个 json 包传递到后台,后台接收到json 包之后将其解析并且调用 RelationshipLogic 类中的
21
基于Android平台的学生社交网络系统设计与实现
concernUserInGroups 方法处理数据,然后在数据库中加入数据,上述操作完成之后返回成功标识然后更新前台的好友数据.具体流程如下图 28 所示。
图28 好友添加查询流程图
22
基于Android平台的学生社交网络系统设计与实现
图29 测试用例---—添加好友分组
图 30、图 31 为好友管理界面。其中图30 所示的图是现在添加了的所有的好友信息、备注消息、分组信息。右上角的管理点击进入可以进行好友的添加,分组管理以及将好友添加到固定分组等,点击进入好友列表后,可对好友进行详细信息查询或者删除等功能。图38 是选择了好友分组中一个分组并且输入了要添加用户的 uid 之后添加的好友截图,从图中可以看出将好友添加到固定分组的例子测试成功。
图 30 展示界面:好友管理
23
基于Android平台的学生社交网络系统设计与实现
图 31 界面为:添加好友到固定分组
4.5 即时通讯模块的实现与测试
在通讯录界面中点击任意好友即可跳转到对该好友的私信界面,前台的ChaModel 类会负责处理私信功能。会涉及到功能有发送私信和查看聊天记录。当进入到私信界面时,会立即在前台 OpenfireConnector 类中通过 openfire 服务器建立对该好友聊天的一对一的长连接,直到退出私信界面前长连接一直保持来处理聊天信息的接收转发,然后在主界面重新建立连接,负责接收后台来的
点赞、评论和聊天的消息推送;当发送聊天信息时,前台的活动类写一个sendMessage 方法会调用 TipPusher 类的 sendMessage 方法进行消息的推送,同时前台 sqlite 数据库录入聊天的双方用户以及聊天信息。下图 32所示为即时通讯模块流程。
24
基于Android平台的学生社交网络系统设计与实现
图 32 通讯聊天流程图
正确进行即时通讯与否的测试,图33 作为测试举例。
图33即时通讯测试用例
25
基于Android平台的学生社交网络系统设计与实现
图 34、图 35 为即时通讯界面。聊天通讯功能的实现。
图34 好友私信界面
26
基于Android平台的学生社交网络系统设计与实现
图 35 发送私信
4。6 状态发布模块的实现与测试
状态发布模块是本系统中最为重要的模块,他会体现出四种主要功能1)首先我们可以发布新的动态; 2)其次可以读取所有动态列表;
3)然后还可以在状态列表中选择动态进行点赞或评论; 4)最后该还提供了显示大图的功能; 具体流程如下图 36 所示:
27
:
基于Android平台的学生社交网络系统设计与实现
图 36 消息评论
状态显示的流程图
4.6。1 发布动态的功能测试 发布动态的功能,图37 测试举例.
图37 发布状态测试用例
28
基于Android平台的学生社交网络系统设计与实现
动态发布界面如下图 38 所示。点发送自动转到主界面。
图 38 状态发布界面
4.6.2 点赞、评论的功能测试
该功能是针对自己想要对看到的动态发表一下自己好恶或者的看法,测试用 例如表39 所示。
表 39 点赞评论举例
消息评论结果如下图 40 所示。可以在获取的消息评论的结果中看出我们成功地进
29
基于Android平台的学生社交网络系统设计与实现
行了评论,并且也给被评论的好友进行了消息推送.
图 40 状态评论结果显示
4.6。3 下拉刷新的功能测试
该功能是根据用户的需求,因为要在当前读取状态的界面中直接获取状态列 表,所以要实时刷新出一个最新的状态列表,测试用例如表 41 所示。
30
基于Android平台的学生社交网络系统设计与实现
表 41 下拉刷新测试用例
4.6。4 获取消息推送的功能测试
该功能是要实现能够获取别人发送给你的点赞、评论或是即时通讯的信息, 测试用例如图42 所示.
图 42 举例获取消息推送
4。6.5 点击显示大图的功能测试
点击图片,图片变大的功能,表 43 举例说明。
表 43 点击 图形变大
显示大图如下图 44 所示。成功显示大图。
31
基于Android平台的学生社交网络系统设计与实现
图 44 显示大图
5结论
本系统从需求分析,到设计和编码测试,总共经历了 5个月的时间,期间进行了多次的需求方面的修改。 经过学习和自己的项目编程,实现了个人信息登录模块、状态发布模块、好友管理、即时通讯这四大部分的全部预期功能。在功能方面较好完成。整个系统完全依据 MVC 模式开发,经过对类和各种方法的设计,给编程人员能一目了然的看出各个类的作用。而且系统在高内聚,低耦合方面也实现的较好. 整个系统的代码量不算太大,大约 23000 行左右,但是,在实现系统的过程中,学习了诸如 mongodb、Memcached、Fragment 等前后台一系列新的知识与技术.并且为了实现良好的用户体验,在前台界面优化和一些 android 开发的效果上进行了大量的编码工作.最终系统做了大量的 Android 效果的实现,比如说分屏显示模块、下拉刷新、显示大图等等,获得相当不错的用户体验。
32
基于Android平台的学生社交网络系统设计与实现
在整个系统中,最核心的部分是如何实现状态发布模块的消息推送,如何能够及时的和用户进行交互.在这里我们最终使用 openfire 服务器作为代理服务器,在登录系统的时候连接 openfire 服务器,并且设立对消息获取的监听器,当获得消息时及时取得消息,并且通过 Handler 来及时更新前台界面完成了消息推送. 但是,由于时间的关系和知识技术方面的原因,部分功能没能实现,尤其是离线消息的推送问题.在今后开发项目的时候应该注意。
参考文献:
[1]Wei-min H。android基于XMPP即时通讯系统的设计协议[J]。电子设计工程,2011,8:2011. [2]气,Ketao;胡锦涛道;张Shensheng。Web应用程序开发模式基于Java和XML的研究[J]。
Jisuanji Gongcheng /计算机工程,2002年,28(1)
[3]Chodorow K。MongoDB:权威指南[M]。“O ’ reilly Media,Inc .)”,2013年。 [4]Gobal,哈里。安全的Web表单和struts扩展[J].象博士的杂志,2009年,29(11):26 - 32 [5]Peng Dunlu、曹Lidong,徐,蕴结.使用JSON数据交换web服务应用程序[J]。《计算
机信息系统,
2011年,7(16):5883 - 5890
[6]特雷西,苹果iOS和移动应用程序开发经验Android操作系统[J]。IEEE势,2012,31(4):
34
[7]刘贵,基于安卓系统的校园社交平台的设计与实现,吉林,吉林大学硕士学位论文,2015。 [8] Leo. Android practical application and development [M]。 Beijing: tsinghua university press, 2012。
[9] Cui Yang。 MySQL database applications from entry to master [M]。 Beijing: China
railway publishing house, 2013。
[10] 31 silberschatz, wang shan。 Introduction to database system [M]。 Beijing:
33
基于Android平台的学生社交网络系统设计与实现
higher education press, 2000。
[11] in super c. Web development [M]. Beijing: electronic industry press, 2004。 [12] zhi-hong guo. Android application development explanation [M]. Beijing:
electronic industry press, 2010。
[13] rise to fly with the remote video monitoring of the research and implementation
of security system [D]。 Chongqing: chongqing university, 2012。
[14] liu chuang, research and implementation of video monitoring system based on
ARM [D]。 Shenyang: shenyang university of technology master’s degree thesis, 2010.
[15] OuYangKun Han Yingzheng, the construction of a remote control system based on
embedded Web server [J]。 Journal of intelligence development of science and technology and economy, 2011。
34
基于Android平台的学生社交网络系统设计与实现
致谢
衷心感谢我的导师陈广宏副教授对本人的耐心指导,一方面在论文的文档格式和内容方面给我了很大的帮助,另一方面也给我的毕业设计进行认真的指点,让我学到了很多东西。感谢软件学院的老师两年来对我细心的指导,你们认真细致的教学,让我学会了很多。感谢同学们对我的热情帮助,感谢父母这多年来对我的照顾,让我现在能够一步步成长,我能走到现在和你们的理解信任、关怀照顾是分不开的.
35
因篇幅问题不能全部显示,请点此查看更多更全内容