Java 如何将现有列表更改为新列表android-firebase实时数据库
我想将现有的“类别”列表更改为新列表 我知道我的问题在“setPriority()”中,但我没有找到正确的方法 我的数据库结构: 我的代码:Java 如何将现有列表更改为新列表android-firebase实时数据库,java,android,firebase,android-studio,firebase-realtime-database,Java,Android,Firebase,Android Studio,Firebase Realtime Database,我想将现有的“类别”列表更改为新列表 我知道我的问题在“setPriority()”中,但我没有找到正确的方法 我的数据库结构: 我的代码: private void updateData() { database = FirebaseDatabase.getInstance(); mDatabaseRef = database.getReference(); mDatabaseRef
private void updateData() {
database = FirebaseDatabase.getInstance();
mDatabaseRef = database.getReference();
mDatabaseRef
.child("users")
.child(Login.userId)
.child("categories")
.setValue(categories)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//Update success
} else {
//Update fail
}
}
});
}
private void updateData(){
database=FirebaseDatabase.getInstance();
mDatabaseRef=database.getReference();
mDatabaseRef
.child(“用户”)
.child(Login.userId)
.儿童(“类别”)
.setValue(类别)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//更新成功
}否则{
//更新失败
}
}
});
}
谢谢。无需查询数据库即可更新列表。您只需调用
setValue
即可使用新列表覆盖现有列表。检查以下内容:
database = FirebaseDatabase.getInstance();
mDatabaseRef = database.getReference();
mDatabaseRef
.child("users")
.child(Login.userId)
.child("categories")
.setValue(categories)
.addOnCompleteListener(new OnCompleteListener<Void>() {
@Override
public void onComplete(@NonNull Task<Void> task) {
if (task.isSuccessful()) {
//Update success
} else {
//Update fail
}
}
});
database=FirebaseDatabase.getInstance();
mDatabaseRef=database.getReference();
mDatabaseRef
.child(“用户”)
.child(Login.userId)
.儿童(“类别”)
.setValue(类别)
.addOnCompleteListener(新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//更新成功
}否则{
//更新失败
}
}
});
您能添加您的数据库结构吗?谢谢您的回答,非常感谢。您如何准确地编写“.updateChildren(categories)”?我的意思是,你以前写过什么?用替换.setValue(categories)
。updateChildren(categories)
我两个都试过了,不幸的是它们都不起作用。“设置值”将删除我的列表。另外,“updateChildren”会停止我的应用程序。如果你在类别中有数据,那么设置值应该可以工作。避免updateChildren
,因为这是必需的key-value
pairLet-us。