2017-02-28 1 views
0

Ich habe 2 DatabaseReference:Firebase DatabaseReference

  • 1 ist "Aktiv" Kind
  • 2 "Finish" Kind ist

ich Kind zu verschiebe von "aktiv" auf "Finish" , aber ich konnte es nicht tun. Irgendwelche Ideen wie? Vielen Dank.

ich diesen Code haben:

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

Inside Aktiv Kind habe ich game_key und innen, mehrere untergeordnete Werte.

Ich möchte es zum Ende bewegen, weil die Recyclerview zeigt mir das aktive Kind. Vielen Dank!

Antwort

0

folgende Code wird Wert lesen von "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 
    } 
    ... 
}); 

Dann Code folgende Daten in "your-project-root/Games/Finish/game_key"

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

schreiben, wird sie so kombinieren wir Code wie folgt erhalten:

mDatabaseActivGame.addListenerForSingleValueEvent(new ValueEventListener() { 
    ... onDataChange(DataSnapshot dataSnapshot) { 

     mDatabaseFinishGame.setValue(dataSnapshot); 
    } 
    ... 
}); 

I habe das nicht selbst getestet, aber in der Theorie sollte es funktionieren. Hoffe, das hilft

Verwandte Themen