南京百度网站制作,阿里云 xampp wordpress,企业营销策划方案,邯郸市递加网络有限公司(1)我介绍的是光线感应器(LightSensor)#xff0c;所谓的光线感应器就是可以感应光线强度的一个设备#xff0c;而我们对他的开发一般是通过感应光线强度的变化。因为这篇文章是android常用的硬件感应器为主题的#xff0c;那么我就来介绍怎样在android系统使用光线感应器所谓的光线感应器就是可以感应光线强度的一个设备而我们对他的开发一般是通过感应光线强度的变化。因为这篇文章是android常用的硬件感应器为主题的那么我就来介绍怎样在android系统使用光线感应器我说的真机因为模拟并没有能够模拟出感应器的效果。。 (2)首先android通过一个SensorManager来管理各种感应器而获得这个管理器的引用必须通过(SensorManager)getSystemService(Context.SENSOR_SERVICE);这句代码来获得。 (3)在android系统中所有的感应器都属于Sensor类的一个实例并没有继续细分下去通过这次的主题你也会发现android对于感应器的处理几乎是一摸一样的。既然都是Sensor类那么怎么获得相应的感应器呢这时就需要通过SensorManager来获得我们通过这句代码来确定我们要获得感应器类型. sensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);很显然我获得的是光线感应器的引用. (4)既然已经获得相应的感应器的引用那么我们的怎么用呢在第一部分我就说到了我们通过感应光线强度的变化注意是‘变化’。有些人获取已经明白了既然是变化我们肯定需要通过监听他来获得变化。因为我们就需要给我们的感应器加个监听android提供了两个监听一个是SensorEventListener,另一个SensorListener因为后者已经在androidAPI上显示过时了那么我们就不介绍他了。 (5)知道了有哪些感应器监听,那么我们就来介绍下如何给感应器加监听这时又需要SensorManager,他就是感应器的保姆很多关于感应器的部分都要靠他。 SensorManager关于加监听的方法有几个: registerListenr(SensorListenerlistenr,int sensors,int rate):已过时 registerListenr(SensorListenerlistenr,int sensors):已过时 registerListenr(SensorEventListenerlistenr,Sensor sensors,int rate) registerListenr(SensorEventListenerlistenr,Sensor sensors,int rate,Handlerhandler)因为SensorListener已经过时那么相应的注册方法也就过时了。 说下各个参数的意义: Listener:相应监听器的引用 Sensor:相应的感应器引用 Rate:感应器的反应速度这个必须是系统提供4个常量之一的 SENSOR_DELAY_NORMAL:匹配屏幕方向的变化 SENSOR_DELAY_UI匹配用户接口 SENSOR_DELAY_GAME匹配游戏 SENSOR_DELAY_FASTEST.匹配所能达到的最快 Handler: (6)要注意的是在android中注册了感应器也就启用了他而使用感应器是相当耗电的这些是为什么感应器的应用没有那么泛滥的主要原因所以我们必须在我们不需要他的时候关掉他。怎么关闭呢注册是启用那么注销就是关闭了。Android有以下一些注销方法: unregisterListener(SensorEventListenerlistener); unregisterListener(SensorEventListenerlistener,Sensor sensor);相应的参数作用我相信大家也就知道了。 (7)知道开和关那么现在就来介绍具体的用也就是关于SensorEventListener的实现实现这个监听器必须实现两个方法一个是onAccuracyChanged(Sensor sensor,
intaccuracy),另一个是onSensorChanged(SensorEventevent)。第一个方法是反应速度变化的方法也就是第五部分的rate变化时的方法.另一个是感应器的值变化的相应的方法。但是需要注意的是这两个方法是响应的是一起就是说当感应器发生变化两个方法都会一起被调用。 下面我介绍下accuracy的值也就是那四个常量相应的整数 SENSOR_DELAY_NORMAL:3 SENSOR_DELAY_UI2 SENSOR_DELAY_GAME1 SENSOR_DELAY_FASTEST.0 现在介绍SensorEvent类 它有四个成员变量 Accuracy:精确值 Sensor:发生变化的感应器 Timestamp:发生的时间单位是纳秒 Values:发生变化后的值,这个是一个长度为3数组 光线感应器只需要values[0]的值其他两个都为0.而values[0]就是我们开发光线感应器所需要的单位是lux照度单位
http://www.eoeandroid.com/thread-79733-1-1.html