2016-05-14 10 views
1

私は正常に作成されています。 標準のJavaライブラリをダウンロードしてユーザーを作成した後、コールバックでエラーや成功のエラーやフィードバックを受け取りません。firebaseのユーザアカウントを作成するにはどうすればいいですか

上記のコメントとして
public static void main(String ...args){ 
    String url= "https://example.firebaseio.com/"; 
    Firebase fb = new Firebase(url); 
    fb.createUser("[email protected]", "123456", new Firebase.ResultHandler() { 
     @Override 
     public void onSuccess() { 
      System.out.println("success"); 
     } 
     @Override 
     public void onError(FirebaseError firebaseError) { 
      System.out.println("failed !"); 
     } 
    }); 
    System.out.println("Hello there"); 
} 
+1

コールバックが戻る前にメインスレッドが終了している可能性があります。 Firebaseアカウントを調べて、ユーザーが実際に作成されているかどうかを確認できます。 –

+0

Good catch @ cricket_007。詳細については、http://stackoverflow.com/questions/37098006/firebase-with-java-non-android-retrive-information/37100794#37100794を参照してください。 –

+0

@FrankvanPuffelenありがとう、私はRxJavaが同じことをすることは知っていますが、そのAPIにはブロック機構があります。 Firebaseについてよくわからない –

答えて

0

、問題はメインスレッドでResultHnadlerがそのように私はResultHnadlerが呼び出される前に その素敵な良い方法がある場合は終了し、メインスレッドを防ぐために、このように問題を修正呼び出される前に終了している

public static void main(String ...args) { 
    final AtomicBoolean isCalled = new AtomicBoolean(false); 
    String FIREBASE = "https://example.firebaseio.com/"; 
    Firebase fb = new Firebase(FIREBASE); 
    fb.createUser("[email protected]", "1234321", new Firebase.ResultHandler() { 
     @Override 
     public void onSuccess() { 
      isCalled.set(true); 
      System.out.println("success"); 
     } 
     @Override 
     public void onError(FirebaseError firebaseError) { 

      isCalled.set(true); 
      System.out.println("fail"); 
     } 
    }); 
    while (!isCalled.get()){ 
    } 
} 
+0

関連:http://stackoverflow.com/a/37080175/2308683 –

関連する問題