【问题标题】:Firebase DatabaseReferenceFirebase 数据库参考
【发布时间】:2017-02-28 21:04:26
【问题描述】:

我有 2 个数据库引用:

  • 1 是“活跃”的孩子
  • 2 是“完成”子项

我想将孩子从“活动”移动到“完成”,但我无法做到。有什么想法吗?谢谢。

我有这个代码:

public class SingleGameActivity extends AppCompatActivity {

private DatabaseReference mDatabaseActivGame;
private DatabaseReference mDatabaseFinishGame;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_single_game);
    game_key = getGameKey();

    mDatabaseActivGame = FirebaseDatabase.getInstance().getReference().child("Games").child("Active").child(game_key);
    mDatabaseGame.keepSynced(true);

    mDatabaseFinishGame = FirebaseDatabase.getInstance().getReference().child("Games").child("Finish").child(game_key);
    mDatabaseGame.keepSynced(true);
...

在 Active child 内部,我有 game_key 和内部,多个子值。

我想移动它以完成,因为 recyclerview 向我显示了活跃的孩子。谢谢!

【问题讨论】:

    标签: android database firebase firebase-realtime-database


    【解决方案1】:

    以下代码将从"your-project-root/Games/Active/game_key"读取值

    // mDatabaseActivGame is still the same like in your sample
    mDatabaseActivGame.addListenerForSingleValueEvent(new ValueEventListener() {
        ... onDataChange(DataSnapshot dataSnapshot) {
            // data is in dataSnapshot object
            // do something here
        }
        ...
    });
    

    那么下面的代码会在"your-project-root/Games/Finish/game_key"中写入数据

    // mDatabaseFinishGame is still the same like in your sample
    mDatabaseFinishGame.setValue(yourValueHere);
    

    所以把它们结合起来,我们得到这样的代码:

    mDatabaseActivGame.addListenerForSingleValueEvent(new ValueEventListener() {
        ... onDataChange(DataSnapshot dataSnapshot) {
    
            mDatabaseFinishGame.setValue(dataSnapshot);
        }
        ...
    });
    

    我自己没有对此进行测试,但理论上它应该可以工作。希望这会有所帮助

    【讨论】:

      猜你喜欢
      • 2020-06-20
      • 2020-12-22
      • 2017-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多