Autore Topic: Estrapolare le info da una stringa  (Letto 332 volte)

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Estrapolare le info da una stringa
« il: 22 Dicembre 2015, 12:28:04 CET »
0
Salve a tutti!

La mia app si collega a Firebase (che viene utilizzato come DB) per ottenere delle info su vari Oggetti, ogni Item è identificato da un ID che NON setto io, firebase è così simpatico da esigere il corretto link per estrapolare un'informazione, quindi senza sapere in precedenza questo ID non posso estrapolare le info al suo interno (avendo il db di Firebase una struttura JSON).

Sono quasi riuscito ad aggirare questo problema, ma ora mi ritrovo con una Stringa di questo tipo:
Codice (Java): [Seleziona]
{DescrizioneItem=dfsa, IndirizzoCom=via fuffa, Numero=346, left=99, FilePath=, Prezzo=12, Commerciante=fuffa srl, NameImage=, TypeImage=, Mail=giacomino@mail.it, Nome=fuffa}
come faccio ad ottenere le varie info da questa stringa?

questo invece è il codice che utilizzo per ottenere tale stringa:
Codice (Java): [Seleziona]
 ref.addValueEventListener(new ValueEventListener() {
                int i=0;
                @Override
                public void onDataChange(DataSnapshot snapshot) {
                    System.out.println("There are " + snapshot.getChildrenCount() + " blog posts");

                    Iterator<DataSnapshot> iterator = snapshot.getChildren().iterator();
                    int length = (int) snapshot.getChildrenCount();
                    String[] sampleString = new String[length];
                    while(i < length) {
                        sampleString[i] = iterator.next().getValue().toString();
                        Log.d(Integer.toString(i), sampleString[i]);
                        i++;
                    }
                    //System.out.println(post.getAuthor() + " - " + post.getTitle());
                }

                @Override
                public void onCancelled(FirebaseError firebaseError) {
                    System.out.println("The read failed: " + firebaseError.getMessage());
                }
            });

Grazie mille in anticipo!

Offline Ohmnibus

  • Utente senior
  • ****
  • Post: 596
  • Respect: +133
    • Google+
    • @ohmnibus
    • Mostra profilo
    • Lords of Knowledge GdR
  • Dispositivo Android:
    Samsung Galaxy Nexus
  • Play Store ID:
    Ohmnibus
  • Sistema operativo:
    Windows 7 x64
Re:Estrapolare le info da una stringa
« Risposta #1 il: 22 Dicembre 2015, 14:13:59 CET »
0
Puoi usare Gson per deserializzare la stringa in un'istanza di classe.

https://github.com/google/gson
Ohmnibus
Le mie app su Play Store

È stata trovata una soluzione al tuo problema? Evidenzia il post più utile premendo . È un ottimo modo per ringraziare chi ti ha aiutato.

Offline ValerioAdo

  • Utente normale
  • ***
  • Post: 316
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Huawei Ascend g525
  • Sistema operativo:
    windows 8.1
Re:Estrapolare le info da una stringa
« Risposta #2 il: 22 Dicembre 2015, 15:41:24 CET »
0
Ho studiato un po la documentazione di Firebase e ho trovato un metodo semplice:
Codice (Java): [Seleziona]
stringa[i]= iterator.next().child("value").getValue().toString();
                     

unico difetto è che c'è bisogno di un iterator per ogni variabile che devi riempire.

Comunque grazie mille!