Android传感器模拟器,如何为Android构建传感器模拟器?
好吧,看起来你想做的是一个应用程序,它将在模拟器上进行测试时,在Android设备上为你的应用程序模拟传感器。
可能在你的应用程序中,你有这样一行:
SensorManager mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);为什么不创建一个具有您从SensorManager使用的方法的界面:
interface MySensorManager {
List getSensorList(int type);
... // You will need to add all the methods you use from SensorManager here
}然后为传感器管理器创建一个包装器,它只是在真正的SensorManager对象上调用这些方法:
class MySensorManagerWrapper implements MySensorManager {
SensorManager mSensorManager;
MySensorManagerWrapper(SensorManager sensorManager) {
super();
mSensorManager = sensorManager;
}
List getSensorList(int type) {
return mSensorManager.getSensorList(type_;
}
... // All the methods you have in your MySensorManager interface will need to be defined here - just call the mSensorManager object like in getSensorList()
}然后创建另一个MySensorManager,这次通过套接字与桌面应用程序进行通信,您将在其中创建输入传感器值的位置或其他位置:
class MyFakeSensorManager implements MySensorManager {
Socket mSocket;
MyFakeSensorManager() throws UnknownHostException, IOException {
super();
// Connect to the desktop over a socket
mSocket = = new Socket("(IP address of your local machine - localhost won't work, that points to localhost of the emulator)", SOME_PORT_NUMBER);
}
List getSensorList(int type) {
// Use the socket you created earlier to communicate to a desktop app
}
... // Again, add all the methods from MySensorManager
}最后,替换你的第一行:
SensorManager mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);用一条新线:
MySensorManager mSensorManager;
if(YOU_WANT_TO_EMULATE_THE_SENSOR_VALUES) {
mSensorManager = new MyFakeSensorManager();
else {
mSensorManager = new MySensorManagerWrapper((SensorManager)getSystemService(SENSOR_SERVICE));
}现在,您可以使用该对象而不是之前使用的SensorManager。
Android传感器模拟器,如何为Android构建传感器模拟器?相关推荐
- Android模拟器学framework和driver之传感器篇3(Android HAL)
Android模拟器学framework和driver之传感器篇3(Android HAL) 前面,带着大家一起写了一个temperature sensor的驱动,已经一个测试tool来测试这个驱动, ...
- 【Android 命令行工具】Android 命令行工具简介 ( 官方文档 | SDK 命令行工具 | SDK 构建工具 | SDK 平台工具 | 模拟器工具 | Jetifier 工具 )
文章目录 一.官方文档 二.Android 命令行工具简介 1.SDK 命令行工具 2.SDK 构建工具 3.SDK 平台工具 4.模拟器工具 5.Jetifier 工具 一.官方文档 Android ...
- android传感器获取运动方向,Android开发者指南-运动传感器Motion Sensor[原创译文]...
Android 平台支持很多监测设备运动的传感器.其中有两个传感器一定是基于硬件的(加速度计和陀螺仪),有三个可能基于硬件或软件(重力计.线性加速计和旋转向量传感器). 比如,某些设备的软传感器利用加 ...
- Android学习小记-----监听并保存传感器数据,让service后台运行(保持CPU运转
最近做了一个Demo,监听手机中传感器的数据,并将数据保存到手机文件中,发现数据会有丢失的现象. 经过多次测试,发现系统进入深度休眠了,之后service会停止,虽然增加了service自动启动的功能 ...
- Pro Android学习笔记(一五五) 传感器(5) 磁场传感器和方位(上)
分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 文章转载 ...
- Pro Android学习笔记(一五五):传感器(5): 磁场传感器和方位(上)
文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处http://blog.csdn.net/flowingflying/以及作者@恺风Wei. 磁场传感器(Magne ...
- Android传感器利用Senser实现不同的传感器
传感器有不同的类型,以下是我列出的光线,加速度,风向传感器,在测试不同传感器的时候都需将传感器管理的onResume中 sensorManager.registerListener(myListner ...
- android 心率动画,如何在Android Wearable中访问心率传感器?
在我完成以下操作后开始为我工作: >从手表中卸载我的应用程序 adb -s localhost:4444 uninstall com.example.android.wearable.jumpi ...
- android学习笔记---57_采用方向传感器实现指南针,android设备传感器介绍,以及使用方法
Java技术qq交流群:JavaDream:251572072 ------------------------------------------------------ 传感器类型:方向.加速度( ...
最新文章
- request.form()和request()和request.data的区别
- iOS Storyboard创建APP 的国际化操作
- MySQL第11天:MySQL索引优化分析之性能分析
- Gridview分页模板
- 很多优秀的软件公司和开发者为什么愿意开源和共享?
- HBuilder X格式化美化代码快捷键
- 分式求二阶导数_近10年高考数学“导数大题”分析,附2021备考建议
- UOJ310 黎明前的巧克力 FWT
- Symantec(赛门铁克)非受管检测
- PHP获取URL完整路径及物理路径
- 不要给我说什么底层原理_连集合底层实现原理都不知道,你敢说 Redis 用的很溜?...
- AttributeError: module 'socketio' has no attribute 'Server'
- Java基础-运行原理及变量(01)
- paip.提升开发效率---事件化V0829
- linux如何查看内存?
- vim 插件配置与安装
- SQL Server忘记密码后成功重置密码的方法
- 网络工程师工作经验分享
- [原创] IE中的图片显示不出来
- 三方支付之支付宝支付实现逻辑