我目前正在开发一个xamarin.forms应用程序(目前只有android)。如果连接蓝牙设备(应用程序未运行),此应用程序应执行一些任务。任务是从传感器收集一些数据并写入sqlite数据库。
我设法使用广播接收者捕捉蓝牙事件......
我的问题是我应该如何收集和写入这些数据(GPS)?
我可以通过PCL中的某些事件给他们打电话吗? 或者我需要一些服务?或者我应该在.android项目中创建该功能?
我是xamarin和android的新手,所以我感谢任何帮助:)
由于
答案 0 :(得分:0)
我的问题是我应该如何收集和写入这些数据(GPS)?我可以通过PCL中的一些事件给他们打电话吗?或者我需要一些服务?或者我应该在.android项目中创建该功能吗?
有多种方法可以获取传感器数据,您可以在PCL
中进行此操作。
当您在bluetooth
中捕获BroadcastReceiver
个事件时,您可以使用OnReceive
方法获取传感器数据。
您可以使用DependencyService获取设备传感器数据,然后将其写入sqlite
数据库。正如文件所说:
Xamarin.Forms允许开发人员在特定于平台的项目中定义行为。然后,DependencyService会找到正确的平台实现,允许共享代码访问本机功能。
关于DependencyService
使用情况,您可以阅读该文档或参阅我的answer。
您可以使用DeviceMotionPlugin获取这些传感器数据。使用此插件时,您可以从任何项目或CrossDeviceMotion.Current
致电PCL
以获取对API的访问权限。
您可以在PCL
中实施此功能。当您使用method 2
或method 3
时,您可以在PCL
中获取传感器数据,然后将这些数据存储到您的sqlite中。 仍然使用原生Android API在原生Android中获取传感器数据,但您可以在PCL
中使用这些数据。