android传感器学习之获取手机传感器
2015-05-21 11:21
633 查看
在做手机开发的时候,我们有时会使用到传感器,特别是在游戏开发中。下面我没来学习一下传感器的获取。
在这里我们需要一部真实的android手机,我使用的是华为的c8650。
获取手机中的传感器的步骤为:
获取SensorManager对象
执行SensorManager对象的getDefaultSensor()方法获取Sensor对象,这里getDefaultSensor()方法要传递一个参数,指定具体的传感器类型
获取Sensor对象中的各种属性
不说那么多了,先截图看看我的运行效果吧:
界面:
![](http://my.csdn.net/uploads/201205/30/1338346495_9710.png)
点击按钮后得到数据:
![](http://my.csdn.net/uploads/201205/30/1338346543_5684.png)
xml布局代码:
[html]
view plaincopyprint?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btnGetSensor"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/btngetsensorstr"/>
</LinearLayout>
activity代码:
[java]
view plaincopyprint?
package com.nine.sensordemo;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
private Button btnGetSensor;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initWedget();
}
private void initWedget() {
btnGetSensor = (Button) findViewById(R.id.btnGetSensor);
btnGetSensor.setOnClickListener(this);
}
public void onClick(View v) {
SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
//得到手机上所有的传感器
List<Sensor> listSensor = manager.getSensorList(Sensor.TYPE_ALL);
int i = 1;
for (Sensor sensor : listSensor) {
Log.d("sensor " + i, sensor.getName());
i++;
}
//通过调用getDefaultSensor方法获取某一个类型的默认传感器
//Sensor s = manager.getDefaultSensor(Sensor.TYPE_LIGHT);
}
}
这里主要是获取手机的所有传感器,下一步是获取传感器中的数据。
在这里我们需要一部真实的android手机,我使用的是华为的c8650。
获取手机中的传感器的步骤为:
获取SensorManager对象
执行SensorManager对象的getDefaultSensor()方法获取Sensor对象,这里getDefaultSensor()方法要传递一个参数,指定具体的传感器类型
获取Sensor对象中的各种属性
不说那么多了,先截图看看我的运行效果吧:
界面:
![](http://my.csdn.net/uploads/201205/30/1338346495_9710.png)
点击按钮后得到数据:
![](http://my.csdn.net/uploads/201205/30/1338346543_5684.png)
xml布局代码:
[html]
view plaincopyprint?
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<Button
android:id="@+id/btnGetSensor"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/btngetsensorstr"/>
</LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:id="@+id/btnGetSensor" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/btngetsensorstr"/> </LinearLayout>
activity代码:
[java]
view plaincopyprint?
package com.nine.sensordemo;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.hardware.Sensor;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class MainActivity extends Activity implements OnClickListener {
private Button btnGetSensor;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initWedget();
}
private void initWedget() {
btnGetSensor = (Button) findViewById(R.id.btnGetSensor);
btnGetSensor.setOnClickListener(this);
}
public void onClick(View v) {
SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE);
//得到手机上所有的传感器
List<Sensor> listSensor = manager.getSensorList(Sensor.TYPE_ALL);
int i = 1;
for (Sensor sensor : listSensor) {
Log.d("sensor " + i, sensor.getName());
i++;
}
//通过调用getDefaultSensor方法获取某一个类型的默认传感器
//Sensor s = manager.getDefaultSensor(Sensor.TYPE_LIGHT);
}
}
package com.nine.sensordemo; import java.util.List; import android.app.Activity; import android.content.Context; import android.hardware.Sensor; import android.hardware.SensorManager; import android.os.Bundle; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class MainActivity extends Activity implements OnClickListener { private Button btnGetSensor; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); initWedget(); } private void initWedget() { btnGetSensor = (Button) findViewById(R.id.btnGetSensor); btnGetSensor.setOnClickListener(this); } public void onClick(View v) { SensorManager manager = (SensorManager) getSystemService(Context.SENSOR_SERVICE); //得到手机上所有的传感器 List<Sensor> listSensor = manager.getSensorList(Sensor.TYPE_ALL); int i = 1; for (Sensor sensor : listSensor) { Log.d("sensor " + i, sensor.getName()); i++; } //通过调用getDefaultSensor方法获取某一个类型的默认传感器 //Sensor s = manager.getDefaultSensor(Sensor.TYPE_LIGHT); } }
这里主要是获取手机的所有传感器,下一步是获取传感器中的数据。
相关文章推荐
- android传感器学习之获取手机传感器
- Android学习之手机传感器的获取
- android开发学习(二)——保存文件到手机内存和SD卡,文件访问权限,获取内存大小
- Android基础学习之获取手机IMEI序列号
- Android传感器学习之加速度传感器数据获取
- 【android学习】获取手机已安装程序
- Android之如何获取手机中所有的传感器
- 安卓学习笔记---【Android】获取手机的基本信息
- android传感器学习之获取传感器的值
- android 获取手机中所有的传感器Sensor类使用方法
- android 获取手机中所有的传感器Sensor类使用方法
- android 获取手机中所有的传感器Sensor类使用方法
- Android应用学习记录------AsyncTask和AsyncQueryHandler结合获取手机联系人信息
- Android入门学习_Android获取手机信息
- 获取Android手机设备中的传感器
- Android学习篇章53-SensorManage 获取传感器列表
- android学习--手机获取IP地址
- Android利用ContentReslover和动态权限获取手机联系人的案例.TXT
- Android之获取控件的宽高和手机屏幕的宽高
- 获取手机支持的所有传感器类型