数据未添加到firebase数据库中

时间:2016-09-08 16:24:50

标签: android firebase firebase-realtime-database

我从here获得了Firebase Android教程,并按照本教程中的每一步操作。但是,当我单击创建button并刷新firebase时,我得到的数据库数据始终为空。

有人可以帮我弄清楚问题是什么吗?

这是我的firebase

enter image description here

Config.java

public class Config {
    public static final String FIREBASE_URL = "https://healthy-app-30d65.firebaseio.com/";   
}

注册

public class Register extends AppCompatActivity {
    EditText editTextName;
    EditText editTextAddress;
    TextView textViewPersons;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.register);
        Firebase.setAndroidContext(this);
        Button buttonSave = (Button) findViewById(R.id.buttonSave);
        editTextName = (EditText) findViewById(R.id.editTextName);
        editTextAddress = (EditText) findViewById(R.id.editTextAddress);
        textViewPersons = (TextView) findViewById(R.id.textViewPersons);

        //Click Listener for button
        buttonSave.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //Creating firebase object
                Firebase ref = new Firebase(Config.FIREBASE_URL);

                //Getting values to store
                String name = editTextName.getText().toString().trim();
                String address = editTextAddress.getText().toString().trim();

                //Creating Person object
                Person person = new Person();

                //Adding values
                person.setName(name);
                person.setAddress(address);

                //Storing values to firebase
                ref.child("Person").setValue(person);
            }
        });
    }


}

3 个答案:

答案 0 :(得分:2)

您正在使用为旧版Firebase控制台(firebase.com)和SDK版本(2.x)编写的教程。但您的Firebase项目是在新的Firebase控制台(firebase.google.com)上创建的。

虽然大多数API将继续有效,但在这里有一些差异:

  1. 在新控制台上创建的项目配置为仅允许经过身份验证的用户进行读/写。 (暂时)解决此问题的最简单方法是阅读first note in blue on this documentation page。这解释了如何使您的数据库再次可读/可写。

  2. Firebase 2.x SDK中的身份验证不适用于在新Firebase控制台上创建的项目。

  3. 所以#1可能是一个很好的快速解决方法,但你真的应该采用更新的教程,例如其他答案中建议的那些。

答案 1 :(得分:0)

我建议你按照最新的firebase样本。您可以在Google Firebase Codelab

找到分步设置和示例项目

例如,更新存储值到实时数据库

ref.child("Person").setValue(person);ref.child("Person").push().setValue(person);

答案 2 :(得分:0)

新的Firebase与旧版代码(https://wwww.firebase.com)不兼容,您必须将Android项目设置为最新的SDK。您可以参考此link了解如何迁移数据库代码。