Java 更新Firebase数据库
我是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(
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显示了您是如何写入/试图写入数据库的,因此很难为您提供帮助。不过,我发现本文档页面中的示例通常非常有帮助: