有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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();
            }
        }

    });

我用这个答案实现了我迄今为止所做的事情,但没有成功

https://stackoverflow.com/questions/4817933/what-is-the-equivalent-to-a-javascript-setinterval-settimeout-in-安卓-java

帮忙


共 (0) 个答案