基本Firebase/Java读/写
我现在觉得自己相当愚蠢。我以前做过相当多的Android Studio/Java/Firebase编码,对它非常熟悉。在休息了一段时间后,我刚刚回到它,我已经将所有内容更新到最新版本,我只是无法让我的测试应用程序与数据库对话 我创建了一个新的Firebase项目,下载了google服务文件,使用了Android Studio assistant(它告诉我我已连接),并使用了文档中简单的读/写“hello world”代码基本Firebase/Java读/写,java,android,firebase,Java,Android,Firebase,我现在觉得自己相当愚蠢。我以前做过相当多的Android Studio/Java/Firebase编码,对它非常熟悉。在休息了一段时间后,我刚刚回到它,我已经将所有内容更新到最新版本,我只是无法让我的测试应用程序与数据库对话 我创建了一个新的Firebase项目,下载了google服务文件,使用了Android Studio assistant(它告诉我我已连接),并使用了文档中简单的读/写“hello world”代码 代码运行时,我在日志窗口中获得了正确的“读取”输出,但在Firebase控
代码运行时,我在日志窗口中获得了正确的“读取”输出,但在Firebase控制台上看不到数据。如果我只运行“read”代码,我什么也得不到,所以“write”只在数据库引用似乎在范围内时才有效 我几乎没有什么东西可以改变了,所以我对一些本该如此简单的事情感到非常沮丧——我很可能正在做一些愚蠢的事情 任何关于为什么会发生这种情况的想法都将不胜感激 Android Studio 3.2.1、Firebase libs 16.0.4、SDK版本28、google services 4.2.0 代码基本上是直接从文档中提取的 蒂亚
基本上你做对了 但是请记住,
FirebaseDatabase.getInstance().getReference()
表示数据库的根
所以你可能想试试myRef.child(“sample_key”).setValue(“sample_value”)代码>
这将在数据库的根目录下创建一个键值对。您试图为数据库设置一个值而不给它一个键,这会导致错误
仅供参考,myRef.addValueEventListener(listener)
意味着监听整个数据库
myRef.child(“示例密钥”).addValueEventListener(listener)
意味着只听示例_键的值
当您不再需要时,记得调用removeEventListener(listener)
- 仔细阅读文档,它正在使用
DatabaseReference usersRef=ref.child(“用户”)
将值保存到子级,而不是ref
本身
我也有同样的问题。我不得不切换Firebase参考。我的代码看起来像:
Firebase myRef
//论创建方法
myRef=新Firebase(“将url插入Firebase”)
我不知道为什么,但我使用了此引用,因为其他内容都不起作用。请显示您的代码和任何日志(如果可用)“我在Firebase控制台上看不到数据”。您确定没有查看Cloud Firestore选项卡吗?请用@回复。@Alex Mamo-不,我不是在看Firestore。我已经写了很多这样的数据库应用程序,没有问题。我忍不住认为这是显而易见的,但我一直盯着它看,改变着一些事情,我似乎根本不跟数据库说话。你能给我看更多的代码吗,你所发布的就我所知是行不通的,没有“Firebase”对象,我不能用“New”实例化ref还有一根绳子。
database = FirebaseDatabase.getInstance();
myRef = database.getReference("Message");
// Write
myRef.child("Monday").setValue("Hello, Lovely World!");
// Read
ValueEventListener listener;
listener = new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// This method is called once with the initial value and again
// whenever data at this location is updated.
String value = dataSnapshot.getValue(String.class);
String key = dataSnapshot.getKey();
Log.e(TAG, "Key is : " + key + " Value is: " + value);
}
@Override
public void onCancelled(DatabaseError error) {
// Failed to read value
Log.e(TAG, "Failed to read value.", error.toException());
}
};
myRef.addValueEventListener(listener);