android传感器高级编程,Android传感器,Android编程之光线传感器用法详解

android传感器高级编程,Android传感器,Android编程之光线传感器用法详解

这篇文章主要介绍了机器人编程之光线传感器用法,结合实例形式分析了机器人光线传感器的功能、实现步骤与相关注意事项,并给出了相关演示示例,需要的朋友可以参考下

本文实例讲述了机器人编程之光线传感器用法。分享给大家供大家参考,具体如下:

机器人手机自带光线传感器,通常我们手机的屏幕自动亮度都是用光线传感器来实现的。该传感器在前置摄像头附近,此外,还有一个距离传感器。这里主要讲解如何使用机器人手机的光线传感器。

获得感应器服务

机器人开发中要使用光线传感器,需要先获得系统传感器服务语境。传感器_服务,获得方法如下:

传感器管理器senser manager=(传感器管理器)getsystem service(上下文.传感器_服务);

获得光线传感器

传感器管理器是系统传感器服务,是系统所有传感器的管理器。通过它,我们获得制定类型的传感器,获得光线传感器的方法如下:

传感器传感器=传感器管理器。getdefaultsensor(传感器.TYPE _ LIGHT);

代码中传感器。类型_光是指光线传感器。

传感器中还有许多其他的传感器,这里暂不讨论。

编写监听器

有了传感器对象之后,我们需要对该感应器进行监听,使用SensorEventListener接口,主要有onSensorChanged()和onAccuracyChanged()这两个方法,代码如下:

SensorEventListener listener=new SensorEventListener(){

@覆盖

公共void onAccuracyChanged(传感器传感器,int精度){

//当传感器精度发生变化时

}

@覆盖

公共void onSensorChanged(传感器事件事件){

//当传感器监测到的数值发生变化时

}

};

注册监听器

接下来我们还需要调用传感器管理器的注册侦听器()方法来注册SensorEventListener才能使其生效,注册侦听器()方法包含三个参数:SensorEventListener实例,传感器的实例和传感器输出信息更新速率。

传感器输出信息更新速率有:

传感器_延迟_用户界面

传感器_延迟_正常

传感器_延迟_游戏

传感器_延迟_最快

总共四种值可选,它们的更新速率是依次递增的。

注册SensorEventListener的代码如下:

传感器经理。注册监听器(监听器,传感器,传感器管理器.传感器_延迟_正常);

注销监听器

最后,当程序退出或传感器使用完毕时,一定要调用注销侦听器()方法将使用的资源释放掉,如下所示:

传感器管理器。注销监听程序(监听器);

DEMO示例:

包com。测试。传感器。光;

导入安卓。app。活动;

导入安卓。内容。语境;

导入安卓。硬件。传感器;

导入安卓。硬件。传感器事件;

导入安卓。硬件。sensoreventlistener

导入安卓。硬件。传感器管理器;

导入安卓。OS。捆绑;

导入安卓。小部件。textview

公共类主要活动扩展活动{

//感应器管理器

私有传感器管理器

//光线亮度

私有TextView灯光

@覆盖

受保护的void onCreate(Bundle saved instancestate){

超级棒。oncreate(savedInstanceState);

//当前活动的内容是一个文本视图

light=新文本视图(这个);

设置内容视图(灯光);

//获得感应器服务

传感器管理器=(传感器管理器)getsystem服务(上下文.传感器_服务);

//获得光线感应器

传感器传感器=传感器管理器。getdefaultsensor(传感器.TYPE _ LIGHT);

//注册监听器

sensorManager.registerListener(侦听器,传感器传感器管理器.传感器_延迟_正常);

}

//活动被销毁

@覆盖

受保护的void onDestroy() {

超级棒。on destroy();

//注销监听器

if (sensorManager!=null) {

传感器管理器。注销监听程序(监听器);

}

}

//感应器事件监听器

private SensorEventListener listener=new SensorEventListener(){

//当感应器精度发生变化

@覆盖

公共void onAccuracyChanged(传感器传感器,int精度){

}

//当传感器监测到的数值发生变化时

@覆盖

public void onSensorChanged(sensor event事件){

//值数组中的第一个值是当前光线强度。

浮点值=event . values[0];

Light.setText('当前亮度'值' LX(lux)');

}

};

}

备注:开发使用光传感器不需要声明Android Manifest权限。

另外,对于某些程序,在改变当前程序的屏幕亮度时,可以考虑加入光线传感器的判断。

因为大部分这类节目,都会有这样的问题。当屏幕亮度设置为一个值时(在非亮度级模式下),设置为自动亮度级模式时无效。

更多对Android相关内容感兴趣的读者,请查看我们的专题:《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity操作技巧总结》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》和《Android资源操作技巧汇总》。

希望这篇文章对大家的Android编程有所帮助。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • windowsandroid手机版下载,windowsandroid安装apk
  • windowsandroid手机版下载,windowsandroid安装apk,WindowsAndroid 安装教程详解
  • android调用webview方法,androidwebview是什么,Android 中 WebView 的基本用法详解
  • android.app.Dialog,android自定义dialog对话框,Android开发笔记之-Dialog的使用详解
  • android 图片视频轮播框架,androidlayout轮播图,Android实现炫酷轮播图效果
  • android里的viewpager,安卓自定义view流程,Android自定义引导玩转ViewPager的方法详解
  • android里的viewpager,android viewpager详解
  • android里的viewpager,android viewpager详解,Android自定义超级炫酷的ViewPage指示器
  • android调用webview方法,androidwebview是什么
  • android设置控件宽度,android获取屏幕宽度和高度
  • android设置控件宽度,android获取屏幕宽度和高度,Android中获取控件宽高的4种方法集合
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程
  • android蓝牙开发的基本流程,安卓蓝牙app开发教程,android蓝牙简单开发示例教程
  • android菜单栏,android菜单控件
  • android菜单栏,android菜单控件,Android实现选项菜单子菜单
  • 留言与评论(共有 条评论)
       
    验证码: