2010-12-12 67 views
1

Voici mon scénario:problème onSaveInstanceState tout en faisant la demande oAuth

1) dans mon activité, l'utilisateur appuie sur le bouton Autorisez. 2) app ouvre WebView, dans lequel la page Twitter est chargée et l'utilisateur est invité à entrer le nom d'utilisateur et mot de passe et appuyez sur le bouton Autoriser. (L'implémentation d'oAuth, Twitter l'exige pour intégrer votre application avec Twitter)

3) Le serveur distant transmet l'intention avec Token et Secret à mon activité, et mon activité récupère alors le contrôle.

Mon problème:

Lors du démarrage de cette activité, par intention, la variable RowID est passée. Cette valeur est enregistrée dans onSavedInstanceState lorsque l'activité est en pause ou lorsque l'orientation de l'écran est modifiée. À l'étape 3, lorsque mon activité reçoit le contrôle, je perds cette variable RowID. Je peux voir pourquoi, en fait, l'activité se fait sur OnResume et l'intention de recevoir de Twitter où il n'y a aucune mention de RowID. Alors, comment puis-je sauvegarder ma valeur RowID et la récupérer lorsque l'activité est reprise? Je pourrais l'enregistrer dans les préférences, mais est-ce la bonne chose à faire?

Toutes les suggestions, Merci.

Répondre

0

Préférences est la manière correcte d'enregistrer l'état pour de tels cas. simple, facile rapide.

+0

Merci. Puis j'ai d'autres questions qui m'embêtent pendant un moment. Pourquoi ne puis-je pas toujours utiliser SharedPreferences pour enregistrer mon état d'activité? Au lieu d'utiliser onSaveInstanceState. Si j'ai une ou deux variables à sauvegarder, il me semble plus simple d'utiliser SharedPreferences (pas beaucoup). – bobetko

+0

tout ce qui est plus simple est souvent la bonne réponse. J'ai toujours utilisé les préférences, jamais utilisées onSaveInstanceState. Les deux fonctionnent probablement bien, mais les préférences ont bien fonctionné pour moi, donc je n'ai jamais besoin de faire autre chose. – hunterp