Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android传感器意外崩溃_Java_Android_Eclipse_Accelerometer_Logcat - Fatal编程技术网

Java Android传感器意外崩溃

Java Android传感器意外崩溃,java,android,eclipse,accelerometer,logcat,Java,Android,Eclipse,Accelerometer,Logcat,每当我试图运行它时,它就会崩溃。我不知道问题出在哪里。我是遗漏了什么还是放错地方了?在logcat中,它说在oncreate之前,系统服务对活动不可用 import android.os.Bundle; import android.app.Activity; import android.hardware.Sensor; import android.hardware.SensorEvent; import android.hardware.SensorEventListener; impor

每当我试图运行它时,它就会崩溃。我不知道问题出在哪里。我是遗漏了什么还是放错地方了?在logcat中,它说在oncreate之前,系统服务对活动不可用

import android.os.Bundle;
import android.app.Activity;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Handler;
import android.view.Menu;
import android.widget.*;
import android.*;

import java.math.*;
import java.text.*;
import java.util.*;

public class MainActivity extends Activity implements SensorEventListener {


    private final SensorManager mSensorManager;
    private final Sensor mRotationVector;

    public float x,y,z;

    public MainActivity(){
            mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
            mRotationVector = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }


    protected void onResume() {
        super.onResume();
        mSensorManager.registerListener(this, mRotationVector, SensorManager.SENSOR_DELAY_GAME);
    }

    protected void onPause() {
        super.onPause();
        mSensorManager.unregisterListener(this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public void onAccuracyChanged(Sensor sensor, int accuracy) {
        // TODO Auto-generated method stub

    }

    @Override
    public void onSensorChanged(SensorEvent event) {
        x= event.values[0];
        y= event.values[1];
        z= event.values[2];

        TextView mTextView0 = (TextView) findViewById(R.id.textView0);
        mTextView0.setText("x"+x);
        TextView mTextView1 = (TextView) findViewById(R.id.textView1);
        mTextView1.setText("y"+y);
        TextView mTextView2 = (TextView) findViewById(R.id.textView2);
        mTextView2.setText("z"+z);


    }

}

您是否已将构造函数添加到活动中?没有必要,只需在onCreate()中执行这些操作即可。然后初始化你的文本视图

  private TextView mTextView0;
  private TextView mTextView1;
  private TextView mTextView2;



    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mTextView0 = (TextView) findViewById(R.id.textView0);

    mTextView1 = (TextView) findViewById(R.id.textView1);

    mTextView2 = (TextView) findViewById(R.id.textView2);


     mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
        mRotationVector = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
}

您是否已将构造函数添加到活动中?没有必要,只需在onCreate()中执行这些操作即可。然后初始化你的文本视图

  private TextView mTextView0;
  private TextView mTextView1;
  private TextView mTextView2;



    @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mTextView0 = (TextView) findViewById(R.id.textView0);

    mTextView1 = (TextView) findViewById(R.id.textView1);

    mTextView2 = (TextView) findViewById(R.id.textView2);


     mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
        mRotationVector = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
}
你的LogCat告诉你一切

所以换成

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
    mRotationVector = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
}
并删除此构造函数
public main activity()

你的LogCat告诉你一切

所以换成

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
    mRotationVector = mSensorManager.getDefaultSensor(Sensor.TYPE_ROTATION_VECTOR);
}

并删除此构造函数
public main activity()

哦,太好了。谢谢各位。成功了。另一个随机问题是为什么我在textview 1和2中的数据会左右移动?有没有办法阻止它?为什么会导致它移动?文本视图0是stable@TheWaller我认为这些都将随着您的设备在任何程度上的移动而移动!因为您在SensorChanged中使用它们,所以我理解为什么值会移动,但实际的textview会左右移动一点。我对数字的移动没什么意见,我只是希望它能保持稳定——事实上我明白了。我添加了一个线性布局来保持它的稳定。哦,很好。谢谢各位。成功了。另一个随机问题是为什么我在textview 1和2中的数据会左右移动?有没有办法阻止它?为什么会导致它移动?文本视图0是stable@TheWaller我认为这些都将随着您的设备在任何程度上的移动而移动!因为您在SensorChanged中使用它们,所以我理解为什么值会移动,但实际的textview会左右移动一点。我对数字的移动没什么意见,我只是希望它能保持稳定——事实上我明白了。我添加了一个线性布局以保持稳定。