2017-01-04 18 views
0

firebaseにデータを挿入しようとしましたが、次のエラーが発生しました。firebaseを使用して投稿されたデータがありません

Firebase.setAndroidContext(this); 

    Button btnSave = (Button) findViewById(R.id.btnSave); 
    btnSave.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 

      try { 

       //Creating firebase object 
       Firebase ref = new Firebase(Config.FIREBASE_URL); 

       //Getting values to store 
       String name = mName.getText().toString().trim(); 
       String address = mAddress.getText().toString().trim(); 
       String latlng = mLatLng.getText().toString().trim(); 

       //Creating Person object 
       FM_Spots spots = new FM_Spots(); 

       //Adding values 
       spots.setName(name); 
       spots.setAddress(address); 
       spots.setLatLng(latlng); 

       //Storing values to firebase 
       //ref.child("FM_Spots").setValue(spots); 
       Firebase newRef = ref.child("FM_Spots").push(); 
       newRef.setValue(spots); 


      } catch (Exception e) { 
       Toast.makeText(getApplicationContext(), e.getMessage().toString(), Toast.LENGTH_SHORT).show(); 
      } 
     } 
    }); 
} 

私は2つのフィールドしか名前でなく、アドレスは最後のフィールド(latlng)のデータを持っています。アドバイス、ありがとうございます。

-sea-

答えて

0

あなたは「第二のデータは、」あなたが書き込み可能なオブジェクトの2番目のフィールドは、右、欠落していることを意味すると言いましたか?

もしそうなら、あなたは直接書きたいフィールドを指定する)(代わりのsetValueのupdateChildren(地図マップ)メソッドを使用することができます。

convertFMSpotsToMapは()のようなものである
newRef.updateChildren(convertFMSpotsToMap(spots)); 

private static Map<String, Object> convertFMSpotsToMap(@NonNull FM_Spots spots) { 
    HashMap<String, Object> map = new HashMap<>(); 
    map.put("name", spots.getName()); 
    map.put("address", spots.getAddress()); 

    return map; 
} 
+0

ありがとうございました。 –

関連する問題