Так что в основном я создаю приложение, которое будет отображать события на экране и обновлять его, как только будет достигнуто определенное установленное время. Для этого было бы проще использовать таймер вместо облачных функций, но когда я пытался, он просто не работал. Посмотрел другие вопросы по 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 android.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();
}
}
});
Я использовал этот ответ, чтобы добиться того, что я сделал до сих пор, но он не сработал.
/2616483/chto-ekvivalentno-javascript-setinterval-settimeout-v-android-java
Помощь