passer l'obj GoogleApiClient d'une activité à une autre
Je veux être en mesure de mettre à jour mon score pour mon classement dans une autre activité autre que celle qui crée le GoogleApiClient obj ( activité principale ).
Quelle est la meilleure façon de le faire?
Est faire l'obj parcelable de la bonne façon? si oui, comment pouvez-vous faire si la classe est partie d'une bibliothèque.
Pouvez-vous faire l'obj statique? est-il sûr?
Des conseils sur la façon d'y parvenir serait génial.
source d'informationauteur Rob85
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser la classe d'Application, android orientée vers le pattern singleton classe et il pourrait être votre classe de base pour votre ApiClient appels.
Voici un lien vers le API de la documentation, et voici quelques exemples ainsi que les arguments en faveur de l'utilisation Demande de Singleton.
Ok je pensais que j'allais répondre à ma propre Question, j'ai trouvé une méthode qui actuellement me convient.
Beaucoup de ce qui a fini à partir d'un autre répondu à la question trouvé ici!
Cette méthode utilise la basegameutil afin d'aller de Lee réponse dans le lien que j'ai juste avoir mes deux activités s'étendent de la BaseGameActivity et ajouter les méthodes requises.
J'ai ensuite créer une nouvelle instance de la GoogleApiClient dans ma deuxième activité, puis obtenir l'api client comme ceci:
je peux maintenant passer à la présente autour de ma deuxième activité et d'appeler les méthodes comme je le souhaite.
Que Lee Unis, dans sa réponse, vous pouvez avoir plusieurs instances de l'api de google client et encore ne sera pas demandé de vous inscrire pour chacun d'eux, car il sait que vous êtes déjà connecté.
Mon vrai test est de:
1. Ne peut pas passer une GoogleApiClient comme un objet à un autre service ou d'une activité, en l'utilisant comme une Intention de paramètre.
2. Laisser utiliser la classe Singleton résoudre comme ci-dessous:
+ Étape 1: Faire classe Singleton qui comprennent GoogleApiClient objet en tant que membre de données. Merci de faire comme ceci:
Étape 2: Dans la principale Activité de la classe ne initialiser un GoogleApiClient objet puis d'appeler getInstance avec mGoogleApiClient en tant que paramètre de Singleton de la classe de base.
Étape 3: Dans un autre service ou de l'Activité qui vous souhaitez passer GoogleApiClient objet, il suffit d'appeler getInstance(null) de Singleton baseclass, et d'appeler get_GoogleApiClient à désiré GoogleApiClient objet.
Si vous avez un problème, veuillez me contacter [email protected].
Si vous avez besoin d'être connecté en permanence à la GoogleApiClient alors je serais probablement faire une classe singleton pour gérer GoogleApiClient appels (http://en.wikipedia.org/wiki/Singleton_pattern) ou d'un service d'arrière-plan qui permettrait de courir pour l'ensemble du cycle de vie des applications (https://developer.android.com/training/best-background.html).
À partir de la documentation du développeur:
Si vous n'avez pas besoin d'envoyer les données immédiatement GoogleApiClient va de la file d'attente les données à envoyer pour vous et tout simplement l'envoyer dans l'Activité principale.