Autore Topic: Parsing File XML con tanti record e visualizzazione  (Letto 991 volte)

Offline Pecas

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GS2
Parsing File XML con tanti record e visualizzazione
« il: 27 Agosto 2012, 23:57:15 CEST »
0
Salve a tutti,
sto cercando di gestire al meglio la visualizzazione di fun file XML da 1400 record da caricare su una ListView. Diciamo innanzitutto che per velocizzare il caricamento sarebbe ideale trovare il modo di caricarne un tot alla volta(es. 20) poi appena l'utente visualizza il 18 esimo caricare i successivi 20e così via anche tornando indietro. Questo perchè Caricare un file XML è cmq oneroso per il dispositivo sia questo recente o più datato. Nel mio caso parliamo di un file XML da 1400 record suddivisi per Nome, cognome, email. pertanto poco più di (1400 * 3) + 4 tag di controllo. Sono decisamente un sacco di righe da leggere. Inoltre anche volendo filtrare chessò per iniziale del Cognome(operazione tutta da pensare) sono sempre tanti file che il parser si deve scorrere. Altrimenti potrei effettuare un filtro alla sorgente. Cosa non del tutto scorretta ma onerosa e lenta xche ogni volta il dispositivo deve scaricare un file dal web.

Voi come la pensereste? La mia idea è anche quella di permettere al client di mantenere una copia sul dispositivo per la visualizzazione offline.

Che ne pensate?

Grazie!

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Parsing File XML con tanti record e visualizzazione
« Risposta #1 il: 28 Agosto 2012, 00:15:13 CEST »
0
I file XML non sono nati per sostituire le funzioni di un database. Carica i dati in un database SQLite e usalo.
adb logcat | tee /tmp/logcat | grep TAG

Offline Pecas

  • Nuovo arrivato
  • *
  • Post: 47
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Samsung GS2
Re:Parsing File XML con tanti record e visualizzazione
« Risposta #2 il: 28 Agosto 2012, 08:33:56 CEST »
0
Ma perchè a queste cose non ci penso subito da solo? Boh. Mi è anche piu' comodo. Vabbe ho trovato il tutorial. Unica cosa che non mi è chiara: la gestione del db e la sua ottimizzazione, compressione etc, sono a carico di Android o devo prevedere un delete db ognittanto? Tipo se svuoto una tabella, mi conviene cancellarla e ricrearla per comprimere il db, oppure il sistema ci pensa da solo?

Grazie!

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:Parsing File XML con tanti record e visualizzazione
« Risposta #3 il: 28 Agosto 2012, 09:33:11 CEST »
0
Intendi il VACUUM:

SQLite Query Language: VACUUM
http://www.sqlite.org/pragma.html#pragma_auto_vacuum

di solito all'inizio si ignora, SQLite è abbastanza ottimizzato in queste situazioni, se il file aumenta troppo senza motivo dopo un uso intenso si imposta in modo opportuno auto vacuum o si da' quando serve il comando diretto.
adb logcat | tee /tmp/logcat | grep TAG