Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新Firebase数据库_Java_Android_Firebase_Google Cloud Firestore - Fatal编程技术网

Java 更新Firebase数据库

Java 更新Firebase数据库,java,android,firebase,google-cloud-firestore,Java,Android,Firebase,Google Cloud Firestore,我是Firebase的新手,我设法将数据保存在数据库中,但现在我也想更新我的数据。我读了很多东西,看了很多视频,但我无法以正确的方式更新它 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.profilbearbeiten); fAuth = FirebaseAuth.getInstance(

我是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"));

            }
        });
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.profilbearbeiten);
fAuth=FirebaseAuth.getInstance();
fStore=FirebaseFirestore.getInstance();
FirebaseDatabase=FirebaseDatabase.getInstance();
userId=fAuth.getCurrentUser().getUid();
fullName=findviewbyd(R.id.tv\u name);
email=findviewbyd(R.id.tvEmail);
bestätigen=findViewById(R.id.btbestätigen);
ort=findViewById(R.id.tv\U地址);
telefonummer=findviewbyd(R.id.tvTel);
利息=findViewById(R.id.tvInt);
beschreibung=findViewById(R.id.tvBesc);
bestätigen.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
意向意向=新意向(ProfilBearbeiten.this,Profile.class);
星触觉(意向);
}
});
DocumentReference=fStore.collection(“用户”).document(userId);
documentReference.addSnapshotListener(这个,新的EventListener(){
@凌驾
public void OneEvent(@Nullable DocumentSnapshot DocumentSnapshot,@Nullable FirebaseFirestoreException e){
setText(documentSnapshot.getString(“Benutername”);
email.setText(documentSnapshot.getString(“email”);
setText(documentSnapshot.getString(“ort”);
setText(documentSnapshot.getString(“telefonnumer”);
setText(documentSnapshot.getString(“interesten”);
setText(documentSnapshot.getString(“beschreibung”);
}
});
因此,我在这里调用数据库中的数据,现在我要编辑数据库:

pic应用程序和数据库

您可以使用setValue方法,就像这个方法一样

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

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

您可以使用setValue方法,就像这个方法一样

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

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

您可以做的是使用update()

public void updateUser(字符串userID,映射值){
db.collection(“用户”).document(userID).update(值)。
addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公开作废(作废避免){
Log.d(标记“DocumentSnapshot已成功更新!”);
}
})
.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Log.w(标签“错误更新文档”,e);
}
});
}

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

您可以使用update()

public void updateUser(字符串userID,映射值){
db.collection(“用户”).document(userID).update(值)。
addOnSuccessListener(新的OnSuccessListener(){
@凌驾
成功时公开作废(作废避免){
Log.d(标记“DocumentSnapshot已成功更新!”);
}
})
.addOnFailureListener(新的OnFailureListener(){
@凌驾
public void onFailure(@NonNull异常e){
Log.w(标签“错误更新文档”,e);
}
});
}

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

您共享的代码中没有一个显示您如何写入/尝试写入数据库,因此很难为您提供帮助。不过,我发现此文档页面中的示例通常非常有助于入门:没有您需要的代码shared显示了您是如何写入/试图写入数据库的,因此很难为您提供帮助。不过,我发现本文档页面中的示例通常非常有帮助: