APP下载

基于Android的失物招领系统的设计与实现

2018-02-24李继全孙步嵩张欢郭奥张继山

电脑知识与技术 2018年34期
关键词:失物招领

李继全 孙步嵩 张欢 郭奥 张继山

摘要:随着生活节奏的加快,难免出现遗失物品的情况,高校中传统的失物招领与寻物启事方式具有一定的局限性,且容易泄露信息,针对这种情况设计并实现了基于Android的失物招领系统,具有招领信息发布,寻物信息发布等功能,该平台极大地满足了高校师生对于解决失物招领问题的需求。

关键词:Android;失物招领;Bmob后端云

中图分类号:TP319        文献标识码:A        文章编号:1009-3044(2018)34-0057-02

1引言

在生活中,遇到东西丢失,传统方式是在朋友圈、QQ空间、贴吧等平台发布失物招领与寻物启事,但具有一定的局限性,效率低下,易造成信息泄露或其他不必要的损失。目前国内已构建的失物招领的网络平台,多是面向地区或公司的,这些网站功能并不完善,没有分类查询,阅读信息量较大,不能随时关注最新动态。本文所研究的问题就是设计并实现一个功能完善且便捷的面向高校的失物招领平台,设计并开发出一款基于Android端的APP,以加快招领与寻物信息的传播,并帮助失主与拾主尽快取得联系。

2失物招领系统功能分析与设计

2.1失物招领流程分析

失主和拾主的流程大致相同,登录系统后,可以在信息搜索框进行查询,如果查询到已有失主或拾主发布的招领或者寻物信息后,查看信息详情进行评论联系物主或拾主归还失物。

即通过失物招领系统将失主和拾主快速高效地联系起来,做到精确的拾物归还和失物招领。

2.2系统功能框架设计

通过模块化划分,系统主要由“登录注册”“信息中心”“个人中心”三大模块构成,每个模块又由若干子模块组成[1],如图1所示:

2.3数据库设计

本平台数据库采用Bmob后端云数据库,免去了几乎所有的服务端编码量,只需定义好表结构即可。数据表有用户信息表,招领信息表,寻物信息表,评论信息表,共四张表,各表的关系如图2。

1) 用户信息表保存了用户的基本信息,包括用户名、密码、手机号、微信号、ID、昵称、头像、地址、邮箱等字段,类型为字符型,其中ID作为主键。

2)招领信息表保存了所有的招领信息,包括招领信息ID、发布者用户ID、招领信息标题、招领信息内容、物品所属分类、招领信息发布位置、發布的图片、信息发布的时间等字段,其中招领信息ID、发布者ID、招领信息标题、招领信息内容、发布信息的位置、物品的分类的数据类型为字符型,发布的图片的数据类型为数组型,发布时间的数据类型为日期型。其中招领信息ID作为主键。

3)评论信息表保存了所有的评论信息,包括评论ID、评论者用户ID、评论的信息ID、评论的内容、评论发布的位置、评论的时间等字段,其中评论信息ID、评论者ID、评论信息内容、评论发布的位置、论信息的ID的数据类型为字符型,评论的时间的数据类型为日期型。其中评论信息ID作为主键[2]。

3失物招领系统实现

3.1 Bmob后端云

整个系统分为前台和后端,前台界面通过Android来实现,是我们主力要实现的,界面基本做到简洁美观,有着良好的用户体验性,适合所有年龄段的人使用。

后端主要功能是处理数据的交互、业务逻辑等,所获取的数据显示于前端界面。目前后端一般采用“Spring+SpringMVC+Mybatis”框架或“Struts+Spring+Hibernate”框架来实现,辅以Mysql数据库,能够提供Restfull风格的API接口,但要精通掌握此项技术,需要花较高的时间成本。这里采用一种简单的实现方式,通过第三方Bmob后端云处理方案,通过它的SDK,可以省去后端的编码量,便于设计者把工作重心放在前端界面的开发上,整个系统除了一些基本的功能,也添加了一些其他的技术和实用功能,来提高软件的健壮性和用户粘度。Bmob后端云处理方案如图3所示:

