在实际操作过程中,为了增加用户体验,提供两种地址选择方式供普通用户选择行程。一种为点击地图上的任意一个位置,则会自动显示该地点的位置信息,并有提示让用户选择作为起始地点或目的地。界面还提供精准定位按钮,点击后,即可获得地图的最精确位置图。第二种是点击界面下方的“当前位置”或者“目的地”则可以进入地址选择界面,地址选择有城市选择和地理位置检索功能,比方说用户输入“张家港大学城”,则下方会显示出与之相关的地址供用户点击选择。
同时,还提供时间选择器供用户选择时间,界面更加好看。
最后,当乘客到达目的地,支付成功后会给司机评价,当司机声誉低到一定程度时,会取消其资格。从而提高在的乘车过程中,乘客会有一个较好的身心感受。
2。3 智能出行系统操作描述
智能出行系统的功能以角色的权限来划分。
普通用户:可以根据相关信息提示选择好出发地点、目的地、时间等信息后发布行程信息。结单后可以给司机进行评分。
私家车用户:可以登录安卓手机客户端,点击进入在线抢单页面可以接收由服务器推送的订单信息,并语音播报相关信息,在界面上也会出现,点击“抢”按钮即可抢订单,抢成功后服务器推送消息到发订单的用户提示已经被接单,静静等待。除此之外,还可以发布顺风车信息,供别人浏览。
出租车用户:可以接收订单信息,获取订单信息里面的用户联系方式。文献综述
管理员:管理用户信息,给予用户一定的权限,取消用户的权限。
技术点描述:
(1) 极光推送:点击打开APP会到该应用的缓存中去读取信息,看是否有登录信息,如果有,则获取,直接显示登录状态,并为该用户注册相关推送的TAG[2]。在应用中注册一个广播用于接收服务器端广播的数据。当用户之间发布行程和通知用户订单已经被接了。在抢单页面会保持常亮是用户更方便使用。相对于主动去服务器获取数据,用推送的方式可以减轻手机客户端和服务器端的内存消耗,会有更好的用户体验[3]。
(2) 地图定位、检索、路径规划、路程、时间估算和地址获取:打开应用会自动定位当前位置,点击地图上的精确定位即可精准定位到当前地点,最精确为10米[4]。在输入选择地址时,会监听手动输入的内容,自动获取检索的信息。点击主界面的“开始”后,自动会出现路径规划信息并在地图上以红色信息标出路径。调用百度地图api估算路程和花费时间并给用户显示。
(3) 短信验证:选用掌淘的API,在登录界面点击验证时调用掌淘的短信验证接口。掌淘验证有弊端,因为不同服务要收费,免费的一个号码一天最多一天只能发送5条短信。为了解决这个问题,用户验证并登录后,会把用户的信息和登录状态保存到缓存中,当用户再次打开时会直接登录,单要取消登录时,在侧滑的设置界面选择退出即可消除缓存中的用户信息[5]。
(4) 语音播报:安卓原生API里面有一个TTS类,该类是关于语音播报的,但该类只支持英文、西班牙文等五种语言。所以要使用第三方控件。在选择中有手说和科大讯飞两种,相互比较后,科大讯飞的功能和性能更加强大,更要紧的是科大讯飞有免费的功能提供[6]。语音播报可以选择播报角色,性别,年龄。用户体验更加完美。
(5) Eventbus传值:Eventbus里面封装了安卓原生的handler和bundle。用法简单,有多种选择提供,使线程更加安全。减少了传值之间的繁琐代码。而且性能也很完美,受很多安卓开发的好评。Eventbus使用的是观察者模式。该模式有事件,监听者,发布监听信息者。监听者注册一个监听对象,当被监听者发布监听的事件时,监听者会接收根据该事件做出一定的操作。只要把这个事件发布出去,EventBus会在它内部存储的方法中,进行扫描,找到参数匹配的,就使用反射进行调用。