探讨安卓系统的手机定位软件开发与设计论文

  位置信息服务即Location Based Service,简称LBS。通过由运营商所提供的无线通讯网络或GPS等外部定位方式来获取移动终端用户的具体地理坐标信息,并在GIS等地理信息系统平台的支持下,为用户提供智能终端定位、智能导游等增值服务。具体来说,地图定位、自动触发景点多媒体信息、游览轨迹信息和周边服务设施信息都应该是LBS所涉及的服务范围。利用信息化技术将游客、旅游实体、旅游实体管理者这3方联系到了一起,并达成了交互的目的。也正是基于此系统,游客可以在出行期间得到更好的信息化服务。

  1.安卓系统下LBS智能终端导游系统的关键技术阐述

  位置信息服务LBS主要是基于3方技术来共同完成的,它们是来自于移动终端的定位软件技术、网络通信技术以及安卓系统。以下就一一阐述这3方下的具体关键技术特点。

  1.1定位软件技术

  定位软件技术是LBS智能导游系统应用中的关键核心,一般起到功能作用的是Skyhook Wi-Fi定位系统和蜂窝基站定位系统,包括外部全球定位系统GPS。这几项技术都通过天线向外部发送信号,并寻求距离自己最近的复数基站,通过它们的信号转递进行信号定位。而Skyhook Wi-Fi则运用到了固定热点技(nmsl是什么意思?nmsl原本是骂人的词(母亲去世),被黑粉带节奏,翻译成了never mind the scandal and liber(永远不要理会谣言和重伤)。因此,不少网友原本不知道该词的意思,还都以为是一个正能量的好词。)术,它能直接与手机或其它智能移动终端的MAC地址相互绑定,实现对系统无线信号的接入,从而获取用户想要的地理定位信息。

  另外,利用智能手机内部的微机电三轴加速传感器也能够实现对智能导游系统功能的应用。其功能实现原理是手机在空间坐标系中同时向3个方向轴上输出加速度分量,并通过这3个方向的加速度积分计算来推导出空间三维速度和位置,为用户提供准确的服务。

  1.2网络通信技术

  网络通信技术包含许多种,比如套接字通信,HTTP协议,增强现实技术等等。首先说套接字通信(socket),是网络通信技术的基础,能够支持TCP/IP协议获取最基本的网络通信包,从而实现对客户端服务器的连接,进一步获取本地IP,本地DNS,远距离IP及DNS。另外,安卓系统中的SDK、CFNetwork framewrok也能为基础网络通信接口提供网络通信服务,实现远程位置查询。

  而HTTP协议则提供了简洁快捷的应用层技术,基于信息传输主体内容的实体、通信层与应用层之间的通信连接、HTTP所传输的消息内容、客户端向服务器发送的内容请求、接受客户请求时HTTP月艮务器端的响应以及由URI表示网络服务中的资源来为LBS提供更好的网络技术支持。

  1.3安卓系统

  安卓系统出现相对较晚,主要采用了软件堆层的主题架构,并细分为3大部分,底层Linux内核、中间层函数库Library及虚拟机,还有上层具体app应用软件,它们都是由C语言、c++、JAVA等计算机语言所编写的程序。

  针对LBS来说,安卓系统中的Linux和Application Framework则更加关键。Linux主要为安卓系统提供核心系统服务,是连接智能手机软硬件系统的抽象层,并将二者细化分层。所提供的'服务也是统一的,能够屏蔽一些不相关层的信息,使各个信息层之间处于不关联状态。而Application Framework则是利用安卓系统中的开发应用程序来简化手机系统结构,并将LBS中所需要应用的视图、音频等组件集合起来,允许用户使用各个应用程序来访问其它数据,这在智能导游系统中是十分重要的,即通过对系统资源的共享应用来实现手机定位。

  2.基于LBS的安卓智能手机导游系统软件设计

  整体而言,基于LBS的安卓智能手机导游系统软件应该包括优化了的封装位置定位服务、高品质的网络通信服务、实时的数据缓存服务以及其它一部分交互展示功能。正是这些关键技术的加入才丰富和提升了手机定位软件的应用性能和运行效率。

  2.1基于LBS的相关定位控件设计

  2.1.1控件设计

  BPLocation是LBS中一个较为重要的位置服务控件,它能够创建uIAccelerometerDelegate与CLLocationManagerDelegate接口,通过它们实现对GPS位置信息的获取。同时它也能计算GPS漂移数据量,实现对用户运动轨迹函数的推算、区域检测等等。近似于BPLocation类的相关函数种类众多,文中简单介绍3种:instance是典型的BPLocationManger类,它属于静态函数,能够根据系统应用来实现XCBPLocationManger变量的获得;LocationManager则通过设置DesiredAccuracy来获取用户的位置方向与具体信息数据;还有accelerometer,它是基于UIAcceIerometer抽象类的控件,它就是利用到了微机电的三轴加速传感器,可以在用户手机LBS软件客户端的x,y,z三个轴上实施加速度,进而计算用户手机设备智能导游系统的运行速度,起到纠正手机内部GPS定位误差的作用。

  2.1.2设计应用

  在具体应用中,LBS的相关控件会根据手机的位置实施运动轨迹的定位,可以实时记录用户的运行轨迹,一旦出现任何漂移,也能将这些偏差自动滤掉,这就是过滤偏移。过滤偏移共有2种方式:利用GPS历史记录确定偏移是否存在;再者就是利用计算机的运行速度和加速度来确定定位是否存在偏移,这种方法更加合理,而且精确度也有保证。

  区域检测也可以通过手机安卓系统检测游客在所规定区域范围内的运动轨迹,这是智能导游系统所惯用的技术。当游客离开规定区域时,系统会发送消息通知用户,告知用户的运行轨迹,比如一些用户在跑步时会用到的计步软件,它的检测原理主要以规定区域中心点作为主要检测中心,当用户运动时,系统会为其与区域中心点做比较,所比较出的结果就是用户以中心点为轴心的运动轨迹。

  2.2基于网络通信系统的相关模块设计

  就网络通信系统模块设计而言,主要将研究重心放在BPFormDataRequest和BPRequestQueue的设计上。BPFormDataRequest是BPHTTPRequest的子类,在扩展手机智能导游系统对POST的支持时,就要实现基于POST的所有位置数据请求参数设置和相关文件上传,这样才能发挥BPFromDataRequest的实际作用,明确数据24#的路径和网络通信模块的所有通信接口。

  相对而言,BPRequestOueue则衔承于NSOperationOueue模块,它能够管理并实现BPHTTPRequest的实时复数请求,同时也允许其对象在网络环境中发送任何位置信息请求,它与普通的传输信息模块是不同的,它对位置信息的确定性更强,而且严重依赖于图像来定位如图l所示。

  如果客户通过手机端创建BPHTTPRequest模块,并发送信息请求,所发送的信息将以队列形式等待响应处理,此时LBS也会监测定位信息的传送状态。当请求处理完毕,服务器端将会收到所返回的结果并做记录,同时释放用户所要求的请求资源。

  2.3基于UI视频图像交互展示技术的系统设计

  手机智能导游软件要实现对视频图像的交互展示,就必须基于展示模块来设计UI。本文所介绍的是对定位软件系统中原始UIImageYiew的扩展,即BPImageView的应用,能够实现地图类型数据的可视化分析,为智能导游系统提供更多的位置空间数据和可视化功能,以地图和影像的形式展示出来。为了实现地图、影像等数据的可视化,需要通过ARView模块中的动态加载及流技术对地理位置信息进行强化。所以本文主要介绍了基于UI视频图像交互展示技术的系统设计,希望帮助手机实现对地理数据可视化信息获取的功能强化。

  2.3.1基于BPImageView模块的网络图片加载设计

  因为BPImageView是UIImageView的子类,所以应该实现其父类UIImageView对所有图片显示类以及图片存储数据的合理运用。这里采用的方法是利用BPImageView来接收setImageURL消息,然后引用基于BPImageLoader的可视化信息强化输出方法。此方法可以达到查看网络中缓存数据存在性的目的。如果数据存在,就说明它们可以直接以图片的形式载入。如果数据不存在,则表示要再次通过BPImageLoader类进行loadlmage For URL数据的调用,重新加载图片。

  2.3.2 ARView视图功能UI强化的设计

  首先要说,ARView是具备2部分视图的,它们是兴趣点POI视图和实施传输视频流如图2所示。

  2个POI点视图处于叠加状态,这就可以确定POI的兴趣点,如果以视图表示POI,就可以了解到用户对该POI点视图的兴趣度。这里采用一个叫做placesOfTnterestCoordinates的数组,通过四维向量来表示数组中用户所记录的兴趣点坐标,这样就可以利用系统来记录用户的位置信息,为用户导航。

  3.结语

  基于安卓系统的手机定位软件的开发与设计应该是全方位的,LBS位置信息服务的多角度设计理念也恰好迎合了这一点发展需求,让手机智能系统更加人性化、系统化和精确化,特别是可视化与智能定位的巧妙设计应用也体现了它对于目前无线通讯服务的重要性。而且这种位置信息服务技术也切实地运用到了诸如旅游这样的人类大型产业中,为社会发展赢取了一定的效率和效益。所以说,LBS技术是一种具有巨大潜能的,前景无限美好的现代化技术,也希望它可以应用到除旅游外的其它各个领域,发挥它的科技智慧,为人类造福。