2017-08-26 63 views
0

我有数据库这样更新数据单击

enter image description here

有可能先设置名称的文本EDITTEXT这是在列表视图,然后将名称更改为相应的位置项目和按钮上单击每个插入的值在Editfield中更新到数据库到相关字段。

回答

1

1-下载:

FirebaseDatabase数据库= FirebaseDatabase.getInstance();

DatabaseReference reference = database.getReference();

reference.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     try { 

//解析另一个线程中的数据快照。

 }catch (Exception e){ 






     } 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 






    } 
}); 

// =========================== 2-解析: HashMap中d =(HashMap中)dataSnapshot。的getValue(); HashMap users =((HashMap)d.get(“users”));

3-更新的ListView /或的EditText使用用户(哈希映射)

4-更新:

String nameString= nameEditText.getText().toString(); 

FirebaseDatabase database = FirebaseDatabase.getInstance(); 

//得到为需要更新的用户数据库参考。

DatabaseReference databaseReference = database.getReference().child("users").child(userId); 

Map<String, Object> taskMap = new HashMap<String, Object>(); 
     taskMap.put("name", nameString); 

     databaseReference.updateChildren(taskMap).addOnCompleteListener(new OnCompleteListener<Void>() { 
      @Override 
      public void onComplete(@NonNull Task<Void> task) { 
       Log.d("", "task is: " + task); 
       if(task.isSuccessful()){ 
        Toast.makeText(getActivity(),"Commit is successfull", Toast.LENGTH_LONG).show(); 
       }else{ 

        Toast.makeText(getActivity(),"Commit is failed", Toast.LENGTH_LONG).show(); 

       } 

      } 
     }); 
     databaseReference.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 

       Object value = dataSnapshot.getValue(); 
       Log.d("", "Value is: " + value); 
      } 

      @Override 
      public void onCancelled(DatabaseError error) { 
       // Failed to read value 
       Log.w(TAG, "Failed to save value.", error.toException()); 
      } 
     }); 
+0

我有EDITTEXT到ListView和我想首先第一个填充数据中的每个的EditText然后更改数据,以对应位置和提交按钮,点击它在的EditText字段中输入更新到数据库,并感谢所有数据回复 – Ankit

+1

基本逻辑是 1-下载 获取firebase数据库引用并获取数据快照。 2-使用散列表分析快照。 3-使用该散列图显示数据,你想要的方式。 4-通过获取对该值的引用来更新值。 –

+0

感谢兄弟Aditya – Ankit