GPS部标平台的架构设计(六)-Android手机客户端和手机查车设计
对于GPS软件平台,虽然有功能非常丰富的PC端或BS客户端,但是客户也是需要移动客户端来作为自己的辅助工具,也是需要的。做为GPS平台的设计者和开发者,在开发移动客户端的时候,也需要从常规的服务器开发和客户端开发的思维中,转变过来,当然客户的需求也需要转变,因为毕竟不能随心所欲的将PC端的所有功能需求照搬到手机客户端,手机的开发环境、网络环境、使用环境都决定了设计理念与PC端的设计是完全不一样的。
通常我们成为GPS部标平台的手机客户端为手机查车,实际上现在的功能不仅仅是查车,由于客户需求的推进和演变,我们推出手机查车功能更加丰富,已经包含了统计报表、统计图表、车辆终端控制、个人手机定位和追踪等功能。需要购买android手机客户端(源代码1300元)的可以联系我(2379423771@qq.com),可帮助提供环境搭建和开发指导。
在手机端的设计时,要关注一下几个设计要点:
1.耗电量
这个是很多开发者都不关心的地方,认为这不是bug。但是这就是移动开发者区别于PC开发者的要点之一,常规的情况下,如果我们采用poll的方式在GPRS的网络环境下,频繁获取大批量的数据,可以快速的将电源耗光。
国际权威反病毒评测机构AV-C发布最新报告,在众多国内外安全产品中,百度手机卫士由于在电池能耗方面巨大、极大加大手机耗电负担,最终在报告中被单独点名提出,成为本次手机安全软件测试中全球最耗电的手机安全软件“电耗子”。可见耗电是多么的被忽视。
所以我们在开发GPS软件平台的手机客户端的时候,如果需要频繁的与服务器交换数据,就应该尽量的采用推送的方式,比如GPS报警推送。而报警推送也不应该将大量无意义的报警,推送给用户,推送什么样的报警,应该由客户来选择,比如报警订阅的功能。
一下是报警推送的Notification及报警数据列表

2.流量
很多客户在提手机端需求的时候,总是要求仅可能多的信息展现在手机上,明明那些信息毫无必要,开发者为了装逼,还是不得不将一堆垃圾显示在手机端,比如经纬度坐标,比如里程、油量、方向等等。还有我们在PC端,显示报表的时候,总是一个报表,十几个数据列的尽可能显示全部信息,但是在手机端,换来的代价就是流量的浪费,而且不仅仅是流量,大数据量的加载,会加大界面打开和显示的时间,获取数据的延迟,也会占用CPU资源,手机相应慢,造成用户体验的降低。
所以在设计时,数据显示要简洁有效,尽可能降低数据量,避免数据和按钮堆砌,降低流量的消耗。
对于基础数据要尽量的一次性加载,缓存在手机中,或者通过Preferences文件,Sqlite数据库的操作,持久化到手机中。

对于历史轨迹的查询和回放,也是采用双缓冲分页加载的方式,避免一次性查询大量的历史数据,这样即使是GPRS上网也能流畅的进行历史轨迹回放。

3.界面设计
前面提到,对于企业软件的移动客户端,企业用户总是希望将显示大量的报表数据,而我们不仅要提醒客户注意流量的限制,网络环境的限制,还要注意手机尺寸的限制,智能手机客户端从3.5寸到7寸的手机,都有。在界面设计上,寸土寸金,数据堆砌的简单化思维,无疑是异常灾难。


我们在设计时,必须要提炼数据接口,提供最少最有效的数据,然后采用 Drill down的方式,对于详细数据的客户需求,分层次加载。比如报警,我们打开界面并不是一次性的显示所有的报警,而是区别于PC端的设计方式,采用分类显示的方式,如果用户关心哪一类报警,再次显示该类报警的详细列表。

4.单手操作的考虑
PC端的开发由于有鼠标,可以东点一下,西点一下,很灵活,我们想象一个手拿着手机,能不能东点一下,西点一下,很麻烦。所以操作按钮尽量靠近,方便单手操作。

