Как загрузить шаги, сделанные в базу данных Firebase, перед ежедневным сбросом счетчика шагов в Android Studio? - PullRequest
0 голосов
/ 27 марта 2019

Прежде всего: я совершенно новичок в Android Studio.

Я хотел бы автоматически сбрасывать счетчик шагов на 0 ежедневно в 2359 часов, сохраняя при этом возможность сохранять шаги пользователя и загружать его в базу данных Firebase.

Какой код я должен использовать, и есть ли какие-либо ссылки, которые я могу использовать для достижения этой цели? Большое спасибо за вашу помощь.

Я уже пробовал искать все сообщения в StackOverflow, но ни один из них не дает точных и обновленных ответов. Они используют устаревший код и являются краткими и общими. Для новичка, как я, это не дает никакого направления.

Я попробовал решения здесь: Сброс счетчика шагов Android Счетчик шагов не сбрасывает счетчик шагов Счетчик шагов в 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) {

}
}

Я хочу иметь возможность сбрасывать счетчик шагов ежедневно на 0 в 2359 часов, при этом загружая шаги, предпринятые отдельным пользователем, в базу данных Firebase.

...