2017-02-09 1 views
0

Je suis un développeur Web et commence à apprendre le développement android.Android État de l'application

Je souhaite m'authentifier auprès d'un serveur personnalisé qui répond avec un objet utilisateur et un JWT (jeton Web JSON) pour une authentification supplémentaire.

Je sais que je dois utiliser des intentions pour afficher la page de connexion, etc.

Dans un environnement web, vous avez accès à une session où vous pouvez stocker des données. Mais je ne peux pas trouver le même principe pour une application android. L'état de l'application actuelle. J'ai besoin de cela parce que je veux stocker l'objet utilisateur et JWT pour d'autres demandes et y accéder dans d'autres parties de l'application sans le passer en paramètre à chaque fois.

Je suppose que j'ai juste besoin de connaître le grignotage d'une session dans Android pour y parvenir.

Merci à l'avance

Répondre

0

En tant que développeur non-web, je peux me tromper, mais je vois trois solutions pour cela:

  1. utilisent un ensemble de constantes. Par exemple

    public class C { public final static boolean isAuthenticated = false; public final static String userName = "Joe Doe"; }

  2. utilisation SharedPreferences (vous pouvez trouver beaucoup d'exemples autour) pour stocker manuellement les données de votre utilisateur. SharedPreferences est un moyen pratique de stocker des données globales. Si nécessaire, enregistrez-le et rechargez-le si l'application est fermée, pour le restaurer. Voici un exemple: Android: Keep username in session until logout

  3. utiliser une bibliothèque.

L'écosystème d'Android est très mature maintenant et il y a beaucoup de bibliothèques qui pourraient faire votre affaire. Par exemple, les bibliothèques carrées sont vraiment solides et je suis sûr que vous pouvez trouver exactement ce dont vous avez besoin: https://github.com/square/retrofit

et le plus léger (et utilisé à l'intérieur retrofit) https://github.com/square/okhttp

Ici, il y a une liste d'autres bibliothèques libres que vous pouvez insérer et que vous pourriez explorer pour trouver ce qui est le mieux pour vous sur GitHub: https://github.com/search?q=http&ref=opensearch&l=Java&s=stars

et d'autres utilitaires qui peuvent lui être utiles: https://android-arsenal.com/tag/204?sort=created&category=1

Avec une recherche rapide sur GitHub j'ai aussi trouvé que ça parle explicitement de sessions: https://github.com/softwaremill/akka-http-session.