Java 在特定时间使用倒计时设置Firestore上的特定数据
您好,我想在特定时间使用倒计时设置firestore上的特定数据。当我的倒计时结束时,firestore上的数据设置良好,但每次更新活动时,数据都会一次又一次地重置。 当我的数据设置一次时,有没有可能破坏finish方法?。如果你有其他建议表示欢迎Java 在特定时间使用倒计时设置Firestore上的特定数据,java,android,google-cloud-firestore,countdowntimer,Java,Android,Google Cloud Firestore,Countdowntimer,您好,我想在特定时间使用倒计时设置firestore上的特定数据。当我的倒计时结束时,firestore上的数据设置良好,但每次更新活动时,数据都会一次又一次地重置。 当我的数据设置一次时,有没有可能破坏finish方法?。如果你有其他建议表示欢迎 firebaseAuth=FirebaseAuth.getInstance(); firebaseFirestore=FirebaseFirestore.getInstance(); long mil=200000;
firebaseAuth=FirebaseAuth.getInstance();
firebaseFirestore=FirebaseFirestore.getInstance();
long mil=200000;
downTimer =new CountDownTimer(mil,1000) {
@Override
public void onTick(long millisUntilFinished) {
}
@Override
public void onFinish() {
Map<String,Object> map=new HashMap<>();
map.put("Password","userPassword");
firebaseFirestore.collection("UsersName").document().set(map).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
Toast.makeText(ForgetPasswordActivity.this, "Done sir", Toast.LENGTH_SHORT).show();
downTimer.cancel();
}
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
e.printStackTrace();
}
});
}
}.start();
}
firebaseAuth=firebaseAuth.getInstance();
firebaseFirestore=firebaseFirestore.getInstance();
长密耳=200000;
定时器=新的定时器(密耳,1000){
@凌驾
公共void onTick(长毫秒未完成){
}
@凌驾
公共无效onFinish(){
Map Map=newhashmap();
map.put(“密码”、“用户密码”);
firebaseFirestore.collection(“UsersName”).document().set(map).addOnCompleteListener(新OnCompleteListener()){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
Toast.makeText(ForgetPasswordActivity.this,“Done sir”,Toast.LENGTH_SHORT.show();
downTimer.cancel();
}
}
}).addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
e、 printStackTrace();
}
});
}
}.start();
}
}每次重新启动活动时,都会创建一个新的计时器实例,并在活动处于活动状态时一直存在 如果您需要一个能够生存到活动生命周期的计时器,您应该将它放在前台(或后台)服务或类似的服务中 因为您使用的是firebase,所以另一个解决方案是云函数