基于Android的约伴-出行系统设计
扫描二维码
随时随地手机看文章
引 言
如今,人们的生活水平得到了大幅度提升,利用闲暇时间出去游玩、旅行的愿望和需求变得更加强烈[1],但有时却难以找到志同道合的旅伴。约伴 - 出行系统正是一款基于Android 操作系统为人们提供线上进行交互、线下组织活动的 APP。用户可以通过线上发布出行旅伴需求或根据他人发布的信息进行交流,找到合适的出行伴侣,同时系统也会根据用户需求自动推荐相关出行方案。
约伴 - 出行系统基于移动客户端的 C/S 架构, 适配Android 2.3 以上的系统,能服务于更广大的用户。
1 系统整体功能设计
约伴 - 出行系统功能模块如图 1 所示。
1.1 个人信息管理
该模块主要负责进行用户个人相关信息设置,通信录好友管理。
1.1.1 用户注册
在用户首次使用此 APP 时须注册账户并设置登录密码, 点击 注册 按钮,跳转到注册界面。用户设置其账号和密码, 即可完成注册。此 APP 账号采用手机号形式,利用正则表达式判断用户输入的账号是否合法。判断输入内容的合法性之后,就可以调用网络请求把账号和密码传给服务器,同时服务器获取到用户的相关信息。
1.1.2 用户登录
账户注册成功后,用户就可以在登录界面输入账号和密码,登录此 APP。当用户点击 登录 按钮时,系统会预先判断账号和密码是否合法,若不合法,系统会在屏幕下方显示登录信息有误。提示语采用的是Android 原生的控件Toast 弹窗提示,时间为1 s。
1.1.3 用户信息设置
在该模块,用户可以根据自身情况设置个人相关信息。若用户上传个人头像,选头像时进入本地图库筛选后上传或者拍照上传,采用 Base64 方式上传至服务器。此外,用户还可以设置昵称、联系方式、个人情况简介,管理通信录等。
1.2 出行管理
1.2.1 出行需求发布
此模块是用户发布出行消息并与其他用户交互的主要途径。用户能够在此模块上发布自己的出行消息,如目的地、出行方式以及约伴要求等。同时系统会将用户所发布的消息存入数据库,以备其他模块调用。
1.2.2 信息浏览
用户登录出行- 约伴系统成功后,与用户进行交互的第一个界面如图 2 所示。在此界面上,用户可以浏览其他用户所发布的出行信息,同时系统会根据用户所设置的个人相关信息、发布的出行需求信息以及用户最近浏览关注的信息自动置顶推荐相关的出行信息。本模块不涉及用户隐私,仅显示其发布的需求内容。列表的数据均通过请求后台接口获得,获得数据后, 将其放入ArrayList 中并传入RecyclerView 设置的适配器后刷新列表,当用户点击列表中的某一项时,把对应集合中相应位置的数据取出来,主要取其文章的ID,跳转并传值到详情页,使用intent.putExtra(key,value)形式传值。用户可以根据自身需求决定是否接受约伴邀请或者用户主动对他人发出要约请求。
1.2.3 出行路径规划
该模块集成了百度地图 SDK[2], 提供基本地图、位置搜索、路径规划等数据服务, 如图 3所示。在此程序中,XML中 使 用 百 度 地 图 控 件 <com.baidu.mapapi.map. MapView>,activity的 onCreat中初始化 sdkSDKInitializer. initialize(getAPPlicationContext()),以及获取地图控件引用 mMapView =(MapView)findViewById(R.id.id_bmapView)。用户在路径规划界面输入起点以及终点即可进行路径搜索, 同时系统还提供了驾车、公交、步行、骑行等出行方式,系统根据用户所选择的出行方式自动提供最快捷的路径规划。
图2出行信息图3 路径规划示意图
1.3 消息管理
1.3.1 交流互动
系统中,用户互动交流模块是集成环信 SDK。用户使用此功能时需要使用账号在环信上完成注册。用户注册完成后, 将发布者的ID 传入环信 SDK 提供的聊天页面即可进行交流互动,不过这属于陌生人交流。点击 关注 ,申请加其为好友, 当对方同意后,用户双方即成为好友,在用户通信录里可以查看好友信息。
1.3.2 查看留言
用户在浏览其他用户发布的消息后,可以在下方留言,询问相关内容等。同时用户也可以查看其他用户给自己的留言信息,并决定是否回复等。
1.4 管理员管理
管理员模块分为用户账号管理和用户发布信息管理两部分。
1.4.1 用户账号管理
管理员一旦发现用户发布涉嫌违反法律法规、用户使用条款协议以及基本道德规范的内容,有权删除该用户账号以及其发布的一切信息。这一功能保证了约伴 - 出行APP 线上互动的和谐与稳定,也保证了用户在使用本系统时能有舒适、愉快的心情。
1.4.2 用户信息发布管理
此模块旨在删除用户发布的不符合规定的信息,如虚假信息、垃圾信息等。管理员有权根据情节严重程度决定删除单条信息或者该用户发布的所有信息。该功能有效保证了用户尽可能地获取系统干净、有效的信息。
2 数据库设计
良好的数据库设计能够使系统无论在效率还是安全性上都得到较大提高[3]。本系统将数据库规范模式应用到了系统数据设计中。约伴 - 出行系统中的数据库表按照 3NF 范式建立,一个数据库表中不包含已在其他表中已包含的非主关键字信息,以减少数据冗余,保证数据库安全平稳运行。
由于系统直接连接远程数据库,在安全性等方面的性能非常差, 因此, 本系统数据库访问采用目前较为流行的Android+PHP+MySQL 形式,即访问远程服务器前端的PHP, PHP 函数完成数据库操作,把结果经过JSON 编码后传回, Android 端再 parse 出结果,这种方式既简单又高效。
3 结 语
约伴 - 出行系统是一款基于Android 操作平台,旨在为用户提供线上互动、线下结伴出行服务,使用户能够更加方便、舒适出游的应用APP。系统整体具有较高的实用性,但还有许多需要进一步完善的地方,有待进一步研究探索,以实现更为实用、方便的功能。