2015-08-19 1 views
0

J'ai un objet que je veux envoyer sur le réseau dans un fichier vers un servlet Java. Mon objet ressemble à ceci:android Parcelable lors de l'envoi d'un objet sur un réseau

public class MYPOJO implements Serializable { 

    int myint; 
    String mystring; 

} 

J'ai lu qu'il n'est pas recommandé d'utiliser Serializable dans Android en raison du délai d'ajout de réflexion. Mais puisque ce n'est pas une autre activité qui va utiliser mon objet, je ne pense pas que je devrais utiliser parcelable. Je pense que je devrais utiliser Serializable et écrire l'objet sur le disque et ensuite l'envoyer sur le fil à la servlet Java pour le traitement. L'écriture sur disque était une figure de style. L'écriture sur le flux java plutôt.

Comment recommanderiez-vous de faire cela avec parcelable est la question, est-ce encore possible? est paracelable seulement recommandé de l'activité à une autre activité?

Répondre

1

Je pense que je devrais utiliser Serializable et écrire l'objet sur le disque, puis l'envoyer sur le fil à la servlet Java pour le traitement.

Je ne sais pas pourquoi vous auriez besoin de l'écrire sur le disque. Vous pouvez l'écrire dans un ObjectOutputStream soutenu par un ByteArrayOutputStream et ignorer les E/S du disque.

Personnellement, je n'utiliserais jamais Serializable pour les E/S réseau (utiliser JSON ou protobuf ou autre plate-forme neutre), mais si vous allez l'utiliser, au moins être efficace à ce sujet. :-)

Comment recommanderiez-vous de faire cela avec parcelable est la question, est-ce encore possible?

No. Parcelable est pour une communication inter-processus, le réseau de transport pas, la persistance ou d'autres scénarios extérieur du dispositif en cours d'exécution.

Est-ce que le paracelable n'est recommandé que d'une activité à une autre?

Nous vous invitons à l'utiliser pour d'autres scénarios IPC (par exemple, service à distance avec les paramètres de méthode AIDL Parcelable).