如何在 android 中将令牌存储在本地或会话存储中?
How to store the token in Local or session storage in android?
我正在创建一个与 SOAP 网络服务交互以从数据库中获取数据的应用程序。当用户成功登录时,它会通过网络服务生成一个令牌。稍后在其他活动中将需要此令牌来调用 Web 服务方法。我的问题是,如何在需要时将该令牌传递给下一个 activity 并维护它直到用户注销。
MainActivity.java
SharedPreferences 首选项=getApplicationContext().getSharedPreferences("YourSessionName", MODE_PRIVATE);
SharedPreferences.Editor编辑器=preferences.edit();
editor.putString("name",AIMSvalue);
editor.commit();
OtherActivity.java
SharedPreferences preferences=getSharedPreferences("YourSessionName", MODE_PRIVATE);
SharedPreferences.Editor editor=preferences.edit();
token=preferences.getString("name","");
editor.commit();
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() 方法在您登录时存储令牌。并在您注销或令牌过期时删除该令牌。
我正在创建一个与 SOAP 网络服务交互以从数据库中获取数据的应用程序。当用户成功登录时,它会通过网络服务生成一个令牌。稍后在其他活动中将需要此令牌来调用 Web 服务方法。我的问题是,如何在需要时将该令牌传递给下一个 activity 并维护它直到用户注销。
MainActivity.java
SharedPreferences 首选项=getApplicationContext().getSharedPreferences("YourSessionName", MODE_PRIVATE); SharedPreferences.Editor编辑器=preferences.edit(); editor.putString("name",AIMSvalue);
editor.commit();
OtherActivity.java
SharedPreferences preferences=getSharedPreferences("YourSessionName", MODE_PRIVATE);
SharedPreferences.Editor editor=preferences.edit();
token=preferences.getString("name","");
editor.commit();
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() 方法在您登录时存储令牌。并在您注销或令牌过期时删除该令牌。