Comment sérialisez-vous Android Intentions Stack Overflow
Android Intentions ont une méthode Touri () pratique que les API docs semblent indiquer est un moyen de sérialisation une intention d'un URI, puis plus tard parse nouveau dans une intention. Malheureusement, pour tester cette fonctionnalité, je trouve qu'il ne sérialise pas tous les extras, juste les types primitifs (Boolean, int, long, float, String). Si l'intention précise des extras Parcelable ou tableau, alors ceux-là se perdre.
Où (si nulle part) est cette limitation documentée? Y at-il une raison évidente de ce comportement (je peux imaginer quelques difficultés avec Parcelables)? Et surtout, est-il un moyen recommandé pour sérialiser et analyser Intentions?
Ma mise en œuvre en cours, écrit simplement des composants Intent (action, catégories, uri de données et extras) à un SharedPreferences. Cette stratégie ne prend pas en charge Parcelables.
Android Intentions ont une méthode Touri () pratique que les API docs semblent indiquer est un moyen de sérialisation une intention d'un URI, puis plus tard parse nouveau dans une intention.
Où (si nulle part) est cette limitation documentée?
Touri () n'est pas sérialisation.
Et surtout, est-il un moyen recommandé pour sérialiser et analyser Intentions?
Non. En particulier, Parcelable ne peut pas être sérialisé, par définition.
Ma mise en œuvre en cours, écrit simplement des composants Intent (action, catégories, uri de données et extras) à un SharedPreferences.
Cette approche est tout simplement bizarre.
Utilisez une base de données. Si vous avez été attaqué par une base de données en tant que jeune enfant et donc vivre dans la peur abjecte des bases de données, en utilisant la sérialisation JSON, XML ou Serializable / ObjectOutputStream dans un fichier. Utilisez SharedPreferences pour les préférences de l'utilisateur.
Cette stratégie ne prend pas en charge Parcelables.
devrait-il pas non plus. On ne peut pas. Parcelable est conçu pour convertir un graphe d'objet dans un bloc de mémoire destiné à être utilisé dans un dispositif en cours d'exécution uniquement. Il est pas un mécanisme de persistance à long terme.