android studio中出现sensor or listener is null 怎么解决
以下是代码
package com.example.ji_bu_qi;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.app.ActivityCompat;
import android.annotation.SuppressLint;
import android.hardware.Sensor;
import android.hardware.SensorEvent;
import android.hardware.SensorEventListener;
import android.hardware.SensorManager;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import com.example.ji_bu_qi.bean.MyUser;
import cn.bmob.v3.Bmob;
import cn.bmob.v3.exception.BmobException;
import cn.bmob.v3.listener.SaveListener;
public class MainActivity extends AppCompatActivity {
TextView textView;
Sensor sensor;
MyUser myUser;
SensorManager sensorManager;
int i;
@SuppressLint("MissingInflatedId")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Bmob.initialize(this, "1313b79392ea5abbc84582917aa7b5ab");
ActivityCompat.requestPermissions(MainActivity.this,new String[]{"android.permission.WRITE_EXTERNAL_STORAGE","android.permission.INTERNET"},1);
myUser=new MyUser();
myUser.setAge(18);
myUser.setUserName("张三");
myUser.setStep(0);
myUser.save(new SaveListener<String>() {
@Override
public void done(String s, BmobException e) {
if(e==null){
Toast.makeText(MainActivity.this, "添加数据成功,返回objectId为:", Toast.LENGTH_SHORT).show();
}else{
Toast.makeText(MainActivity.this, "添加数据失败", Toast.LENGTH_SHORT).show();
}
}
});
textView=findViewById(R.id.textView);
sensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);
sensor = sensorManager.getDefaultSensor(Sensor.TYPE_STEP_COUNTER);
SensorEventListener listener = new SensorEventListener() {
@Override
public void onSensorChanged(SensorEvent event) {
if (i==-1){
i = (int)event.values[0];
}
textView.setText("目前的步数是:"+((int)event.values[0]-i));
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
};
sensorManager.registerListener(listener,sensor,SensorManager.SENSOR_DELAY_GAME);
}
@Override
protected void onResume() {
super.onResume();
}
}