2013-01-10 4 views
-1

J'ai une classe GCM, qui reçoit un message avec deux chaînes distinctes provenant du serveur Google GCM. J'ai besoin d'utiliser ces 2 chaînes dans une autre activité de mon application. Le problème est que je ne sais pas à l'avance combien de ces messages gcm seront. J'ai besoin de stocker ces valeurs et de les utiliser dans une autre activité pour les présenter à l'utilisateur dans une mise en page. Je trouve cette cause difficile tout d'abord, je ne sais pas combien de ces messages seront, donc je ne peux pas dessiner la mise en page à l'avance, et d'autre part parce que je n'ai pas trouvé un moyen efficace de stocker ces 2 chaînes ensemble, de sorte que je suis capable de les manipuler plus tard.Transfert de données entre activités

Chaque groupe de ces deux chaînes appartient à un utilisateur et doit être stocké de manière à pouvoir être récupéré séparément des autres groupes de chaînes.

J'ai essayé de le faire en utilisant SharePrefrences ou des intentions mais je ne trouve pas de solution appropriée à cela. Je sais que ma question peut sembler stupide, et je ne demande pas une solution, mais je suis coincé et je serais vraiment heureux, si quelqu'un pourrait me donner quelques conseils ou des conseils sur une solution de contournement à cela, ou où regarder ..

Répondre

0

Vous devriez être en mesure de les stocker dans un ArrayList ou HashMap et les envoyer par un Intent. Vous n'aurez pas besoin de savoir combien il y en a, il suffit d'utiliser une boucle pour l'ajouter, même si plusieurs existent dans la liste. Lorsque vous les affichez, vous pouvez utiliser un ListView pour les afficher afin que vous n'ayez pas à vous soucier de savoir combien il y en a à chaque fois, mais vous pouvez obtenir le nombre pour que vous puissiez savoir si nécessaire. En dehors de cela, il est difficile de dire sans voir ce que vous avez essayé, ce qui est/ne fonctionne pas/ou ce que vous savez déjà si j'ai ajouté quelques liens qui peuvent être utiles pour comprendre ces objets

ArrayList

HashMap

considérez LinkedHashMap si vous êtes concerné par l'ordre des données.

+0

Comment cette boucle fonctionnera-t-elle si je ne connais pas le nombre de messages? Tu veux dire que je devrais utiliser try {}? Je pensais qu'en utilisant HashMap le nombre d'éléments ajoutés devait être corrigé. – user1732457

+0

Je suppose que vous n'auriez probablement pas besoin d'une boucle, c'est difficile pour moi de "voir" sans voir de visuel (code ou autre) mais je voulais juste ajoutez les messages que vous avez à l'un ou l'autre type de liste, mais vous devez le faire. Je n'ai jamais connu le nombre d'éléments devant être corrigés. Vous pouvez le faire dynamiquement – codeMagic

+0

Si je peux être plus précis, le message entrant, concernant chaque utilisateur, est un message distinct pour chaque utilisateur, donc je ne peux pas simplement extraire tous les messages d'un objet json par exemple .. – user1732457

Questions connexes