GPS 研究一 (Android2.3)
来源:互联网 发布:程序员在成都和重庆 编辑:程序博客网 时间:2024/04/29 13:48
(红字表示2.3的变化)
Framework:
1.frameworks/base/location/java/android/location
这里主要是用来被App调用的,API包是android.location。
JNI层只有一个文件,起到承上启下的作用。上层承接Framework,下层调用HAL层具体硬件抽象实现。
1. GpsInterface接口是gps模块中最重要的数据结构,它是底层驱动实现的接口,如果要porting到自己的板子上,就需要实现这些接口。该接口的定义在gps.h中,模拟器实现在gps_qemu.c中。
这里主要是用来被App调用的,API包是android.location。
2.frameworks/base/location/java/com/android/internal/location
这个目录是Framework对Location服务的内部实现。
这个目录是Framework对Location服务的内部实现。
3.framework/services/java/com/android/server
这个目录只有一个文件
这个目录只有一个文件
|-- LocationManagerService.java
是Location服务对内部实现的一种封装。
是Location服务对内部实现的一种封装。
JNI:
2.2
frameworks/base/core/jni/android_location_GpsLocationProvider.cpp
frameworks/base/core/jni/android_location_GpsLocationProvider.cpp
2.3
/framework/base/services/jni/com_android_server_location_GpsLocationProvider.cpp
JNI层只有一个文件,起到承上启下的作用。上层承接Framework,下层调用HAL层具体硬件抽象实现。
HAL:Hardware Abstract Layer 硬件抽象层
hardware/libhardware_legacy/gps
hardware/libhardware_legacy/include/hardware_legacy/gps.h
HAL层相当于一个linux应用程序接口,通过open,close等操作,操作硬件设备。Android的源代码只实现了模拟器的gps接口,具体在文件gps_qemu.c中。在2.2版本中提供了对QCOM公司的gps的实现,在以下目录:
/hardware/qcom
hardware/libhardware_legacy/gps
hardware/libhardware_legacy/include/hardware_legacy/gps.h
HAL层相当于一个linux应用程序接口,通过open,close等操作,操作硬件设备。Android的源代码只实现了模拟器的gps接口,具体在文件gps_qemu.c中。在2.2版本中提供了对QCOM公司的gps的实现,在以下目录:
/hardware/qcom
下面介绍几个重要的数据结构:
1. GpsInterface接口是gps模块中最重要的数据结构,它是底层驱动实现的接口,如果要porting到自己的板子上,就需要实现这些接口。该接口的定义在gps.h中,模拟器实现在gps_qemu.c中。
2.GpsCallbacks回调函数
这个是回调函数结构体,定义也在gps.h中。它们的实现是在com_android_server_android_location_GpsLocationProvider.cpp中,google已经实现了,我们不需要做任何动作。
2.2
2.3 中 多加入了 以下几个回调函数
3. GpsLocation
表示Locatin数据信息,底层驱动获得Location的raw信息,通常是nmea码,然后通过解析就得到了location信息。
其中Android2.3比android2.2多加入了 size 属性 以获取其大小。
- GPS 研究一 (Android2.3)
- GPS 研究一 (Android2.3)
- GPS 研究(Android2.3)
- GPS 研究三 (android2.3__gingerbread)
- porting gps to android2.3 (一)
- porting gps to android2.3
- android2.3 gps 架构流程
- porting gps to android2.3
- android2.3 GPS HAL 移植实战
- android2.3 gps 调用流程以及与android2.2 gps的一些区别
- [android2.3]GPS启动流程及数据流向分析
- [android2.3]GPS启动流程及数据流向分析
- [android2.3]GPS启动流程及数据流向分析
- 基于Android2.3的车载导航---andorid GPS HAL的移植与分析(by liukun321咕唧咕唧)
- 基于Android2.3的车载导航---andorid GPS HAL的移植与分析(by liukun321咕唧咕唧)
- GPS 研究二 (Android 2.3__gingerbread)
- Android2.3 Ethernet Framework 移植(一)
- android2.3 gps上传数据后重启或是 JNIEnv* env = AndroidRuntime::getJNIEnv(); return == NULL
- myeclipse中tomcat内存大小的设置
- 由onclick 和ondblclick谈谈用户体验的问题
- MySql概览
- [转!]WebSphere Application Server 概要(Profile)理解入门,第 1 部分: 基本概念
- 我的嵌入式学习笔记(2)--scanf使用常见问题及解决方法
- GPS 研究一 (Android2.3)
- boost::thread库,奇怪的文档没有Tutorial的库,但是却仍然相当强大
- POJ 1456 并查集的又一种用法
- C++字符串函数
- 搜索
- USACO 1.2.2 Transformations(transform)
- /usr/src/linux/include 是空的
- arcgis的dissolve,append,Merge,merge union append
- 合并txt文件一例