2017-02-20 3 views
0

ich möchte meine app (IOS & Android) abgerufen werden einige Nachrichten anzuzeigen Feeds und diese Newsfeed Text & 1 Bild, das sein könnte (sein Anzeige in Bildansicht) oder Text und mehrere Bilder nicht angegeben NEIN. (in Gridview angezeigt werden) nach Objekttyp Eigenschaft.Wie mein Objekt strukturieren verschachtelte Firebase Daten

Ich habe versucht, diese Funktion wie unten zu implementieren, aber es hat nicht funktioniert, und ich hoffe, dass jemand dieses Problem durchläuft habe ich eine Menge Fragen überprüfen, aber ich denke, nicht passt mein Fall.

sie ist meine Feuerbasis Datenstruktur und mein Ziel für Android:

public class object { 

    String text; 
    String type; 
    List<images> images; 
    public object(){ 

    } 
    public String gettext(){return text;} 
    public String gettype(){return type;} 
    public List<images> getimages(){return images;} 
} 

class images{ 

    String images; 
    public images(){ 

    } 
public String getimages(){return images;} 

} 

und Abrufen Aktivität:

public class MainActivity extends AppCompatActivity { 
    DatabaseReference database; 
    List<object> objectsList = new ArrayList<>(); 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     database = FirebaseDatabase.getInstance().getReference(); 
     loaddata(); 
    } 

    private void loaddata(){ 
     Query query = database.child("news"); 
     query.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       if (objectsList!=null){ 
        objectsList.clear(); 
       } 
       for (DataSnapshot dataSnapshot1 : dataSnapshot.getChildren()){ 
        object object = dataSnapshot1.getValue(object.class); 
        Log.i("&&&&&&& Images &&&&&",object.gettext()); 
        objectsList.add(object); 

       } 
      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 
       Log.e("%%%%%%%% ERROR ",databaseError.getMessage()); 
      } 
     }); 


    } 
} 

irgendwelche Vorschläge wäre viel

enter image description here

Antwort

1

Versuch verstanden werden Ändern images wie gezeigt b elow.

public class object { 

    String text; 
    String type; 
    Map<String, String> images; 
    public object(){ 

    } 
    public String gettext(){return text;} 
    public String gettype(){return type;} 
    public Map<String,String> getimages(){return images;} 
} 
+0

seine nicht funktioniert, null Objekte Ausnahme –

+0

gerade bemerkt, dass ich hatte unten nicht aktualisiert 'getimages' in diesem Code (habe jetzt gerade) .... vorausgesetzt, dass Sie wahrscheinlich, dass die Änderung vorgenommen? Können Sie den vollständigen Fehler hinzufügen, den Sie sehen –

+0

Erwartete eine Map beim Deserialisieren, aber eine Klasse java.util.ArrayList erhalten, wenn Sie versuchen, den Snapshot zu erhalten ... Objekt Objekt = DataSnapshot1.getValue (Objekt.Klasse); –

Verwandte Themen