Android重力感應應用【安卓進化十七】

來源:互聯網
上載者:User

 

重力感應主要應用於遊戲開發中,這個效果非常棒!主要是3個軸,簡單理解:那個朝上,值為正,朝下值為負!這個效果我測試過了,由於在手機上才能實現重力感應,所以沒有。見諒!轉載請標明出處:http://blog.csdn.net/wdaming1986/article/details/6752232

 

一、MainActivity。java的代碼:

 

package com.ray.test; 

 

import android.app.Activity; 

import android.hardware.Sensor; 

import android.hardware.SensorEvent; 

import android.hardware.SensorEventListener; 

import android.hardware.SensorManager; 

import android.os.Bundle; 

import android.widget.TextView; 

 

public class MainActivity extends Activity{ 

 

    private SensorManager sensorMgr;  

    private TextView show_TextView; 

    Sensor sensor; 

    private float x, y, z;    

     

    @Override 

    protected void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState);  

        setContentView(R.layout.main); 

        show_TextView = (TextView)findViewById(R.id.text_view); 

        sensorMgr = (SensorManager) getSystemService(SENSOR_SERVICE);    

        sensor = sensorMgr.getDefaultSensor(Sensor.TYPE_ACCELEROMETER);    

        SensorEventListener lsn = new SensorEventListener()  

        {    

            @Override 

            public void onSensorChanged(SensorEvent e) { 

                // TODO Auto-generated method stub 

                x = e.values[SensorManager.DATA_X];    

                y = e.values[SensorManager.DATA_Y];    

                z = e.values[SensorManager.DATA_Z];    

                setTitle("x="+(int)x+","+"y="+(int)y+","+"z="+(int)z);  

                show_TextView.setText("x="+(int)x+", "+"y="+(int)y+", "+"z="+(int)z); 

            } 

 

            @Override 

            public void onAccuracyChanged(Sensor arg0, int arg1) { 

                 

            }    

        };   //註冊listener,第三個參數是檢測的精確度  

        sensorMgr.registerListener(lsn, sensor, SensorManager.SENSOR_DELAY_GAME);  

    } 

 

二、main.xml的代碼: www.2cto.com

 

<?xml version="1.0" encoding="utf-8"?> 

 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:orientation="vertical" 

     

android:layout_width="fill_parent" 

     

android:layout_height="fill_parent" 

     

     

<TextView   

         

android:id="@+id/text_view" 

         

android:layout_width="fill_parent"  

         

android:layout_height="wrap_content"  

         

android:textSize="25pt" 

     

/> 

 

</LinearLayout>   

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.