Android passa i dati tra i frammenti

4

Ho una domanda sul trasferimento dei dati utilizzando il bundle tra i frammenti. Devo passare l'URL da un oggetto Product al prossimo frammento, quindi non so quale sia l'approccio migliore: per passare solo l'URL o l'intero oggetto? Quali sono le ragioni per sceglierne uno rispetto all'altro?

Bundle bundle = new Bundle();
bundle.putString(PRODUCT_KEY, product.toJson());

o

Bundle bundle = new Bundle();
bundle.putString(PRODUCT_KEY, product.getUrl);
    
posta Laura 21.08.2015 - 15:58
fonte

1 risposta

5

Se devi passare solo l'URL, quindi passa solo l'URL. Non c'è bisogno di pensarci sopra.

Ci sono diversi svantaggi nel passare l'intero oggetto:

  • il costo delle prestazioni di serializzazione e deserializzazione di json
  • incapsulamento più debole e occultamento delle informazioni più debole: il frammento di origine rivela più informazioni all'altra che necessarie

Se hai solo bisogno di passare un campo di molti, allora sicuramente è meglio passare solo un campo.

Se devi passare alcuni campi di molti, probabilmente è ancora meglio passare solo i campi necessari, per i motivi sopra indicati.

Se hai bisogno di passare due campi di prodotto su tre, allora potrebbe essere accettabile passare l'intero prodotto.

    
risposta data 21.08.2015 - 18:40
fonte

Leggi altre domande sui tag