如何从Firebase数据库访问特定值?

时间:2018-03-27 17:20:23

标签: android firebase firebase-realtime-database

我按照Youtube视频访问了我的数据库中的特定值,这正是视频的内容(除了我将其更改为我的值)。当他们的应用程序运行时,它使用相应的值进行了一次祝酒。当我开始我的时候我得到了错误"不幸的是,App已经停止了。"我做错了什么,或者我是以错误的方式做错的?

protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    FirebaseDatabase database = FirebaseDatabase.getInstance();
    test = database.getReference("https://matts-macros.firebaseio.com/values");
    test.addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Map<String, String> data = (Map<String, String>) dataSnapshot.getValue();
            Toast.makeText(getApplicationContext(), "Value: + " + data.get("adjustedcarbs"), Toast.LENGTH_LONG).show();
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {

        }
    });
}

database values

1 个答案:

答案 0 :(得分:2)

您正以错误的方式访问引用。请参阅docs。你应该做两件事之一:

1)替换它:

javah

用这个:

/Library/Java/JavaVirtualMachines/jdk-10.jdk/Contents/Home/bin/javah

2)如果你想使用你的网址,你应该这样做:

test = database.getReference("https://matts-macros.firebaseio.com/values");

关于解析错误,请尝试使用test = database.getReference().child("values");

String myUrl = "https://matts-macros.firebaseio.com/values";
test = FirebaseDatabase.getInstance().getReferenceFromUrl(myUrl);