1
私はFirebaseを使って情報のリストを保存しているAndroidアプリケーションを作成しようとしています。私は問題なくリアルタイムのデータベースに情報を保存することができますが、私が現在持っている問題は、新しいコンテンツが追加されたときにリストを取り出す方法を見つけようとしていることです。Firebaseからのリストの取得
リスト内の値を追加、変更、または削除すると、childEventListener
のいずれも呼び出されません。
FirebaseDatabase database;
DatabaseReference toDatabase;
...
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_world_play_hide);
hideAvatar = (Button) findViewById(R.id.hideAvatar);
database = FirebaseDatabase.getInstance();
toDatabase = database.getReference("jsierra");
...
hideAvatar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
...
getCurrentLocation();
currentCoordinates = new LatLng(latitude, longitude);
data store = new data(currentCoordinates);
toDatabase.push().setValue(store);
map.addMarker(new MarkerOptions().position(currentCoordinates));
}
});
}
protected void onStart() {
apiClient.connect();
super.onStart();
DatabaseReference test = toDatabase.child("jsierra");
test.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Toast.makeText(getBaseContext(), "Child Added", Toast.LENGTH_LONG).show();
givenData = dataSnapshot.getValue(data.class);
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
givenData = dataSnapshot.getValue(data.class);
Toast.makeText(getBaseContext(), "Child Changed", Toast.LENGTH_LONG).show();
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
givenData = dataSnapshot.getValue(data.class);
Toast.makeText(getBaseContext(), "Child Removed", Toast.LENGTH_LONG).show();
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
givenData = dataSnapshot.getValue(data.class);
Toast.makeText(getBaseContext(), "Child Moved", Toast.LENGTH_LONG).show();
}
@Override
public void onCancelled(DatabaseError databaseError) {
Toast.makeText(getBaseContext(), "Failed", Toast.LENGTH_LONG).show();
}
});
}
私はそれを変更し、エラーが "メソッドの子を解決することはできません" です。私はFirebaseDatabase APIを見て、子はそれの一部ではありません。私はgetReferenceを試して、それは働いた!助けてくれてありがとう! –
@JuanSierra:そうです。それを私が直した。 –