2012-05-30 3 views
2

J'essaye d'implémenter une application pour sérialiser l'intention androïde et l'envoyer via une socket de client à serveur et la désérialiser sur le server.i essaye de sérialiser l'intention dans le côté client avec l'API de sérialisation java régulière mais dans le runtime dit que l'intention n'est pas sérialisable. Y at-il une solution pour sérialiser l'intention et la désérialiser? juste je dois mentionner que j'ai utilisé kryo aussi pour la sérialisation et la désérialisation mais encore une fois j'ai fait face à l'erreur au moment de la désérialisation. Y a-t-il une solution à cela ?Sérialisation Intention Android

BR, Ra

Répondre

1

Je voudrais créer un nouvel objet Serializable et ajoutez les parties du Intent que vous êtes intéressé, à savoir, action, paramètres faisceau, etc.

L'objet lui-même est Intent pas Serializable.

Une autre approche peut être d'écrire votre propre implémentation Parcel qui stocke les valeurs dans un autre type d'objet Serializable, puis de sérialiser cet objet sur le serveur. Vous pouvez écrire un Intent à Parcel en utilisant l'API Intent.writeToParcel().

+0

merci pour les conseils, mais avez-vous une idée comment "Android Cloud vers la messagerie de l'appareil (C2DM)" peut Sérialiser l'intention et envoyer le message à un appareil mobile? –

+0

Malheureusement, je n'ai aucune expérience avec C2DM :(Mais les docs C2DM semble couvrir à la fois l'envoi et la réception https://developers.google.com/android/c2dm/#received_data – stuckless

0

J'ai eu de la chance en sérialisant les intentions en utilisant toUri(). Malheureusement, la méthode de désérialisation correspondante, Intent.parseUri, n'est pas fiable et renvoie souvent une valeur nulle, bien que les données sérialisées semblent être valides.

+1

Et l'uri ne contient pas de drapeaux ou tous les extras. – JacksOnF1re