3.2基于WebSocket的登录与消息推送

通过WebSocket协议,实现了SSO单点登录功能,即一个账户同一时间只能在一个设备上登录,不能多个设备同时在线,这对软件的安全性和健壮性有着极大的影响,所以我们用WebSocket协议技术实现了这个功能[3],如图4所示:

通过WebSocket协议,实现了Push消息推送功能,用户可以即时被动的接收到消息通知,比如未读消息等,和用户主动进行主动交互,如图5所示:

系统也提供了一些实用的功能,比如通过地理位置获取今天及未来5天的天气情况。还有通过强大的科大讯飞语音技术,在软件内部实现了文字转语音功能,可以清晰流程的听到人声的朗读,方便我们去阅读,也实现了语音转文字的功能,极大省去了用户打字输入的时间。

3.3前端设计

1)登录界面由两个EditText和两个Button基本组成,用户如果登录过,会自动保存上次登录的账号密码,如果登录失败会提示用户连接网络或者检查用户密码是否输入正确。

2) 注册界面由四个EditText和两个Button基本组成,输入手机号后,点击获取验证码,系统会向用户发送一条验证码。然后输入验证码,验证并完成注,册并返回到登录界面。

3) 主界面采用了ToolBar(顶部导航)+DrawerLayout(侧滑菜单)+自定义RadioButton(底部导航) + ViewPager(滑动控件)的形式。下拉刷新采用官方的SwpieRefreshLayout来实现。ViewPager指示器也采用官方的TabLayout来实现,主界面如图6。

4)如图7,信息发布界面是由两个EditText,两个Spinner(下拉框),和两个按钮组成,用户可以输入标题和内容,详细描述下物品,选择信息类型,物品分类,加上配图,然后发布在招领信息中。用户也可以点击说话按钮,就可以把语音转换为文字输入到输入框内。

5) 在信息详情界面,可以对信息进行查看,以及评论,可以通过评论来即时告诉发布者。如下图8。点击右上角的小喇叭图标,信息内容就可以以人声语音的形式播放出来。

6)打开主界面的侧滑菜单,点击右下角的天气信息,就可以进入天气预报界面。

4总结

该失物招领系统可以有效地解决目前对于失物招领和寻物启事信息的管理,可以更快捷地进行消息传播,提高失物招领的工作效率。其Android应用程序是由Java语言编写的,有丰富且可扩展的视图(Views),可以用来构建应用程序,它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons),甚至可嵌入web浏览器。后端技术采用Bmob实现,在Bmob平台上,只需注册一个帐号,申请创建任意多个数据库,获得对应的Key,下载对应版本的SDK并将其嵌入到移动应用中,便可以调用存取API,进行数据的任意操作,给软件快速添加一个安全灵活的后台管理系统,方便浏览终端保存的各种信息。消息推送以及单点登录采用了WebSocket协议,它是一个基于TCP的全双工通信协议,建立连接后,可以即时接收到服务端发送的信息。基于以上技术,可实现平台的基本功能,该平台相对于现有的寻物平台,多了语音识别及分类查询的功能,使信息浏览更加便捷,但软件作用较为单一,在此基础上,还可增加一些好人好事消息推送、感谢互动及娱乐交友版块,以提高软件的使用率,创造好的用户体验。

参考文献:

[1] 吴江平.高校失物招领管理系统的研究与分析[J].科技广场,2015(11):32-35.

[2] 谭伟,林俊存.基于JSP的高校失物招领网络平台的设计与实现[J].电子世界,2016 (21):109-110.

[3] 唐志婧.基于Android的校园失物招领平台的设计与实现[D].呼和浩特:内蒙古大学,2017.

【通联编辑:王力】

猜你喜欢

失物招领
失物招领处
知了的外衣
小小失物招领箱