java如何设置计时器来更新firebase数据库中的数据
因此,基本上我正在开发一个应用程序,它将在屏幕上显示事件,并在达到设定的特定时间后立即更新。使用计时器而不是云函数来实现这一点会更容易,但当我尝试时,它就是不起作用。查看了有关StackOverFlow的其他问题,但都不清楚。我做错了什么?下面是我的代码
update_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
int time = 0;
String info = information.getEditText().getText().toString();
final long timeCountInMilliSeconds = time * 60 * 1000;
time = Integer.parseInt(xxx.getEditText().getText().toString().trim());
if (!TextUtils.isEmpty(info) && !TextUtils.isEmpty(String.valueOf(time))) {
progressBar.setVisibility(View.VISIBLE);
update_ref = FirebaseDatabase.getInstance().getReference().child("Event Halls").child("Ankobra One").child("Event Schedule");
final int finalTime = time;
update_ref.setValue(info).addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
final DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Event Halls").child("Ankobra One").child("Event Schedule");
ref.addListenerForSingleValueEvent(new ValueEventListener() {
void onDataChanged(@NonNull DataSnapshot snapshot) {
new 安卓.os.Handler().postDelayed(
new Runnable() {
public void run() {
retrieve_ref.setValue("No event scheduled");
}
},
timeCountInMilliSeconds);
}
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
Toast.makeText(AnkobraOneActivity.this, "Event Changed and scheduled for " + finalTime + " hours", Toast.LENGTH_LONG).show();
progressBar.setVisibility(View.INVISIBLE);
myDialog.dismiss();
}
});
} else
{
Toast.makeText(AnkobraOneActivity.this, "Insert all details accordingly", Toast.LENGTH_SHORT).show();
}
}
});
我用这个答案实现了我迄今为止所做的事情,但没有成功
帮忙
共 (0) 个答案