Autore Topic: Problema passaggio dati serializzati fra activity  (Letto 434 volte)

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Problema passaggio dati serializzati fra activity
« il: 05 Settembre 2014, 20:29:32 CEST »
0
Salve,
nella mia app effettuo il classico parsing di un file xml.
nella prima schermata popolo una mappa chiave valore, e mostro l'introduzione del testo (troncandolo)
al click sul singolo elemento della lista, collego all'intent l'oggetto "notizia" che contiene tutte le informazioni (titolo, descrizione, url, img etc etc)
il problema è che nel nuovo intent perdo la codifica del testo...
ad esempio gli apostrofi diventano &apos  oppur la à diventa andgrave

suppongo sia la serializzazione a far perdere le informazioni relative la codifica, come posso risolvere?

Codice (Java): [Seleziona]
Notizia temp = (Notizia) a.get("oggetto");
        Intent allaScheda = new Intent(getBaseContext(), SchedaNotizia.class);
        allaScheda.putExtra("item", temp );

        //Passo alla nuova activity l'oggetto con tutte le info sul Sito Turistico
        startActivity(allaScheda);

nota: a mali estremi, posso passare le singole stringhe piuttosto che passare l'intero oggetto, ma non è la soluzione più elegante

ho pensato di applicare una soluzione del genere

Codice (Java): [Seleziona]
 titolo.setText(item.getTitolo());

        ///
        String testo = "";
        try {
            testo = new String(item.getDescrizione().getBytes("ISO-8859-1"), "UTF-8");
        } catch (UnsupportedEncodingException e) {

            e.printStackTrace();
        }
non capivo perchè non funziona... ho guardato meglo il codice xml, l'errore è nella risorsa... scusate
« Ultima modifica: 05 Settembre 2014, 20:44:10 CEST da gabric »

Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:Problema passaggio dati serializzati fra activity
« Risposta #1 il: 06 Settembre 2014, 14:23:31 CEST »
0
Potresti passare il testo codificato in base64

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Problema passaggio dati serializzati fra activity
« Risposta #2 il: 09 Settembre 2014, 14:38:35 CEST »
0
E come?


Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:Problema passaggio dati serializzati fra activity
« Risposta #3 il: 09 Settembre 2014, 14:46:45 CEST »
0
E come?

Potresti sfruttare due strade secondo me:

1. Serializzi l'oggetto in xml, converti in stringa base64 e la passi con l'intent
2. Serializzi l'oggetto in binario, e fai la stessa cosa

Nella nuova activity, deserializzi per ottenere di nuovo la tua notizia. In teoria non dovresti avere quel problema

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Problema passaggio dati serializzati fra activity
« Risposta #4 il: 09 Settembre 2014, 14:49:46 CEST »
0
il problema è che nella stringa di partenza ho già la descrizione dei caratteri speciali
questo è il file xml
Feed RSS - Il Caleidoscopio delle Madonie


nel campo title e summary, nessun problema, mentre in quello "content" i caratteri speciali sono corrotti. dovrei sistemare questo..

Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:Problema passaggio dati serializzati fra activity
« Risposta #5 il: 09 Settembre 2014, 15:11:42 CEST »
0
Questi caratteri arrivano già corrotti dallo stream in ingresso?

Potresti postare il codice che usi per leggere il feed?

Offline gabric

  • Utente senior
  • ****
  • Post: 615
  • Respect: +18
    • Google+
    • Mostra profilo
    • Brancato's site
  • Dispositivo Android:
    Nexus 5 / Tablet mediacom s4
  • Play Store ID:
    Brancato's+app
  • Sistema operativo:
    window7. ubuntu
Re:Problema passaggio dati serializzati fra activity
« Risposta #6 il: 09 Settembre 2014, 19:28:54 CEST »
0
se apri la pagina (Col browser stesso)
in title e summary gli accenti e i caratteri speciali sono corretti, mentre in content c'è il problema della codifica. per questo non credo dipenda dal metodi di lettura del xml.

edit: ha risolto il web master quindi ora non ho più il problema.
« Ultima modifica: 09 Settembre 2014, 19:32:57 CEST da gabric »

Offline BlackJad

  • Utente junior
  • **
  • Post: 59
  • Respect: +6
    • Google+
    • michele-ziparo/4/825/a99/
    • blackjad82
    • Mostra profilo
    • Datawit Systems
  • Dispositivo Android:
    Samsung Galaxy S3
  • Play Store ID:
    Michele Ziparo
  • Sistema operativo:
    Windows 8.1
Re:Problema passaggio dati serializzati fra activity
« Risposta #7 il: 09 Settembre 2014, 23:53:47 CEST »
0
Ottimo, in effetti a saperlo prima che il webmaster era a tua disposizione!  ;-)