callbacks 函数结构体,就是相当于监听函数匿名类,当前中实现,别人在某个时刻去调用,然后参数可以传参数值进来。 通过传结构体指针到函数中,就可以了
gps就是通过回调函数,通过参数,把实际的值从hal层 放入到jni层的实现中。
简简单单的理解::就他妈的是按钮监听回调,是一个道理。
上层通过调用获取重要接口,注册函数,init传递回调函数,然后底层调用回调,调用上层的一层一层实现,把数据传递到上层。上层通过函数控制,重要接口的,开始结束,
reportlocation,其实是callback_locationg的调用的,是下层的调用把值一层一层传递到上层的。
jni层,有两个init,第一个是获取重要控制接口,第二个init是注册回调函数(相当于注册监听器)
开启控制了
umart 是读取串口的驱动,这是存在的直接调用的实现。用它和最底层的硬件模块通信。gps模块有的通电就可以传送数据。 数据就遵循一定协议的,拿来解析出值。
所谓的驱动就是本质上就是对硬件进行操作的api接口,是对硬件功能的抽象,
中间封装层的函数,定义的函数名,然后实现,实现的时候会调用函数。调用的是下层接口函数和本层辅助架构思路函数,实现的内容函数:供给上层使用(本层不调用)和本层调用的函数(为了实现上层调用的那个函数)。
实现上层调用的一个接口函数,本层不调用,调用下层的接口(本层没实现,直接调用函数取值)。中间函数:也就是封装本层的一些模块,调用下层,实现的函数给本层去调用的。
函数指针,就是对函数接口的实现。就是相当于接口信息。