基于Android和LBS的社交APP设计与实现
2021-11-22
来源:爱问旅游网
第41卷第1期 测绘与空间地理信息 V01.41.No.1 2018年1月 GEOMATICS&SPATIAL lNFoRMATIoN TECHNOLOGY lan.,2018 基于Android和LBS的社交APP设计与实现 梁晨霞 ' ,王艳慧 ' ' (1.首都师范大学资源环境与地理信息系统北京市重点实验室,北京100048; 2.首都师范大学三维信息获取与应用教育部重点实验室,北京100048; 3.首部师范大学城市环境过程与数字模拟国家重点实验室培育基地,北京100048) 摘要:LBS与SNS结合是目前GIS发展的热点方向,但国内多数社交平台提供的LBS服务大同小异,且基于地 理位置的服务极少,未能实现预期效果。因此,本文针对大型手机应用LBS功能数量有限、创新力不足、小型手 机应用市场占有率低等缺陷进行优化改进,设计一款基于Android平台的,集现有LBS功能于一体并具有线下交 友、好友推送等新功能的更加富有个性化的小型社交APP,并利用原型进行实现。 关键词:LBS;SNS;Android;社交APP;设计;实现 中图分类号:P208 文献标识码:A 文章编号:1672—5867(2018)01—0030—04 Design and Implication of Social APP Based on Android and LBS HANG Chenxia , 一.WANG Yanhui ' ' (1.Beijing Key Laboratory of Resource Environment and Geographic Information System,Capital Normal University, Beijing 100048,China;2.Key Laboratory of 3D Information Acquisition and Application,Miinstyr of Education, Capital Normal University,Beijing 100048,China;3.State Key Laboratory Incubation Base of Urban Environmental Processes and Digital Simulation,Capital Normal University,Beijing 100048,China) Abstract:The bind of LBS and SNS is a hot direction of the development of GIS.However,the similar LBS seiTices most domestic platforms provide and the less location—based services failed to achieve the desired effect.Therefore,this paper aims at the weakness that the limited quantity of LBS functions and the insuffieient of creativity of large mobile applications and the low market share of small mobile applications.Then design a more personalized small social APP which sets the existing LBS functions at a suit and has other new functions like oflfine dating and friends pushing based on Android.And use the prototype to achieve the implication. Key words:LBS;SNS;Android;socila APP;design;implication 0 引 言 应用才有竞争力和市场。在此背景下,本文通过对现有 LBS功能进行归纳汇总,找出其不足并进行创新,设计并 美国社交服务网站Foursquare的出现,启发了国内 实现了一款更加新颖和富有个性化的小型社交APP。 Social Networking Services(SNS)网站增加基于地理位置服 务的功能 。新浪微博、微信、陌陌等基于地理位置的 1 基于Android和LBS的社交APP需求 SNS网站不断涌现,为用户社交提供了新思路和新方法。 分析 但层出不穷的APP应用提供的Location Based Services 国内众多的社交APP应用例如新浪微博、微信、陌陌 (LBS)功能大都只涉及签到、附近的人及群组等功能,独 等,提供了诸如签到、附近的人和群组等一系列基于地理 创性不足,并且提供的位置大都模糊,精度不够。用户基 位置的功能。本节以国内提供LBS服务的典型应用为研 本集中于国内大型的SNS平台,小型应用根本没有吸引 究对象,归纳汇总LBS在其中所涉及的功能,通过分析和 用户的优势。只有以用户需求为出发点,不断创新,小型 对比,找出存在的问题,并对所设计的小型社交APP进行 收稿日期:2017—02—27 基金项目:国家自然科学基金(40701147);北京市自然科学基金(8132018)资助 作者简介:梁晨霞(1993一),女,河北石家庄人,地图制图学与地理信息工程专业硕士研究生,主要研究方向为GIS方法与应用。 通讯作者:王艳慧(1977一),女,河南驻马店人,副教授,博士,2005年毕业于中国矿业大学(北京)地图学与地理信息系统专业,主要 从事GIS方法与应用研究工作。 第1期 需求分析。 梁晨霞等:基于Android和LBS的社交APP设计与实现 31 1.1 国内LBS的社交APP现状分析 表1将国内典型社交APP的异同点进行对比。通过 归纳和分析,发现国内应用提供的服务大致相似,大都局 限于签到和查看附近的人和群组等,软件特有的功能很 少,独创性远远不够,小型SNS平台在此背景下更加缺乏 2)地图模块:地图容器,用来存放地图,显示用户的 当前位置及其他搜索结果。 3)定位模块:对用户的当前位置定位,可以显示固定 地点位置,也可对移动中的用户进行跟踪定位。 4)签到模块:用户到达某一地点,可以通过签到模块 上传当前地理位置,也可在上传地理位置的同时发表此 时感受并配以图片,同时也支持对历史签到地点以地图 竞争力。因此,小型应用要实现市场占有不仅要综合现 有的功能,更要具有独创的功能。 表1异同点 Tab.1 Similarities and differences 服务应用 新浪微博微信陌陌遇见腾讯QQ 1.2系统需求分析 根据LBS功能发展现状和用户需求,本系统可以设 计并实现以下功能。首先,可将现有LBS的定位、签到、 附近的人、摇一摇等典型功能集于一体。其次,由于大多 应用在提供有关附近的人和群组服务时,位置是模糊定 位,为实现精确化,可以在模糊定位的基础上实现精确定 位,并以列表和地图可视化两种模式显示附近用户。同 时,提供线下交友功能,运用路线导航为用户线下寻找好 友提供便利和技术支持。系统还可提供好友推送服务, 这样可利于实际距离靠近的用户彼此分享心情并在现实 中结识。 1.3系统模块结构设计 该APP客户端主要有3个大模块,其中功能模块中 又包含7个小模块,如图1所示。 图1系统模块结构设计 Fig.1 System module design 1)注册登录:未注册用户,根据要求输入基本信息 (用户名、昵称、头像、生日、密码等)进行注册,已注册用 户直接输入用户名和密码登录。 可视化的形式进行查看。 5)附近的人:以一定缓冲距离对用户的附近用户进 行搜索,该模块以列表和地图可视化两种形式显示搜索 结果,以列表形式显示同时返回其他用户距该用户的具 体距离。 6)摇一摇:用户摇晃手机,搜索在同一时段内摇晃手 机的其他用户,并返回两用户之间的距离。 7)路线导航:当用户对其他用户分享的地点感兴趣 或对某一用户感兴趣希望去该地点时,该模块可以对两 地点进行路线导航,告知用户怎样到达。 8)好友推送:用户可选择是否打开好友推荐选项,若 打开,用户签到后,当有距离该地点100 m范围内的其他 用户时,系统将会自动推送给该用户。 2 APP关键技术实现方法 2.1服务器端构建 本系统采用Client/Server三层体系结构。三层体系 结构是对两层体系结构的扩展,即在客户机和服务器之 间增加了一个中间层即Web服务层,形成用户界面表示 层、功能层和数据层三部分 J。C/S三层体系结构,是将 客户端与数据库使用功能层进行连接,中间层Web服务 器接受客户端的请求,寻找相应的数据库和处理程序,数 据处理器将结果返回给客户端 。服务器中主要用来存 储用户的基本信息,用户登录系统后填写个人信息进行 注册,信息则存储服务器的数据库中。 数据库采用MySQL数据库。数据库中包括用户基本 信息表User、用户签到表Checkln。用户表中包括用户编 号、用户名、昵称、密码等字段,签到表中包括用户编号、 用户名、呢称、经度、纬度、签到时间等(表2、表3)。通过 JDBC建立客户端与数据库之间的交互平台,JDBC API是 一个Java API,可以访问任何类型表列数据,特别是存储 在关系数据库中的数据。本文采用JDBC API完成对 MySQL数据库的访问,并实现存储和搜索功能。 表2用户基本信息(User) Tab.2 Basic information ofuser 32 测绘与空间地理信息 2018聋 表3用户签到表(Check—II1) Tab.3 Check—in sheet of user 2.2客户端设计 2.2.1界面 主要包括用户登录注册和用户浏览两个主要界面, 主界面运用的是相对布局RelativeLayout,相对布局中又 运用了线性布局LinearLayout。 2.2.2地图模块 该模块运用百度地图Android SDK来实现在移动设 备上的地图应用,通过调用地图SDK接口,用户可以访问 百度地图服务和数据,并实现基于百度的如定位等其他 功能 。 2.2.3好友推送 此模块根据用户需求选择开启或者关闭。当用户开 启该模块时,将以用户签到位置为圆心,100 m范围为缓 冲区,搜索在该区域内签到的其他用户。与附近的人搜 索类似,不同点在于缓冲距离较短,可更有效地结识附近 好友,且有自动推送功能。当有新的用户出现在此范围 内时,系统自动向用户发出提示,并将该用户显示在地 图上。 2.2.4路线导航 目前市场上的手机应用并未向线上用户提供线下交 友功能。为了使小型应用更有竞争力,富有个性化,本模 块为用户提供了线下交友的路线导航功能。如图2所示, 当用户对附近某一用户感兴趣并想见面时,可以向另一 用户发送请求。当该用户同意请求时,系统可根据两用 户签到所上传的经纬度坐标,调用路线规划,为用户提供 出行指引。根据该路线规划,用户可以在线下交友,实现 面对面的互动。 2.2.5附近的人 数据库中存放其他用户签到的经纬度数据,当该用 户点击附近的人时,系统在数据库中进行搜索,返回距该 用户2 km范围内的用户,列表或可视化显示。这里采用 矩形算法,为缩小搜索范围,可以先找到以该用户为圆 心,2 km为半径的圆的外接正方形,用生成的正方形4个 端点的经纬度在数据库中查询和四周经纬度匹配的数 据。对符合要求的点计算与用户之间的距离,筛选出距 离小于2 km的用户,排序后返回客户端,流程如图3 所示 图2路线导航流程图 Fig.2 Flowchart of route navigation 图3附近的人流程图 Fig.3 Flowchart of people nearby 2.2.6签到模块 首先用户将所在位置在百度地图上进行定位,An. droid定位SDK利用当前设备的GPS信息、基站信息和 WiFi信息进行定位,应用向百度定位服务请求位置信 息 。定位后,用户点击“签到”按钮,则主动将当前位置 的经纬度信息上传至服务器,保存在相应的数据库表中 insert id,latitude,longitude,time into checkin。数据库表中 包括用户的ID、经度和纬度信息等,用户签到成功后,界 面上显示“签到成功”。 2.2.7摇一摇模块 摇一摇即用户摇晃手机,通过计算找到在同一时段 触发该功能的用户,从而扩大交友范围,增加用户间的交 流,提高用户黏度 ]。Android SDK在移动设备中提供了 各种传感器的API,用户在摇晃手机时,地图SDK对其进 行定位并将其地理位置信息上传至服务端,同时获取其 他摇晃手机的用户,并根据两者经纬度计算距离,将搜索 到的用户标注在地图上。 第1期 梁晨霞等:基于Android和LBS的社交APP设汁与实现 建AVD。 33 3基于Android和LBS的社交APP实现 3.1 数据准备 百度地图Android SDK是一套基于Android 2.1及以 3.3客户端实现 本节利用原型对小型社交手机应用中的登录注册、 好友推送、路线导航、签到、附近的人等关键功能进行实 现,原型实现部分界面如图4至图6所示。图4为用户打 开应用后首先需要完成登录或者注册的界面,当用户希 望线下交友时,向目标用户发送见面请求。得到该用户 同意的回复后,系统给}n路线出行规划,如图5所示。用 户需要查看附近的用户时,点击附近的人。默认以地图可 视化的方式显示如图6所示。用户也可点击左上角“模 上设备的应用程序接口,通过调用地图SDK接口,访问百 度地网服务和数据 。冈此,开发者不必进行负责的数 据准备丁作。 3.2 系统开发语言及环境搭建 Android Studio是谷歌新推 的安卓开发环境,运行 速度快、智能化、虚拟机速度快,因此,本文将Android Stu— dio作为开发T具。Java语言运行效率高、能够跨平台且 是虚拟机的核心, 此,Java作为Android的开发浯言 。 开发环境搭建依次需要安装JDK、安装Android Studio、创 式切换”选择列表形式查看,且每个用户返回的是精确 距离 rL r}3 1J 1i4 5图4登录界面 Fig.4 Login interface 图5路线导航 Fig.5 Route navigation 图6附近的人可视化 Fig.6 Visualization of people nearby 4 结束语 本义设计并利用原型实现了一个集众多LBS功能于 一计[J].齐齐哈尔 1:程学院学报,2014,7(3):l5—17. 征大立,朱建钢,张侠,等.中国极地科学数据库系统管 理子系统的开发——以 层体系结构开发基丁Web的 体的小型手机应用,并添加了线下交友导航、好友推送 数据管理子系统[J].极地研究,2006,I8(3):222—223. 施连敏.盖之华.基于Android的 度地图应用的搭建 等新功能。用户可通过定位、签到、好友推送、路线导航、 附近的人等LBS功能享受社交活动,但在实现方法上还 [J].技术与市场,2014(12):34—35. 孟文超,张宁.基于Android平台移动导航定位的研究与 有待改进。比如用户的隐私问题,怎样保护用户的真实 身份信息;用户的安全性,在线下交友前如何筛选用户信 息,保证用户权利不受侵害,等等。社交与移动GIS的结 合,让用户的交友变得更加丰富多彩,以人为本、不断创 新,小型社交手机应用同样前景光明。 设计[J].单片机与嵌入式系统应用,2014(3):6l一64. 赵经纬.微信“摇一摇”中的社交营销新方法[J].通信 世界,20l5(6):13一l3. E海峰.基于Android技术校园信息平台客厂1端的研究 与设计[J].软件丁程师,2014(9):43—45. 参考文献: [I] 庸勇,张茹.探析基于位置服务的SNS网站新发展[J]. 电子商务,2010(12):33—33. 夏鑫.基r计算机软件开发的JAVA编程语言分析[J]. 科研,2015,6I(10):327—327. [编辑:刘莉鑫] [21 王卫华,1三长杰.基于B/S模式的多层网络体系结构没