2010-09-24 74 views
2

我需要从我的android应用程序中的REST Web服务中提取数据。 Web服务需要认证。
我需要先调用一个登录方法,它将返回一个authToken和JSESSIONID作为响应头的一部分。我需要将这些项目传回给每个请求。我目前使用:org.apache.http.impl.client.DefaultHttpClient.DefaultHttpClient()来调用登录方法。我可以看到authToken和JSESSIONID正在响应头中返回。 是否有任何现有的工具或类可能提供某种管理功能,我可以轻松地与我的Android应用程序集成?如何从Android应用程序对REST Web服务进行身份验证?

谢谢!

回答

1

您可以使用SharedPreferences将值存储为键/值对,然后创建一些便利方法将这些值附加到您的Web请求。一旦你得到的响应,这些值将它们存储着,

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

,并检索它们,

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

退房http://developer.android.com/reference/android/content/SharedPreferences.html以获取更多信息。

0

您可能还想查看SimpleSyncAdapter示例项目(包含在Android SDK中)以了解如何使用Android的客户经理处理认证和凭证存储。我相信这就是您的用例意在在Android中支持的方式。

相关问题