2017-02-28 308 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); 
    } 
    ... 
}); 

我沒有自己測試過,但理論上它應該起作用。希望這可以幫助