2017-02-28 239 views
0

我有2 DatabaseReference:火力地堡DatabaseReference

  • 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); 
... 

内活跃的孩子,我有game_key和内,多个子值。

我想将其移至完成状态,因为recyclerview显示我为活动孩子。谢谢!

回答

0

下面的代码将来自"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); 
    } 
    ... 
}); 

我没有自己测试过,但理论上它应该起作用。希望这可以帮助