Android, Serializable / problema Parcelable in client-server app
-
23-09-2019 - |
Domanda
Voglio inviare dati complessi dal mio Android ad un server remoto tramite TCP-socket. So che ho bisogno di serializzare gli oggetti. In Android questo viene fatto tramite Parcelable. Ma questa è una specifica interfaccia di Android e il server sa solo l'interfaccia serializzabile. Anche viceversa android non sa un'interfaccia serializzabile.
Sia l'androide e il server deve "conoscere" l'oggetto, ma la loro applicazione in due modi diversi (server -> serializzabile, android -> Parcelable)
Come posso utilizzare queste interfacce correttamente, in modo che io possa inviare oggetti tramite TCP al server con successo?
Soluzione
Abbiamo avuto lo stesso problema qui al lavoro e siamo passati a JSON. Forse si dovrebbe prendere in considerazione di fare lo stesso?!
Modifica: Android fa sapere l'interfaccia Serializable. Come potrei dimenticato ...
Altri suggerimenti
Perché non usare semplice serializzazione XML, funziona sia con Android e Java 1.5+. Si trova presso il seguente sito.
Inoltre, il quadro è abbastanza piccola e adatta a piattaforma mobile (circa 270K senza dipendenze). Ed è molto più performante rispetto alla maggior parte serializzazione XML o quadri vincolanti.
http://developer.android.com/reference/android/ os / Parcel.html non è opportuno utilizzare un pacco per la persistente (o di rete) serializzazione:
parcella non è un meccanismo di serializzazione general-purpose. Questa classe (E l'API Parcelable corrispondente per posizionare oggetti arbitrari in un pacchetto) è realizzato come un trasporto IPC alte prestazioni. Come tale, non è opportuno collocare dati pacchi per persistente stoccaggio: modifiche nell'attuazione sottostante nessuno dei dati nella parcella può rendere illeggibili i dati più vecchi.