2010-09-24 3 views
2

Je dois extraire des données d'un service Web REST dans mon application Android. Le service Web nécessite une authentification.
Je dois d'abord appeler une méthode de connexion, qui me renverra un authToken et JSESSIONID dans le cadre de l'en-tête de réponse. Je dois transmettre ces articles à chaque demande. J'utilise actuellement: org.apache.http.impl.client.DefaultHttpClient.DefaultHttpClient() pour appeler la méthode de connexion. Je peux voir le authToken et JSESSIONID sont retournés dans l'en-tête de réponse. Existe-t-il des outils ou des classes qui pourraient fournir une sorte de fonctionnalité de gestion que je peux facilement intégrer à mon application Android?comment s'authentifier auprès du service Web REST à partir de l'application Android?

merci!

Répondre

1

Vous pouvez stocker les valeurs en tant que paires clé/valeur en utilisant SharedPreferences, puis créer une sorte de méthode pratique qui ajoute ces valeurs à vos demandes Web. Une fois que vous obtenez ces valeurs de la réponse avec les stocker,

SharedPreferences apiVals = getSharedPreferences("apiVals", MODE_PRIVATE); 
apivals.edit() 
     .putString("authToken", authToken) 
     .putString("jSessionId", jSessionId) 
     .commit(); 

et de les récupérer,

SharedPreferences apiVals = getSharedPreferences("apiVals", MODE_PRIVATE); 
String authToken = apiVals.getString("authToken", null); 

Découvrez http://developer.android.com/reference/android/content/SharedPreferences.html pour plus d'informations.

0

Vous pouvez également consulter l'exemple de projet SimpleSyncAdapter (inclus avec Android SDK) pour voir comment le gestionnaire de compte Android est utilisé pour gérer l'authentification et le stockage des informations d'identification. Je crois que c'est la façon dont votre cas d'utilisation est censé être pris en charge dans Android.