基于Android的陌生人交友软件的设计与实现

 2022-01-17 11:01

论文总字数:22967字

目 录

1 绪论 1

1.1 Android简介 1

1.2 开发背景及现状 2

1.3 开发目的及意义 2

1.4 开发内容 3

1.5 开发环境及主要技术 3

1.5.1 开发环境 3

1.5.2 主要技术 3

1.5.3 主要算法 5

2 软件需求分析 6

2.1 功能需求 6

2.2 性能需求 7

2.3 可用性和可靠性需求 7

3 软件设计 7

3.1 总体设计 7

3.1.1 客户端总体设计 7

3.1.2 服务端总体设计 8

3.2 数据库设计 10

3.2.1 客户端数据库 10

3.2.2 服务端数据库 11

3.3 详细设计 12

3.3.1 用户注册登录模块 13

3.3.2 查找陌生人模块 15

3.3.3 解密游戏模块 17

3.3.4 聊天模块 18

3.3.5 联系人模块 19

3.3.6 随机用户模块 21

3.3.7 其它拓展功能模块 22

3.4 输入输出项 23

3.4.1 输入项 23

3.4.2 输出项 23

4 软件实现 24

4.1 服务端文件上传下载组件 24

4.2 聊天语音和聊天图片的实现 24

4.3 拼图游戏配置的存取 25

4.4 图片缓存机制的实现 27

4.5 位置信息的上传与附近的人列表的获取 28

4.6 Openfire通信原理 29

5 总结 30

参考文献 31

致谢 32

基于Android的陌生人交友软件的设计与实现

厉雨鑫

,China

Abstract:With the popularity of smart phones and the rapid development of 3G and 4G network, mobile social contact plays an important role in people's daily life. The most of Mobile social contact software are for acquaintances. So, Research and development of a stranger dating software is necessary. This paper discusses the research and development process of stranger dating software based on Android. You can find nearby strangers, and through the completion of the fun game to unlock the stranger. This software supports sending image and voice. The software promotes communication between strangers through interesting games.

Key words:Android;Openfire; Dating Software; Instant Messaging

1 绪论

随着手机技术的快速发展以及3G和4G网络的普及,移动优先成为了互联网的热门。社交软件领域作为互联网兴起时便很热门的领域,在移动时代以其快速、方便、快捷等优势备受人们青睐。

在这样的背景下,陌陌等社交软件层出不穷,但是并没有一款能很快拉近陌生人之间关系的社交软件。本文主要论述基于Android的陌生人交友软件,旨在通过有趣的互动增加陌生人的互动,使交友更易化。

论文重点研究Openfire开源服务端和Android开发技术,最终实现用户体验良好,互动方式有趣的交友软件。

1.1 Android简介

本节主要介绍Android的发展史、Android主要的技术架构以及Android的四大组件和功能。

google发布开源系统Android后,Android不断发展版本持续更新,到目前为止已经更新到了6.0版本以上。自从google推出Android系统以来,Android系统便利用自身的一些优势逐渐发展壮大,许许多多的资源都被Android阵营所吸纳,有越来越多的移动应用开发者投入到Android开发者的阵营,越来越多其它领域的开发者也投入到Android阵营,Android市场占有率却一直处于稳步攀升状态[1]。相较于IOS已经实现赶超。

Android平台与IOS和WP平台相比具有相当大的优势,Android的开源行动为它吸纳了更多的优质开发者,而这些开发者持续不断的提供优质app[2]。这样使得Android在很短的时间内打造良好的生态。而且,不同的厂商可以根据需求在Android的基础上作深度定制,满足不同用户的需求,但是,Android的这种完全开放的形式也导致其碎片化越来越严重,好消息是谷歌公司正在着手减少其碎片化。如果成功,将为Android系统的进一步发展带来很大的优势。

Android 是Google开发的基于Linux平台的开源手机操作系统[3]。其中操作系统搭配着用户界面和应用程序进行工作,由于其开源的性质,所以不会阻碍产业创新。Linux内核、应用程序层、应用程序框架层、核心类库是Android的架构[4]。以下内容是对四层架构的具体介绍:

  • 应用程序层:该层主要是运行在Android机上的应用程序,这些程序由开发者开发,并发布到Android市场,供用户下载使用。
  • 应用程序框架层:核心应用的框架,主要包括:活动管理器( Activity Manager)、内容提供器(Content Providers)、通知管理器 (Notification Manager)、资源管理器(Resource Manager)等,开发人员可以访问到。
  • 核心类库:可以在Android系统中被不同组件调用的类库(c/c 库)。可以为开发者提供服务,主要包括系统C库、媒体库等。
  • Linux内核:提供强大的内存管理和进程管理方案和经过认证的驱动模型等。

