Обновление данных Firebase - PullRequest
1 голос
/ 13 января 2020

Я новичок в 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"));

            }
        });

Итак, я звоню из базы данных и теперь хочу редактировать база данных:

pi c приложение и база данных enter image description here

Ответы [ 2 ]

0 голосов
/ 14 января 2020

Что вы можете сделать, это использовать 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);
       }
     });
 }

В этом примере будут обновлены значения для пользователя, и будет регистрироваться либо успешное выполнение, либо сбой.

0 голосов
/ 13 января 2020

Вы можете использовать метод setValue, как этот

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

mDatabaseRef.child("TABLE_NAME").child("TABLE_FIELD").setValue(2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...