Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1071450
  • 博文数量: 403
  • 博客积分: 10272
  • 博客等级: 上将
  • 技术积分: 4407
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:22
文章分类

全部博文(403)

文章存档

2012年(403)

分类: 嵌入式

2012-03-13 17:33:18

Java代码 复制代码 收藏代码
  1. public class GetPosition extends Activity {
  2. private TextView TextView01;
  3. private SensorManager mSensorManager;
  4. public void onCreate(Bundle savedInstanceState) {
  5. super.onCreate(savedInstanceState);
  6. setContentView(R.layout.get_position);
  7. TextView01 = (TextView) findViewById(R.id.textView1);
  8. mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
  9. }
  10. protected void onResume() {
  11. super.onResume();
  12. /* 取得方守性的Sensor,并注册SensorEventListener */
  13. mSensorManager.registerListener(mSensorEventListener,
  14. mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION),
  15. SensorManager.SENSOR_DELAY_NORMAL);
  16. }
  17. protected void onPause() {
  18. mSensorManager.unregisterListener(mSensorEventListener);
  19. super.onPause();
  20. }
  21. private final SensorEventListener mSensorEventListener = new SensorEventListener() {
  22. public void onAccuracyChanged(Sensor sensor, int accuracy) {
  23. }
  24. public void onSensorChanged(SensorEvent event) {
  25. /* 判断Sensor的种类 */
  26. if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {
  27. /* 取得X值资料 */
  28. float x_data = event.values[SensorManager.DATA_X];
  29. if ((x_data > 0 && x_data <= 22.5) || x_data > 337.5) {
  30. TextView01.setText("北方" + String.valueOf(x_data));
  31. } else if (x_data > 22.5 && x_data <= 67.5) {
  32. TextView01.setText("东北方" + String.valueOf(x_data));
  33. } else if (x_data > 67.5 && x_data <= 112.5) {
  34. TextView01.setText("东方" + String.valueOf(x_data));
  35. } else if (x_data > 112.5 && x_data <= 157.5) {
  36. TextView01.setText("东南方" + String.valueOf(x_data));
  37. } else if (x_data > 157.5 && x_data <= 202.5) {
  38. TextView01.setText("南方" + String.valueOf(x_data));
  39. } else if (x_data > 202.5 && x_data <= 247.5) {
  40. TextView01.setText("西南方" + String.valueOf(x_data));
  41. } else if (x_data > 247.5 && x_data <= 292.5) {
  42. TextView01.setText("西方" + String.valueOf(x_data));
  43. } else if (x_data > 292.5 && x_data <= 337.5) {
  44. TextView01.setText("西北方" + String.valueOf(x_data));
  45. }
  46. }
  47. }
  48. };
  49. }
public class GetPosition extends Activity { private TextView TextView01; private SensorManager mSensorManager; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.get_position); TextView01 = (TextView) findViewById(R.id.textView1); mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE); } protected void onResume() { super.onResume(); /* 取得方守性的Sensor,并注册SensorEventListener */ mSensorManager.registerListener(mSensorEventListener, mSensorManager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_NORMAL); } protected void onPause() { mSensorManager.unregisterListener(mSensorEventListener); super.onPause(); } private final SensorEventListener mSensorEventListener = new SensorEventListener() { public void onAccuracyChanged(Sensor sensor, int accuracy) { } public void onSensorChanged(SensorEvent event) { /* 判断Sensor的种类 */ if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) { /* 取得X值资料 */ float x_data = event.values[SensorManager.DATA_X]; if ((x_data > 0 && x_data <= 22.5) || x_data > 337.5) { TextView01.setText("北方" + String.valueOf(x_data)); } else if (x_data > 22.5 && x_data <= 67.5) { TextView01.setText("东北方" + String.valueOf(x_data)); } else if (x_data > 67.5 && x_data <= 112.5) { TextView01.setText("东方" + String.valueOf(x_data)); } else if (x_data > 112.5 && x_data <= 157.5) { TextView01.setText("东南方" + String.valueOf(x_data)); } else if (x_data > 157.5 && x_data <= 202.5) { TextView01.setText("南方" + String.valueOf(x_data)); } else if (x_data > 202.5 && x_data <= 247.5) { TextView01.setText("西南方" + String.valueOf(x_data)); } else if (x_data > 247.5 && x_data <= 292.5) { TextView01.setText("西方" + String.valueOf(x_data)); } else if (x_data > 292.5 && x_data <= 337.5) { TextView01.setText("西北方" + String.valueOf(x_data)); } } } };}


阅读(1000) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~