详解 android 光线传感器 light sensor的使用

 更新时间:2017年06月28日 11:38:16   作者:yangshuolll  
这篇文章主要介绍了详解 android 光线传感器 light sensor的使用的相关资料,需要的朋友可以参考下

调用anroid的光线传感器使用。

实现效果图:

MainActivity.Java

package hk.ust.cse.comp107x.ligthsensor; 
 
import android.content.Context; 
import android.hardware.Sensor; 
import android.hardware.SensorEvent; 
import android.hardware.SensorEventListener; 
import android.hardware.SensorManager; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.widget.TextView; 
 
public class MainActivity extends AppCompatActivity implements SensorEventListener{ 
  private SensorManager mSensorManager; 
  private Sensor mPressure; 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    // Get an instance of the sensor service, and use that to get an instance of 
    // a particular sensor. 
    mSensorManager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); 
    mPressure = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT); 
  } 
  @Override 
  public final void onAccuracyChanged(Sensor sensor, int accuracy) { 
    // Do something here if sensor accuracy changes. 
  } 
  @Override 
  public final void onSensorChanged(SensorEvent event) { 
    float light = event.values[0]; 
    TextView v = (TextView)findViewById(R.id.textView); 
    v.setText(Float.toString(light)); 
    // Do something with this sensor data. 
  } 
  @Override 
  protected void onResume() { 
    // Register a listener for the sensor. 
    super.onResume(); 
    mSensorManager.registerListener(this, mPressure, SensorManager.SENSOR_DELAY_NORMAL); 
  } 
 
  @Override 
  protected void onPause() { 
    // Be sure to unregister the sensor when the activity pauses. 
    super.onPause(); 
    mSensorManager.unregisterListener(this); 
  } 
} 

activity_main.xml

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  xmlns:tools="http://schemas.android.com/tools" 
  android:layout_width="match_parent" 
  android:layout_height="match_parent" 
  android:paddingBottom="@dimen/activity_vertical_margin" 
  android:paddingLeft="@dimen/activity_horizontal_margin" 
  android:paddingRight="@dimen/activity_horizontal_margin" 
  android:paddingTop="@dimen/activity_vertical_margin" 
  tools:context="hk.ust.cse.comp107x.ligthsensor.MainActivity"> 
 
  <TextView 
    android:id="@+id/textView" 
    android:textSize="50dp" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Hello World!" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:layout_marginTop="177dp" /> 
</RelativeLayout> 

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  package="hk.ust.cse.comp107x.ligthsensor"> 
 
  <application 
    android:allowBackup="true" 
    android:icon="@mipmap/ic_launcher" 
    android:label="@string/app_name" 
    android:supportsRtl="true" 
    android:theme="@style/AppTheme"> 
    <activity android:name=".MainActivity"> 
      <intent-filter> 
        <action android:name="android.intent.action.MAIN" /> 
 
        <category android:name="android.intent.category.LAUNCHER" /> 
      </intent-filter> 
    </activity> 
  </application> 
 
</manifest> 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • Android入门之Service的使用详解

    Android入门之Service的使用详解

    我们的Android在启动一些长事务时都会使用异步,很多初学者觉得这个异步就是一个异步线程+Handler而己。如果你这么想就错了。这一切其实靠的正是Android里的Service。本文就来和大家聊聊Service的生命周期和使用,需要的可以参考一下
    2022-12-12
  • Android中自定义一个View的方法详解

    Android中自定义一个View的方法详解

    这篇文章主要介绍了Android中自定义一个View的方法,结合实例形式较为详细的分析了Android中自定义View的具体步骤与相关注意事项,需要的朋友可以参考下
    2016-07-07
  • Gradle配置教程之自定义APK名称与输出路径

    Gradle配置教程之自定义APK名称与输出路径

    Gradle是一个基于JVM的富有突破性构建工具,下面这篇文章主要给大家介绍了关于Gradle配置教程之自定义APK名称与输出路径的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-03-03
  • Android 仿QQ头像自定义截取功能

    Android 仿QQ头像自定义截取功能

    在我们的qq聊天工具中,经常会使用qq头像截取功能,基于代码是怎么实现的呢?下面小编通过本文给大家分享android 仿qq头像自定义截取功能的思路分析及编码实现过程,感兴趣的朋友一起学习吧
    2016-10-10
  • flutter窗口初始和绘制流程详析

    flutter窗口初始和绘制流程详析

    这篇文章主要给大家介绍了关于flutter窗口初始和绘制流程的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用flutter具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Android中.9.png图片的使用及制作

    Android中.9.png图片的使用及制作

    这篇文章主要介绍了Android中.9.png图片的使用及制作的相关资料,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • android 使用kotlin 实现点击更换全局语言(中日英切换)

    android 使用kotlin 实现点击更换全局语言(中日英切换)

    这篇文章主要介绍了android kotlin 点击更换全局语言的实现方法,这里主要介绍中日英切换,需要的朋友可以参考下
    2019-11-11
  • internal修饰符探索kotlin可见性控制详解

    internal修饰符探索kotlin可见性控制详解

    这篇文章主要为大家介绍了internal修饰符探索kotlin可见性控制详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Android中截取当前屏幕图片的实例代码

    Android中截取当前屏幕图片的实例代码

    该篇文章是说明在Android手机或平板电脑中如何实现截取当前屏幕的功能,并把截取的屏幕保存到SDCard中的某个目录文件夹下面。实现的代码如下:
    2013-08-08
  • Android实现波浪线效果(xml bitmap)

    Android实现波浪线效果(xml bitmap)

    这篇文章主要介绍了Android xml bitmap实现波浪线效果,制作过程简单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-01-01

最新评论