2017-01-04 3 views
0

Ich versuche, einige Daten in meine Firebase einzufügen, aber den folgenden Fehler festgestellt, die 2. Daten fehlen. Hier sind die Code:Posted Daten fehlen mit 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(); 
      } 
     } 
    }); 
} 

Ich habe nur zwei Felder, die Namen und die Adresse Daten, die aus dem letzten Feld (latlng). Bitte beraten, danke.

-sea-

Antwort

0

Wenn Sie gesagt haben „2. Daten“ Sie meinten, dass das zweite Feld des beschreibbar Objekt fehlt, nicht wahr?

Wenn ja, können Sie updateChildren (Karte anzeigen) Methode anstelle von setValue() verwenden, um Felder direkt schreiben möchten angeben:

newRef.updateChildren(convertFMSpotsToMap(spots)); 

wo convertFMSpotsToMap() so etwas wie dieses:

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

Ok mit Dank erwähnt. –

Verwandte Themen