2017-05-27 30 views
0

私はあなたのAndroidアプリケーションをFirebaseデータベースに接続する方法を学びたいと思っています。私は次のコードを試しました:Firebaseデータベースにデータが書き込まれていません

mDatabase = FirebaseDatabase.getInstance().getReference(); 
productCloudEndPoint = mDatabase.child("Sample"); 
productCloudEndPoint.push().setValue("Hello World"); 

しかし、Firebaseコンソールを見ると何も書き込まれません。私もルールを設定しました。

{ 
    "rules": { 
    ".read": true, 
    ".write": true 
    } 
} 

私に何か不足していますか?ありがとう

+0

あなたはproductCloudEndPoint.push()。child( "value")を試しますか?setValue( "Hello World"); –

+2

このコードから何がうまくいかないと言うのは難しいです。あなたのlogcatは関連する警告/エラーメッセージを表示していますか? –

+0

認証されたときにこのコードを実行しようとしていますか?また、変更を試みてください:productCloudEndPoint.push()。setValue( "Hello World"); to:productCloudEndPoint.setValue( "Hello World"); –

答えて

0

私は同じ問題があり、問題は私がシミュレータを使用していたことでした。物理的なデバイスを使用する必要があります。

0

set()メソッドを使用しているときにpushメソッドを使用しないでください。set()メソッドは値を参照に設定します。

例:

<database-ref>/users/{UserId}/ 
username: {name} 

クエリは次のようになります。あなたの場合

mDatabase.child("users").child(userId).child("username").setValue(name); 

:プッシュ方式は、新しいカスタムオブジェクトを投稿するために使用さ

mDB.child("sample").setValue("Hello World"); 

ながら、Firebaseは一意のIDを生成し、そのようなオブジェクトのリストに保存します。 注:push()メソッドはjavaScriptで使用されます。

例: あなたは、このようなオブジェクトを保存するには

Class User{ 
String name; 
String email; 
} 

のようなプロパティを持つユーザーオブジェクトを持っている、あなたは、単にプッシュ()メソッドを使用することができます。 Firebaseは一意のIDを自動生成して保存します。

<db-ref>/users/{uniqueId}/ 

JAVAの場合:同等のメソッドがput()メソッドです。

関連する問題