誰かのデータベース参照からデータを取得しようとしていますが、onDataChange
を実行すると同期メソッドになります。私は最初にfast_get_innfouser
メソッドを実行したい、その後get_all_user
とすべての後にroot.addValueEventListener(
メソッドをしたい。どのように私はそれを行う必要がありますか?firebaseを使用してデータを同期する方法
コードがあります:
public class chatRooms extends Activity {
private DatabaseReference root = FirebaseDatabase.getInstance().getReference();
private FirebaseDatabase database;
public FirebaseAuth auth;
private ChatInfo ChatInfo = new ChatInfo();
private ListView listView;
private ArrayAdapter<String> arrayAdapter;
private FirebaseUser user;
private ArrayList<String> all_uid = new ArrayList<>();
private User us ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat_rooms);
auth = FirebaseAuth.getInstance();
user = auth.getCurrentUser();
if (user != null) {
database = FirebaseDatabase.getInstance();
root.runTransaction(new Transaction.Handler() {
@Override
public Transaction.Result doTransaction(MutableData mutableData) {
get_all_user(database.getReference());
fast_get_innfouser(database.getReference(user.getUid()));
return null;
}
@Override
public void onComplete(DatabaseError databaseError, boolean b, DataSnapshot dataSnapshot) {
root = database.getReference(user.getUid()).child("chat");
}
});
}
root.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange (DataSnapshot dataSnapshot){
/*........some code here...........*/
}
});
}
private void get_all_user(DatabaseReference reference) {
all_uid = new ArrayList<>();
reference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot messageSnapshot : dataSnapshot.getChildren()) {
//some code here
}
}
});
}
private void fast_get_innfouser(DatabaseReference myRef) {
final Integer[] temp = {1};
myRef.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot messageSnapshot : dataSnapshot.getChildren()) {
//some code here
}
JSON:
あなたはデータベースのjsonの例を持っていますか? "friends":{..} – KgaboL
@KgaboL、yes、updates –
@KgaboL、なぜjsonが必要ですか? –