android - 如何在firebase android中使用其 map 值编写一个键

标签 android firebase-realtime-database

我想通过添加带有 map 对象的键来存储用户信息

private void createUserData() {
    Toast.makeText(LoginActivity.this, "test begin",
            Toast.LENGTH_SHORT).show();
    DatabaseReference usersRef = FirebaseDatabase.getInstance().getReference().child("users");

    //set fields data
    Map<String, String> userData = new HashMap<>();
    userData.put("userId", "test id ");
    userData.put("email", "as@gmail");
    userData.put("userName", "abdo");

    usersRef.child("userkey").setValue(userData);

    Toast.makeText(LoginActivity.this, "test end",
            Toast.LENGTH_SHORT).show();

}

当我单击按钮触发此代码时,两个 Toast 对象都会显示,但没有节点添加到用户节点。
这段代码将数据写入firebase数据库有什么问题?

最佳答案

1.更改<String, String><String, Object>

  Map<String, Object> userData = new HashMap<>();
  userData.put("userId", "test id ");
  userData.put("email", "as@gmail");
  userData.put("userName", "abdo");
    
  usersRef.child("userkey").updateChildren(userData);
2.更改firebase数据库获取实例,如FirebaseDatabase firebaseDatabase = FirebaseDatabase.getInstance("https://yourdatabasename-default-rtdb.asia-southeast1.firebasedatabase.app")来自 this.
可能是数据库区域问题,如下
Firebase 数据库连接被服务器强行终止。不会尝试重新连接。原因:数据库位于不同的区域。请将您的数据库 URL 更改为 https://databasename-default-rtdb.asia-southeast1.firebasedatabase.app

关于android - 如何在firebase android中使用其 map 值编写一个键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37756750/

相关文章:

android - 在 API 26 之前从 TypedArray 获取字体资源

android - 同一 Activity 上的两个抽屉导航

android - 如何从 Android 上的 Firebase DataSnapshot 中提取对象列表

ios - 如何从 Swift 调试器访问对象嵌套属性

java - 无法在子进程中使用 HashMap 作为 TIMESTAMP

android - Google Play 应用内结算版本 3 是否支持退款?

android - 在 Android 中保持服务器连接

javascript - 在 Firebase 上登录后的路由

java - 如何在 Android FirebaseDatabase 中将数据从 dataSnapshot 转换为集合列表

Android 模拟器在 Mac 上崩溃