如何检查数据是否成功插入阵列的Firebase

时间:2019-12-17 14:03:39

标签: java android firebase firebase-realtime-database

我正在使用以下代码在来自JSON Response的Firebase数据库中插入一些数据

JSONArray arr = new JSONArray(result);
String[] stocks = new String[arr.length()];

for(int i=0;i<arr.length();i++){

   JSONObject obj = arr.getJSONObject(i);
   mDatabase= FirebaseDatabase.getInstance().getReference().child("books");
   atabaseReference newBid=mDatabase.push();
   newBid.child("usr_id").setValue(obj.getString("user_id"));
   newBid.child("usr_fullNme").setValue(obj.getString("first_name")+" "+obj.getString("last_name"));
   newBid.child("usr_mobile").setValue(obj.getString("user_mobile"));
   newBid.child("usr_avatr").setValue(obj.getString("src"));
  }

我如何检查以上操作是否成功

1 个答案:

答案 0 :(得分:2)

您可以使用Hashmap并执行以下操作:

Map<String, Object> userValues = new HashMap<>();
  userValues.put("usr_id", obj.getString("user_id"));
  userValues.put("usr_fullNme",obj.getString("first_name")+" "+obj.getString("last_name"));
  userValues.put("usr_mobile", obj.getString("user_mobile"));
  userValues.put("usr_avatr",  obj.getString("src"));

然后使用setValue()


mDatabase= FirebaseDatabase.getInstance().getReference().child("books");
String newBid = mDatabase.push().getKey();
mDatabase.child(newBid).setValue(userValues, new DatabaseReference.CompletionListener() {
        @Override
        public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
           System.out.println(databaseError);
        }
    });

来自docs

  

public void setValue (Object value, DatabaseReference.CompletionListener listener)

     

将此位置的数据设置为给定值。将null传递给setValue()将删除指定位置的数据。此方法所接受的本机类型的值对应于JSON类型:

     
      
  • 布尔值
  •   
  •   
  • Double
  •   
  • 字符串
  •   
  • 地图
  •   
  • 列表
  •   
相关问题