贺靖淇
摘 要:随着科技进步和经济的高速发展,中国人民的生活水平不断提高,汽车保有量不断增长,车辆增多自然会影响到停车场的大小,于是现在的停车场场地大且地形复杂,很多车主都有过进入大型停车场后寻空车位的麻烦或是要离开寻爱车难的尴尬。为了解决这个问题,该系统拟针对大型地面/地下停车场,设计一套完整的泊车和取车双向引导系统。
关键词:智能停车场 定位 停车引导 寻车引导
中图分类号:U495 文献标识码:A 文章编号:1674-098X(2016)11(c)-0001-02
1 研究背景和意义
1.1 研究背景
城市汽车保有量的逐步上升使得停车资源越来越紧缺,进行合理的资源配置与合理的停车场管理迫在眉睫,同时,城市为解决停车难的问题而大量兴建大型的地面或地下停车场,尤其是商业地产的停车场规模越来越大,动辄上千的停车位虽然缓解了停车难问题,但同时又带来了新的麻烦——找车难。
1.2 研究意义
在商场、购物中心、医院、银行、机关等公共场所的大型停车场内,车主在返回停车场时,由于停车场空间大、环境及标志物类似、方向不易辨别等原因,容易在停车场内迷失方向,寻找不到自己的车辆。该系统的反向寻车模块通过ibeacon进行室内定位以确定当前位置,结合已记录的停车位置,即可在安卓平台的应用程序上显示车主及车辆所处的位置,并规划出最短路径,以地图的形式显示在安卓平台的应用程序中,帮助顾客尽快找到车辆停放的区域。
2 概要设计
2.1 总体框架设计
该系统分为7个模块:用户信息管理、记录停车位置、车位记录管理、地图概览、入场停车、反向寻车和其他模块。系统总体框架如图1所示。
2.2 运行环境要求
该系统为安卓平台应用程序,要求系统Android 4.3及其以上系统,此外,该系统使用ibeacon进行室内定位,还需支持蓝牙4.0。
3 详细设计与实现
本着简洁易用的原则,系统主界面设计如图2所示。
3.1 用户信息模块
该模块主要实现用户信息的管理,包括登录、匿名登录、密码修改、注册和注销。
登录:当用户点击“登录”按钮时,系统在后台查询数据库后验证用户名与密码是否匹配,如果匹配则跳转至系统主界面并设置全局变量username的值为当前的用户名;如果不匹配则提示用户“用户名或密码错误”。
匿名登录:该模块包括一个Button,Button的text属性设置为“匿名登录”,监听Button的点击事件,当用户点击“匿名登录”按钮时,则跳转至系统主界面并设置全局变量username的值为“”。
密码修改:当用户点击“密码修改”按钮时,系统首先判断新密码与确认密码是否一致,如果不一致则提示用户“新密码与确认密码不一致”,如果一致则查询数据库后验证用户名与密码是否匹配,如果匹配,则提示用户“修改密码成功”,并跳转至登录界面;如果不匹配则提示用户“用户名或密码错误”。
注册:当用户点击“注册”按钮时,系统验证密码与新密码是否一致,如果一致则保存用户输入的数据到数据库,并跳转至登录界面;如果不一致则提示用户“密码与确认密码不一致”。
注销:当用户点击“注销”按钮时,系统在后台查询数据库后验证用户名与密码是否匹配,如果匹配则删除用户所有数据,否则提示用户“用户名或密码错误”。
3.2 记录停车位置模块
当用户点击“二维码扫描”按钮时,系统打开摄像头采集二维码信息,调用zxing库即可将二维码中的位置信息解析成文本信息,然后将EditText的text属性设置为解析后的位置信息,并将采集到的图片在ImageView上显示出来。当用户点击“保存”按钮时,系统将位置信息、用户名和时间等信息保存到数据库中,实现车位的记录。
3.3 车位记录管理模块
当用户点击“全选”按钮时,選中ListView中的所有条目;当用户点击“反选”按钮时,如果ListView中的条目已经被选中,则取消该条目的选中,反之则选中该条目;当用户点击“取消”按钮时,取消ListView中已经选中的所有条目;当用户点击“删除”按钮时,系统将在数据库中删除ListView中已经选中的所有条目对应的位置信息,并在ListView中也删除该条目的显示。
3.4 入场停车模块
停车场概览模块如图3所示,当用户点击“车位列表”按钮时,按区域显示出所有车位的列表,当用户点击一个列表时,系统从数据库中查询相应车位的位置在地图中显示出来,并设置起点位置;当用户点击“固定车位”按钮时,系统获取用户注册时的固定车位并显示出来,当用户点击相应车位时,系统从数据库中查询相应车位的位置在地图中显示出来,并设置终点位置;当用户点击“可用车位”按钮时,系统查询每一个车位的空闲状态,将空闲车位显示出来;当用户点击相应车位时,系统从数据库中查询相应车位的位置在地图中显示出来,并设置终点位置;当用户点击“搜索”按钮时,系统先获取相应EditText的text属性,根据该属性从数据库中查询相应车位的位置在地图中显示出来,并设置起点或终点的位置。当用户点击“开始导航”按钮时,系统首先检查是否确定了起点位置和终点位置,如果没有确定则提示用户“请确定起点位置和终点位置”,如果确定了起点位置和终点位置,则规划出最短路径并在地图上显示。入场停车主界面如图4所示。
4 数据库逻辑设计
该系统使用的数据库表主要有:user_info、map、car_pos_info。
user_info主要用来存储用户的基本信息,包括用户名、密码和固定车位等信息。
map主要用于存储地图坐标的信息,包括位置的名字、起点坐标、终点坐标和描述等信息。
car_pos_info主要用来存储记录的车位信息,包括车位位置、用户名和记录时间等信息。
5 结语
现在商用的入场停车引导与反向寻车引导系统并不多,也不够完善,使用成本也很高,这就给入场停车引导与反向寻车引导系统的发展带来了很大的困难。该文所做出的APP应用,能够完美解决入场停车难、反向寻车难的难题。
参考文献
[1]郭霖.第一行代码——Android[M].北京:人民邮电出版社,2014.
[2]刘志成.Java进阶教程[M].北京:机械工业出版社,2013.
[3]李刚.疯狂Android讲义[M].北京:电子工业出版社,2011.
[4]李刚.疯狂Java讲义[M].北京:电子工业出版社,2008.