我正在创建一个与SOAP Web服务交互的应用程序,以从数据库中获取数据。当用户成功登录时,它会通过Web服务生成令牌。稍后将在其他活动中使用此令牌来调用Web服务方法。我的问题是,如何在需要时将该令牌传递给下一个活动,并在用户注销之前将其维护。
MainActivity.java
SharedPreferences preferences = getApplicationContext()。getSharedPreferences(“YourSessionName”,MODE_PRIVATE); SharedPreferences.Editor editor = preferences.edit(); editor.putString( “姓名”,AIMSvalue);
editor.commit();
OtherActivity.java
SharedPreferences preferences=getSharedPreferences("YourSessionName", MODE_PRIVATE);
SharedPreferences.Editor editor=preferences.edit();
token=preferences.getString("name","");
editor.commit();
答案 0 :(得分:1)
public class CommonUtilities {
private static SharedPreferences.Editor editor;
private static SharedPreferences sharedPreferences;
private static Context mContext;
/**
* Create SharedPreference and SharedPreferecne Editor for Context
*
* @param context
*/
private static void createSharedPreferenceEditor(Context context) {
try {
if (context != null) {
mContext = context;
} else {
mContext = ApplicationStore.getContext();
}
sharedPreferences = context.getSharedPreferences(IConstants.SAMPLE_PREF, Context.MODE_PRIVATE);
editor = sharedPreferences.edit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
/**
* Put String in SharedPreference Editor
*
* @param context
* @param key
* @param value
*/
public static void putPrefString(Context context, String key, String value) {
try {
createSharedPreferenceEditor(context);
editor.putString(key, value);
editor.commit();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
使用此 putString()方法在您登录时存储令牌。并在您注销或令牌过期时删除该令牌。