首先,我对Android Studio完全陌生。
我想每天在2359小时将步数计数器自动重置为0,同时能够保存用户执行的步数并将其上载到Firebase数据库。
我应该使用什么代码?我可以使用任何参考来实现这一目标吗? 非常感谢您的帮助。
我已经尝试过查找StackOverflow中的所有帖子,但没有一个提供准确和最新的答案。他们正在使用不推荐使用的代码,内容简短且笼统。对于像我这样的初学者,它没有提供任何指导。
我在这里尝试了解决方案: Resetting Android step counter Step counter doesn't reset the step count Step counter in Android
这是我当前的代码:
public class StepsFragment extends Fragment implements SensorEventListener {
TextView tv_steps;
SensorManager sensorManager;
Sensor sensor;
boolean running = false;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_steps, container, false);
super.onCreate ( savedInstanceState );
tv_steps = (TextView) view.findViewById(R.id.tv_steps);
sensorManager = (SensorManager) getActivity().getSystemService ( Context.SENSOR_SERVICE);
return view;
}
@Override
public void onResume() {
super.onResume ();
running = true;
Sensor countSensor = sensorManager.getDefaultSensor ( sensor.TYPE_STEP_COUNTER );
if(countSensor!= null){
sensorManager.registerListener ( this,countSensor,SensorManager.SENSOR_DELAY_UI );
}else {
Toast.makeText (getActivity(),"SENSOR NOT FOUND",Toast.LENGTH_SHORT ).show ();
}
}
@Override
public void onPause() {
super.onPause ();
running = false;
//if you unregister the hardware will stop detecting steps
}
@Override
public void onSensorChanged(SensorEvent event) {
if (running){
tv_steps.setText ( String.valueOf ( event.values[0] ) );
}
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
}
}
我希望能够在2359小时每天将步数计数器重置为0,同时能够将单个用户执行的步数上载到Firebase数据库。