Java 如果应用程序有多个登录,如fb、google和web服务登录,如何在android中管理会话

Java 如果应用程序有多个登录,如fb、google和web服务登录,如何在android中管理会话,java,android,session,facebook-login,google-login,Java,Android,Session,Facebook Login,Google Login,我的应用程序有三种类型的登录 1.使用web服务正常注册和登录 2.Facebook整合 3.谷歌整合 我需要知道的是如何使用三种登录类型管理会话。我使用共享首选项进行正常登录,并且我能够管理多个用户的会话,但需要帮助管理这三种类型的会话。您可以使用SharedReferences和Gson,如下所示: public class Prefs { public static void putPref(String key, String value, Context context){

我的应用程序有三种类型的登录 1.使用web服务正常注册和登录 2.Facebook整合 3.谷歌整合
我需要知道的是如何使用三种登录类型管理会话。我使用共享首选项进行正常登录,并且我能够管理多个用户的会话,但需要帮助管理这三种类型的会话。您可以使用SharedReferences和Gson,如下所示:

public class Prefs {

public static void putPref(String key, String value, Context context){
    SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(context);
    SharedPreferences.Editor editor = prefs.edit();
    editor.putString(key, value);
    editor.commit();
}

public static String getPref(String key, Context context) {
    SharedPreferences preferences =   PreferenceManager.getDefaultSharedPreferences(context);
    return preferences.getString(key, null);
 }
}
将此添加到build.gradle中:

compile 'com.google.code.gson:gson:1.7.2'
登录时(活动或片段):

在存储您的用户之后

 Prefs.putPref("user",json,your context);
 String json = = Prefs.getPref("user",your context);
 User user = null;
 if(json != null)
    user = gson.fromJson(json,User.class);
获取您的用户

 Prefs.putPref("user",json,your context);
 String json = = Prefs.getPref("user",your context);
 User user = null;
 if(json != null)
    user = gson.fromJson(json,User.class);

对于您的web服务登录,您可以使用共享首选项,对于FB和Google,有内置的功能来维护SDK中的会话