【问题标题】:Update Data Firebase更新数据 Firebase
【发布时间】:2020-01-13 09:32:16
【问题描述】:

我是 Firebase 的新手,我设法将数据保存在我的数据库中,但现在我也想更新我的数据。我读了很多东西,看了很多视频,但我无法以正确的方式更新它。

protected void onCreate(Bundle savedInstanceState) {
   super.onCreate(savedInstanceState);
    setContentView(R.layout.profilbearbeiten);
        fAuth = FirebaseAuth.getInstance();
        fStore = FirebaseFirestore.getInstance();
        FirebaseDatabase database = FirebaseDatabase.getInstance();
        userId = fAuth.getCurrentUser().getUid();
        fullName = findViewById(R.id.tv_name);
        email    = findViewById(R.id.tvEmail);
        bestätigen = findViewById(R.id.btbestätigen);
        ort = findViewById(R.id.tv_address);
        telefonummer = findViewById(R.id.tvTel);
        interessen = findViewById(R.id.tvInt);
        beschreibung = findViewById(R.id.tvBesc);

        bestätigen.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(ProfilBearbeiten.this, Profile.class);
                startActivity(intent);
            }
        });
        DocumentReference documentReference = fStore.collection("users").document(userId);
        documentReference.addSnapshotListener(this, new EventListener<DocumentSnapshot>() {
            @Override
            public void onEvent(@Nullable DocumentSnapshot documentSnapshot, @Nullable FirebaseFirestoreException e) {
                fullName.setText(documentSnapshot.getString("Benutername"));
                email.setText(documentSnapshot.getString("EMail"));
                ort.setText(documentSnapshot.getString("Ort"));
                telefonummer.setText(documentSnapshot.getString("Telefonnummer"));
                interessen.setText(documentSnapshot.getString("Interessen"));
                beschreibung.setText(documentSnapshot.getString("Beschreibung"));

            }
        });

所以我在这里调用数据库中的数据,现在我想编辑数据库:

图片应用和数据库

【问题讨论】:

标签: java android firebase google-cloud-firestore


【解决方案1】:

你可以使用 setValue 方法,比如这个

FirebaseDatabase  database = FirebaseDatabase.getInstance();
DatabaseReference mDatabaseRef = database.getReference();

mDatabaseRef.child("TABLE_NAME").child("TABLE_FIELD").setValue(2);

【讨论】:

    【解决方案2】:

    你可以做的是使用update()

    public void updateUser(String userID, MAP<String,String> values){
     db.collection("users").document(userID).update(values).
       addOnSuccessListener(new OnSuccessListener<Void>() {
         @Override
         public void onSuccess(Void aVoid) {
           Log.d(TAG, "DocumentSnapshot successfully updated!");
           }
         })
       .addOnFailureListener(new OnFailureListener() {
         @Override
         public void onFailure(@NonNull Exception e) {
           Log.w(TAG, "Error updating document", e);
           }
         });
     }
    

    此示例将更新用户的值并记录成功或失败。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-18
      相关资源
      最近更新 更多