package com.weibo.sdk.android.keep; import com.weibo.sdk.android.Oauth2AccessToken; import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; /** * 该类用于保存Oauth2AccessToken到sharepreference,并提供读取功能 * @author xiaowei6@staff.sina.com.cn * */ public class AccessTokenKeeper { private static final String PREFERENCES_NAME = "com_weibo_sdk_android"; /** * 保存accesstoken到SharedPreferences * @param context Activity 上下文环境 * @param token Oauth2AccessToken */ public static void keepAccessToken(Context context, Oauth2AccessToken token) { SharedPreferences pref = context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_APPEND); Editor editor = pref.edit(); editor.putString("token", token.getToken()); editor.putLong("expiresTime", token.getExpiresTime()); editor.commit(); } /** * 清空sharepreference * @param context */ public static void clear(Context context){ SharedPreferences pref = context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_APPEND); Editor editor = pref.edit(); editor.clear(); editor.commit(); } /** * 从SharedPreferences读取accessstoken * @param context * @return Oauth2AccessToken */ public static Oauth2AccessToken readAccessToken(Context context){ Oauth2AccessToken token = new Oauth2AccessToken(); SharedPreferences pref = context.getSharedPreferences(PREFERENCES_NAME, Context.MODE_APPEND); token.setToken(pref.getString("token", "")); token.setExpiresTime(pref.getLong("expiresTime", 0)); return token; } }