5.报表与图标
由于是为企业客户开发移动客户端,所有报表和图表的需求,不可回避,对于报表,必须要考虑分页加载,既然分页,就必须要加上分页按钮,方便分页。
GPS部标平台的架构设计(六)-Android手机客户端和手机查车设计的更多相关文章
- GPS部标平台的架构设计(四)-百度地图设计
部标GPS软件平台之百度地图设计 地图是客户端中不可缺少的一个模块,很多人在设计和画图时候,喜欢加上地图引擎这样高大上的字眼,显得自己的平台有内涵,说白了就是用第三方的SDK来开发,早期的GPS监 控 ...
- GPS部标平台的架构设计(十)-基于Asp.NET MVC构建GPS部标平台
在当前很多的GPS平台当中,有很多是基于asp.NET+siverlight开发的遗留项目,代码混乱而又难以维护,各种耦合和关联,要命的是界面也没见到比Javascript做的控件有多好看,随着需求的 ...
- GPS部标平台的架构设计(三) 基于struts+spring+hibernate+ibatis+quartz+mina框架开发GPS平台
注意,此版本是2014年研发的基于Spring2.5和Struts2的版本,此版本的源码仍然销售,但已不再提供源码升级的服务,因为目前我们开发的主流新版本是2015-2016年近一年推出的基于spri ...
- GPS部标平台的架构设计(一)
设计和开发一个GPS系统似乎并不太难,很多人马上就想到了地图,放大,缩小之类的功能,最多就是在加点报表之类的东西,就成了. 这种观点造成了业界内,很多GPS系统粗制滥造,不堪大用. 事实上,设计和开发 ...
- GPS部标平台的架构设计(五)-地图服务算法库
GPS平台,需要和各种地图打交道,需要解决以下的问题: 1.坐标偏移,这个不用多说,需要将原始坐标加偏,然后在百度地图或谷歌上显示出来,需要注意的是百度地图的加偏是偏上再偏,谷歌.高德地图等是火星坐标 ...
- GPS部标平台的架构设计(二) 可扩展性设计
在设计的前夕,设计人员喜欢把领导对未来业务的期望带入到设计目标当中,比如当前业务也不过是接入几千辆车,未来业务增长也不过几万台,但领导很多激情,强势要求二期平台的接入能力要达到20万台,这个要求带入到 ...
- GPS部标平台的架构设计(九)-GPS监控客户端设计
交通部的部标过检,所有的测试都是从客户端发起的,也是在客户端体现的,在客户端承载了部标标准所要求的所有的功能,是整个部标平台当中工作量最大的部分,也是最繁琐的部分. 客户端设计面临两个问题: 1.基于 ...
- GPS部标监控平台的架构设计(十一)-基于Memcached的分布式Gps监控平台
部标gps监控平台的架构,随着平台接入的车辆越来越多,架构也面临越来越大的负载挑战,我们当然希望软件尽可能的优化并能够接入更多的车辆,减少在硬件上的投资.但是当车辆增多到某一个临界点的时候,仍然要面临 ...
- GPS部标监控平台的架构设计(八)-基于WCF的平台数据通信设计
总体来讲,GPS部标平台的软件开发是一个对网络通信和应用程序之间通信的技术应用密集型的开发工作,也是有一定设计技术含量的工作. 1.设计通信接口 在设计的时候,根据职责划分,拆分成不同的应用子系统,对 ...
随机推荐
- hierarchyid
hierarchyid: http://www.cnblogs.com/shanyou/archive/2011/07/01/2095968.html RABBITMQ: http://www.rab ...
- 还是畅通工程[HDU1233]
还是畅通工程 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submiss ...
- 为什么<b></b>不推荐使用
曾经在网上看见说:不推荐是用b标签,咦,我好像用过不少,难道我又坑了别人……度娘是这样说的:只要是从网页的简洁性和搜索引擎的友好度来看的.<b>是加粗,和css的font-weight在视 ...
- Apache虚拟主机配置,实现多域名访问本地项目PHP空间,以及配置403Forbidden等错误的解决办法
第一步: apache主配置文件修改: 用文本编辑器打开apache的conf目录下 httpd.conf 将下面以下代码取消注释 LoadModule rewrite_module modules ...
- Python笔记-第一天
1.Python的输出print函数要把输出的字符串用单引号或者双引号括起来,但是不能混用. 比如print('hello,world')和print("hello,world") ...
- Hive_数据倾斜处理
Hive中三种join map join (小表join大表,将小表加入到内存) 设置map join: hive.auto.convert.join=true hive.mapjoin.smallt ...
- oracle数据导入/导出
Oracle数据导入导出imp/exp 功能:Oracle数据导入导出imp/exp就相当与oracle数据还原与备份. 大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据 ...
- 第一章-第三题(目前流行的源程序版本管理软件和项目管理软件优缺点)--By梁旭晖
引用自:http://www.cnblogs.com/WJ1234/p/5285595.htmlhttp://blog.163.com/yuyang_tech/blog/static/21605008 ...
- 百钱买百鸡问题 php版本
/* * 百钱买百鸡问题 * * 我国古代数学家张丘建在<算经>一书中曾提出过著名的“百钱买百鸡”问题,该问题叙述如下:鸡翁一,值钱五:鸡母一,值钱三:鸡雏三,值钱一:百钱买百鸡,则翁.母 ...
- python -socket -client
socket client 发起连接. 流程为: 创建接口 发起连接 创建接口参数同socket server相同 发起连接的函数为socket.connect(ip,port) 这个地方的ip与po ...