更新Firebase实时数据库中的值(脱机)-Android

时间:2018-07-22 18:34:34

标签: java android firebase

我需要更新一个值,该值是我的Android应用程序中已执行测试的总和。 我以为我可以添加每个设备以及为此设备执行的测试的值。 接下来,我想为所有设备求和。

现在我有

import android.content.Intent;
import android.provider.Settings;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;

public class MainActivity extends AppCompatActivity {

    private Button startTestButton;
    private FirebaseDatabase database;
    private DatabaseReference myRef;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setTitle("Test");


        Answers.getInstance().reset();


        database = FirebaseDatabase.getInstance();
        myRef = FirebaseDatabase.getInstance().getReference();
        myRef.child("test").child("devices").child(Settings.Secure.ANDROID_ID).setValue(1);


        startTestButton = findViewById(R.id.buttonStartTest);
        startTestButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                openQuestion1Activity();
            }
        });
    }

    public void openQuestion1Activity(){
        Intent intent = new Intent(this, Question1.class);
        startActivity(intent);
    }
}

我需要脱机数据库并在连接互联网时同步值。 我怎样才能做到这一点?我可以举个例子吗?

1 个答案:

答案 0 :(得分:0)

在应用程序中首次调用FirebaseDatabase.getInstance().setPersistenceEnabled(true)之前放入FirebaseDatabase.getInstance()