Autore Topic: parsing XML e gestione dati  (Letto 1684 volte)

Offline TheTodd

  • Utente junior
  • **
  • Post: 58
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    samsung gs2
  • Play Store ID:
    sdmdev
  • Sistema operativo:
    window xp
parsing XML e gestione dati
« il: 13 Settembre 2012, 09:48:36 CEST »
0
Ciao a tutti, una parte della mia app deve eseguire il parsing di un file XML da rete abbastanza piccolo e con 4-5 campi. Il contenuto dello stesso deve poi esser visualizzato e stop (nessuna modifica, né re-invio degli stessi dati). Non so se è meglio memorizzare questi dati su un SQLite oppure in una delle strutture dati.  Voi come fareste? Quale parsing preferireste in tal caso? (il sito android consiglia PullParser). Ogni opinione e link di tutorial è molto gradito. Grazie

Offline TheTodd

  • Utente junior
  • **
  • Post: 58
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    samsung gs2
  • Play Store ID:
    sdmdev
  • Sistema operativo:
    window xp
Re:parsing XML e gestione dati
« Risposta #1 il: 14 Settembre 2012, 11:31:27 CEST »
0
up

Offline angeloflove82

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: +6
    • Mostra profilo
  • Dispositivo Android:
    samsung galaxy next
Re:parsing XML e gestione dati
« Risposta #2 il: 14 Settembre 2012, 14:16:20 CEST »
+1
Beh dipende se questi dati dovranno essere aggiornati...Se si ti consiglio un ciclo che ti scrive il json in sqlite ed ovviamente un tasto "aggiorna" così quando vuoi aggiorni il db locale.
UN BEL non si rifiuta mai !!!

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Re:parsing XML e gestione dati
« Risposta #3 il: 14 Settembre 2012, 17:30:34 CEST »
+1
Non so se è meglio memorizzare questi dati su un SQLite oppure in una delle strutture dati.  Voi come fareste?
In virtu' del principio KISS, io mi terrei i dati nel file .xml locale e ad ogni avvio dell'activity mi rifarei il parsing per estrapolare i dati che verranno mostrati all'utente e morta li.

Qui c'è esattamente cio' che ti serve:
Android XML Parsing Tutorial
« Ultima modifica: 14 Settembre 2012, 17:34:21 CEST da Il.Socio »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:parsing XML e gestione dati
« Risposta #4 il: 14 Settembre 2012, 17:53:05 CEST »
0
In virtu' del principio KISS, io mi terrei i dati nel file .xml locale e ad ogni avvio dell'activity mi rifarei il parsing per estrapolare i dati che verranno mostrati all'utente e morta li.

Come non approvare!  :-)

Anche perchè nessuno impedisce in un futuro di cambiare approccio, dovesse risultare necessario.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline TheTodd

  • Utente junior
  • **
  • Post: 58
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    samsung gs2
  • Play Store ID:
    sdmdev
  • Sistema operativo:
    window xp
Re:parsing XML e gestione dati
« Risposta #5 il: 14 Settembre 2012, 19:00:10 CEST »
0
grazie della risposta però non è un XML in locale ma dalla rete e forse non è proprio una best practice fare ogni volta il download ...

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:parsing XML e gestione dati
« Risposta #6 il: 14 Settembre 2012, 19:08:36 CEST »
0
grazie della risposta però non è un XML in locale ma dalla rete e forse non è proprio una best practice fare ogni volta il download ...

Se sono 4 o 5 campi al massimo, vai di SharedPreferences.
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Re:parsing XML e gestione dati
« Risposta #7 il: 14 Settembre 2012, 20:41:19 CEST »
0
grazie della risposta però non è un XML in locale ma dalla rete e forse non è proprio una best practice fare ogni volta il download ...
Ovviamente non ne fai il download ogni volta... lo scarichi solo se il file non esiste già e te lo salvi in locale.
Storage Options | Android Developers
Eventualmente, secondo le policy che stabilirai, andrai poi a cancellarlo e riscaricarlo per averne una copia aggiornata.
« Ultima modifica: 14 Settembre 2012, 20:43:39 CEST da Il.Socio »

Offline TheTodd

  • Utente junior
  • **
  • Post: 58
  • Respect: +3
    • Mostra profilo
  • Dispositivo Android:
    samsung gs2
  • Play Store ID:
    sdmdev
  • Sistema operativo:
    window xp
Re:parsing XML e gestione dati
« Risposta #8 il: 15 Settembre 2012, 14:13:41 CEST »
0
Bradipao, i tag sono 4 o 5 ma possono essere ripetuti e il file può essere di 20-30 KB ...
IlSocio, stai dicendo che salveresti il file in locale?

io personalmente mi aspettavo 2 risposte:
1) parsi xml da URL  ->   mem in SQlite     ->   listview customizzata
2) parsi xml da URL  ->   mem in arrayList<Bean_nometag> (o altra struttura dati)   ->   listview customizzata

Offline Il.Socio

  • Nuovo arrivato
  • *
  • Post: 41
  • Respect: +3
    • marcobellino
    • Mostra profilo
    • Guardian-Mobile
Re:parsing XML e gestione dati
« Risposta #9 il: 15 Settembre 2012, 20:13:02 CEST »
0
Quando ho scritto il post, non ero al corrente che si potesse effettuare il parsing di un xml direttamente da una url.
Davo per scontato che fosse comunque necessario effettuarne il download preventivo.

Si, io mi salverei prima il file in locale... e poi nei farei il parsing:
3) salvataggio su file locale .xml da URL -> parsing xml locale -> struttura dati -> listview customizzata
senza scomodare SQlite, perchè sarebbe come sparare ad una zanzara usando un colpo di cannone :)
E ad ogni avvio dell'activity, eseguirai la parte di: parsing xml locale -> struttura dati -> listview customizzata

P.S.
La soluzione 2) che immaginavi è incompleta perchè manca della parte di salvataggio dei dati su storage... saresti costretto a farne il download ad ogni avvio.
« Ultima modifica: 15 Settembre 2012, 20:40:16 CEST da Il.Socio »