基于Android平台的儿童跟踪系统

2017-03-06 17:08陆政
电脑知识与技术 2016年30期
关键词:Android平台位置路线

陆政

摘要:在基于Android平臺百度地图的系统研究与实现过程中,对各种功能模块进行了详细的分析和研究,经过严格的测试,优化了系统性能,确保终端定位精度基本可以满足儿童现在跟踪可以随时注意孩子的位置,并在地图的相应位置标出,是满足系统对父母更方便的要求。它利用一些GPS移动平台的特点和移动定位服务之间的移动通信网络的网络通信服务器和移动地图应用服务器,提供给用户的位置相关的信息和服务,给用户的生活带来极大的方便。当前位置:WiFi定位,GPS定位,定位基站三。由于WiFi定位方法节能高精度,因此这些儿童的跟踪功能在软件中会考虑使用。而基站定位在GPS中起着重要作用,并且定位开关,可以打开和关闭。实时获取位置,使系统更准确的位置信息。孩子的行为是基于Android的跟踪系统是基于Android平台,网络地图是百度地图。

关键词:定位;儿童跟踪;Android平台;位置;路线

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2016)30-0065-03

1 课题研究的意义

随着移动互联网技术的发展不断发展,安卓手机和移动网络现在已经成为生活和学习中的一部分了。Android平台的优势占据了手机市场的大部分区域。很多人都在使用安卓手机,Android通常会使不同年龄的消费者了解Android系统。所以孩子,几乎可以使用Android系统。

在生活中经常能听到有还在走丢的消息,。发生这样的事情在生活中很多,而且找到的可能性很小。如果在什么地方走丢,家长能够及时地看到他们在那,然后找到他们,因此基于Android平台的儿童跟踪系统的研究很有必要。

2 可行性分析

2.1 技术可行性

该系统的研发主要涉及Android平台。这个平台是当下最普通的软件平台,Android平台下的应用已经相当成熟。因此,平台开发技术已经相当成熟

使用百度Android SDK定位等一些功能,由于安卓手机本生的一些特性的,比如使用硬件、网络必须添加一些访问权限。百度第SDK使用GPS定位,基站、无线信号来定位。当应用程序像百度SDK发起的位置位置要求,百度地图SDK将会根据应用程序是否需要获取一些位置信息,获取位置信息的准确性是否打开网络或者GPS来生成相应的位置定位。百度地图SDK,技术实现已经很成熟。

2.2 经济可行性

安卓开发环境是windows和eclipse,这也是目前最常用的开发环境。

该系统开发工具已经具备,所以开发的成本就很低廉了,所以技术实现也就相对简单

Android手机的价格是现在市场价又很便宜。该系统客户端部分对手机硬件要求不大,要求Android系统的版本在4.0及以上,且拥有GPS功能即可。这样的手机在最低可以在几百的价位就能入手。

2.3 系统管理可行性

“基于安卓平台的儿童跟踪系统的”对手机系统的性能要求不是很高高,按照市场上的Android手机的性能,该系统的功能完全可以满足功能。大部分手机都能上网,现在的定位功能不受时间地点的限制,因此在任何又网络的地方都能定位到,实现该系统的功能也就成为可能。

3 需求分析与设计

3.1 研究目标

该系统利用安卓手机平台、GPS和百度地图,结合baidu Map,设计并实现了基于安卓平台儿童跟踪系统,能够有效的记录轨迹,不管儿童在什么位置,只有手机连接网络,打开该系统,就能实时的上传所在的位置信息,父母可以实时地看到孩子的经纬度,然后在地图上显示,如果还在行走还能记录孩子行驶的路线。这样就能让孩子一直能够在父母的视线中,不会让孩子走丢。

3.2 系统架构

该系统主要应用到数据库存储数据,用来存放获取到的经纬度,用户可以使用该系统根据经纬度能够及时和方便的更新在地图上的位置,方便家长了解还在所在的位置,

3.3 功能需求

《基于安卓平台的儿童跟踪系统》主要利用安卓和相应的地理定位技术进行移动终端应用开发。具体要求如下:

1)完整地陈述移动应用APP开发的主要技术和模式,完整地描述开发流程,重点阐开发过程中所应用的关键技术和原理。

2)结合本题所提到的应用场景,通过所设计的平台(可以和其他软件平台结合)设计一个具体较好的应用价值和推广意义的儿童行动定位、跟踪系统。

3)该系统可以实现实时通讯和路线描绘,最终反馈儿童的行驶路线(结合时间)信息。

4)给出完善的需求分析和系统设计方案,最终实现系统的原型。

4 系统设计

系统流程图:

4.1 总体设计

1)系统进入应该采用的是Timer线程,实现停留3秒进入应用,这样能够让用户看到导航也中所展示的所有内容。

代码分析:

sp = getSharedPreferences("config", MODE_PRIVATE);

editor = sp.edit();

isFirst = sp.getBoolean("isFirst", true);

