2017-08-22 1 views
0

J'utilise firebase dans une application android où j'ai une maison qui a une liste de pièces. J'essaie de savoir comment utiliser le nom de la pièce que la valeur de l'enfant plutôt que le 0 et 1.Nom du paramètre pour la liste en classe sur firebase

La structure de base de données est inférieure à

Database Structure

+0

Ne pas créer un lien vers des captures d'écran. L'information ci-jointe pourrait être donnée en ** texte **. Au-delà: – GhostCat

+1

Malheureusement, votre question se résume à "quelqu'un s'il vous plaît aidez-moi s'il vous plaît avec ceci". Mais nous ne considérons pas ces demandes comme des * questions * dans le cadre de ce site. S'il vous plaît lire [this] (https://meta.stackoverflow.com/questions/284236/why-is-can-someone-help-me-not-an-actual-question) attentivement pour comprendre pourquoi c'est. Ensuite, pensez à soit supprimer cette question et mettre en place une nouvelle question plus précise dans le cadre de cette communauté. Alternativement, vous pouvez retravailler et améliorer cette question. Merci! – GhostCat

Répondre

0

Vous devez utiliser un Map<StringRoomName,RoomDetailsClass> ce montrera StringRoomName à la place de 0 et RoomDetailsClass comme valeur de l'objet JSON. où StringRoomName = String

class Room{ 
    //your other members 
    Map<String,RoomDetailsClass> roomMap; 
    // gettes and setters or constructor for initialization 

    class RoomDetailsClass{ 

    //your room details 

    } 
    } 

et le télécharger en utilisant

if (isDataValidatied()) { 
       mDatabase.push().setValue(roomObject, new DatabaseReference.CompletionListener() { 
        @Override 
        public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) { 
         if (databaseError == null) { 
          makeToast("One entry created successfully"); 
          clearData(); 
         } else { 
          makeToast("data creation failed"); 
         } 
        } 
       }); 

      } else { 
       makeToast("Please check data entered"); 
      } 
+0

La carte était ce dont j'avais besoin, plutôt que de les mettre comme une liste –

+0

Bonjour @ user3757775 s'il vous plaît accepter comme réponse si elle vous a aidé. Merci –

0

Dans ce cas, vous avez besoin pour changer la structure de votre base de données. Vous devez utiliser à la place de 0, 1 et ainsi de suite, le nom réel de la pièce, Kitchen, Living Room et ainsi de suite.

Pour les afficher, il suffit de mettre un listener sur le nœud rooms et obtenir les clés de l'objet dataSnapshot.

Espérons que ça aide.