Android应用程序开发会使用四大组件中的一个或多个[5]

  • 活动(Activity):简单得来讲,一个Acticity就对应了一个页面,负责每一个页面生命周期的管理和界面显示。Activity之间通过意图Intent进行交互通信。Activity接收用户的输入。
  • 服务(Service):服务长期存在于后台为用户程序提供支持,在没有界面交互时作用巨大。
  • 广播接收器 (Broadcast Receiver):广播接收器也不具有用户界面,它是作为不同程序之间进行通信的重要组件。
  • 内容提供者 (Content Provider):内容提供者就是提供共享数据的,有时候某个应用程序要访问并使用另一个应用程序的数据,这时候就需要内容提供者在中间牵线搭桥以达到共享数据的目的,内容提供者也分为内置的和外置的,系统内置的数据有联系人、图片等数据。

1.2 开发背景及现状

Android系统是基于Linux进行开发的移动设备的操作系统,广泛在平板电脑和智能手机上进行使用,Android以开源的特点从而广受手机厂商的拥戴[6]。目前,Android平台正以其开放性、丰富的硬软件、方便开发等诸多优势受到广大开发者和用户的青睐。

数字化的信息时代,移动设备在网人数已经远远超过电脑端。基于移动端的社交也以其更便捷、更即时等特性而受到人们的青睐。国内外有很多优秀的即时聊天社交软件,而其互动性不足。因此,此课题旨在提高陌生人直接的互动性。从而使陌生人之间能够快速相互接纳 。达到很好的交友效果。

1.3 开发目的及意义

与市场上大家熟知常用的聊天软件不同,本软件的核心是快速建立陌生人之间的朋友关系,用户能够定位附近陌生人,并通过陌生人设置的趣味游戏解锁陌生人,然后添加好友。

本论文的研究意义:

移动社交领域出现了一个SoLoMo概念,其中So代表Social(社交),Lo代表Local(本地),Mo代表Mobile(移动)。基于这种概念的商业模式也开始涌现。

基于SoLoMo这种概念,设计了一款独具特色的陌生人之间的交友软件。通过解密游戏完成添加好友的模式更能促进陌生人直接的互动,从而使陌生人很快消除隔阂,使社交更易化。陌生人之前可以更容易发展成朋友关系。

1.4 开发内容

1) 基本聊天功能,好友间互发文字、语音、图片、表情等。

2) 查找陌生人,用户可以点击摇一摇或者摇动手机上传自己的定位信息,服务器通过定位信息查找附近的陌生人并反馈给用户,客户端将陌生人标记在地图上,用户可以查看陌生人的基本信息,如果想添加好友需完成特定的游戏。

3) 解密游戏,陌生人设置的拼图游戏,想要添加陌生人就必须在指定时间内完成指定难度的游戏。

4) 名片管理,用户可以维护自己的个人名片,编辑名片,同时好友之间可以互相查看名片。

1.5 开发环境及主要技术

本节介绍软件开发所需的硬件及软件环境,还有软件测试过程所需要的Android真机以及虚拟机。其次,还介绍了开发过程所需的技术,包括Openfire开源服务端、Android百度地图SDK、FileUpload上传组件等。本软件所用到的算法也在本节中做了详细的介绍。

1.5.1 开发环境

开发所需的软硬件环境如【表1.1】所示。

表1.1 及时聊天软件开发环境

硬件环境

处理器(CPU):Intel(R) Core(TM) i5-3210M @2.50GHz

内存(RAM):8.00GB

软件环境

操作系统

Win 10 旗舰版

开发工具

Eclipse集成ADT

测试环境

  1. 魅族mx4
  2. 华为荣耀7
  3. MI note(小米 note)

1.5.2 主要技术

1) Openfire

Openfire 采用Java开发,基于XMPP(Jabber)协议开源的实时协作(RTC)服务器,XMPP是一个发送接收处理消息的协议,这个协议发送的消息,既不是二进制的东西也不是字符串,而是XML。Openfire的消息处理流程是:socket接受数据,然后解析成Element对象,分析Element对象,然后分别路由处理。

剩余内容已隐藏,请支付后下载全文,论文总字数:22967字

相关图片展示:

您需要先支付 80元 才能查看全部内容!立即支付

该课题毕业论文、开题报告、外文翻译、程序设计、图纸设计等资料可联系客服协助查找;