Timer timer = new Timer();

TimerTask task = new TimerTask(){

private Intent intent ;

@Override

public void run() {

if(isFirst){

intent = new Intent(SplashActivity.this,WelcomeAcitivity.class);

startActivity(intent);

}else{

intent = new Intent(SplashActivity.this,MainActivity.class);

startActivity(intent);

}

editor.putBoolean("isFirst", false);

SplashActivity.this.finish();

}

};

timer.schedule(task, 3000);

如果是第二次进入应用以后isFirst变量会被修改为False。

2)系统进入主页面默认加载第一个地图fragment,因为在底部导航栏中设置,而Activity的加载时在清单文件中配置:

android:name=".SplashActivity"

android:label="足迹" >

4.2 定位模块

1)该系统最初设计目标是既能实现,儿童行走路线的规划,又能看见孩子每时每刻所在的位置,这样能让没看家长都能很好地照看还在,为每一个家长提供了很大的便利。

如上图所示,当打开应用的时候,就能够很精准的定位到自己所在的位置,打开应用首先进入的就是定位界面,其中应用采用底部导航栏的模式,其中地图表示自己所在的位置和导航功能的按钮。点击亲友团,则会进入跟踪还在的路线的功能。

2)在使用百度地图的时候第一步要申请key,这是为了能够实现定位功能连接百度地图的服务器。而且还需要注册百度地图的服务和联网权限。因为MapView是需要连接网络。

android:value="Appkey" />

上面代码是填写你申请的key,还要注册com.baidu.navi.location.f,因为该服务是实时的更新地理位置的一个服务。

4.3 路线跟踪某块实现

这是该系统的主要功能某块,当父母需要知道孩子在什么位置的时候,点击亲友团,就可以看到孩子在地图上所在的位置,并且记录还在行走的路线,父母可以在地图上看到孩子走过的路线,还在一直在地图上移动,并且可以根据时间算出移动的速度和距离,都可以在地图上对应的位置显示,这也是父母对该系统都比较关心和在乎的功能,在技术实现上主要依赖百度的图的sdk,能够给我们提供很多接口,方便我们去使用和开发。

1)计算距离的技术实现

在一段时间内根据经纬度得到两个点,然后根据这两个点,还有时间,根据这两个变量算出平均移动的速度

// 得到两个点

LatLng Point = new LatLng(Double.parseDouble(y),

Double.parseDouble(x));

LatLng myPoint = new LatLng(Double.parseDouble(latitude),

Double.parseDouble(longitude));

// 调用百度工具类,计算两点间距离

double distance = DistanceUtil.getDistance(Point, myPoint);

//两点间的距离

String parseDistance = parseDistance(distance);

// 转换距离

private String parseDistance(double distance) {

DecimalFormat format=new DecimalFormat("#.00");

if(distance<1000){

return format.format(distance)+"米";

}else{

return format.format(distance/1000)+"公里";

}

}

路线结果:

拿着设备走了一段路程之后,会在地图上画出一天行走的路线,如果是还在拿着这个设备,把数据传到服务器,父母也可以实时地看到还在所在的位置。

5 结束语

跟踪系统基本完整设计的功能要求,设计出对应的系统,对Android平台和软件开发平台有一个进一步的认识和理解,特别是在Android平台开发的几个特点。软件开发的步骤需要体验有更深层次的理解,同时设计项目不大,但是毕竟是一个非常好的开发体验。

设计的过程中,原始简单的可以实现的功能,在实际操作的时候才发现它并不容易。越困难之一是实现客户端和服务器之间的通信功能,相对系统协议,导致客户端和服务器通信数据混乱,最后不得不包内容和封装。经历了无数的问题,分析问题,最后得到结果后过程来解决这个问题,让人们快乐。

参考文献:

[1] 姚昱旻, 刘卫国. Android的架构与应用开发研究[J]. 计算机系统应用, 2008, 17(11): 110-112, 24.

[2] 尹京花, 王华军. 基于Android开发的数据存储[J]. 北京:北京师范大学出版社, 2012.

[3] 百度文库. Baidu Map API 百度地图接口整理[DB/OL].

[4] 李刚. Android疯狂讲义[M]. 北京: 电子工业出版社, 2013.

[5] 邓元平. 深入理解Android[M]. 北京: 机器工业出版社, 2012.

[6] 刘锐. Android开发的性能优化[J]. 电脑编程技巧与维护, 2013(16): 115-116, 118.

[7] 方舟, 张利娜, 张川, 等. 基于ANDROID系统的标準件数据库技术研究[J]. 机械设计与制造, 2013(4): 205-207.

[8] 张武, 韩俊乾. 基于Cortex-A8的Android 4.0.3系统架构之ADC的研究[J]. 安徽农业科学, 2013(20): 8777-8778.

猜你喜欢
Android平台位置路线
最优路线
『原路返回』找路线
画路线
基于Android平台软件开发技术研究
找路线