2016-12-22 8 views
0

子供の価値を得たい。しかし、私は何が変わったのかを待たなければなりません。しかし、私はdatachangeなしで価値を得ることを望んでいません。リスナーなし)私はsnapshot.getValue(にしたいAndroid FirebaseはDataChangeを持たない子供の価値を得る

FirebaseDatabase.child("benim-degerim").addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot snapshot) { 
    snapshot.getValue().toString() 
    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
    } 
}); 

:私は法の下に使用

(リスナーなし)。どうしたらいいですか?

+1

[Firebase REST API](https://firebase.google.com/docs/reference/rest/database/)を使用することはできますが、それでもレスポンスを待つ必要があります – Wilik

答えて

2

インターネット経由でデータを読み込むには時間がかかります。これが非同期的に行われているため、データのダウンロード中にアプリのユーザーがアプリを使い続けることができます。

インターネットを瞬間的にする方法がないため、ダウンロードは常に非同期であり、したがってリスナーを必要とします(または他のフレームワークの場合、他の形式のコールバックが必要です)。

私が非同期メソッドに慣れ親しんでいた最速の方法は、「データを最初に取得し、次にそれを使って何かを行う」から「データを取得したら何かを行う」という問題を再構築することです。これは、通常、「何か」を行うコードをonDataChange()メソッドに移動することを意味します。

関連する問題