Android-google plus登录的ConnectionResult以json字符串的形式存储在SharedReference中。如何取回?
我正在使用google+api进行登录,我想保存第一次登录的ConnectionResult对象,因为当我们在活动中导航时,它将变为null,并且应用程序将被迫关闭 此函数将结果存储在共享首选项中Android-google plus登录的ConnectionResult以json字符串的形式存储在SharedReference中。如何取回?,android,json,google-api,gson,Android,Json,Google Api,Gson,我正在使用google+api进行登录,我想保存第一次登录的ConnectionResult对象,因为当我们在活动中导航时,它将变为null,并且应用程序将被迫关闭 此函数将结果存储在共享首选项中 @Override public void onConnectionFailed(ConnectionResult result) { Gson gson = new GsonBuilder().registerTypeAdapter(
@Override
public void onConnectionFailed(ConnectionResult result) {
Gson gson = new GsonBuilder().registerTypeAdapter(
ConnectionResult.class, new MyTypeAdapter<ConnectionResult>())
.create();
String json = gson.toJson(result);
prefsEditor.putString("MyObject", json);
prefsEditor.commit();
if (!result.hasResolution()) {
GooglePlayServicesUtil.getErrorDialog(result.getErrorCode(), this,
0).show();
return;
}
this.mConnectionResult = result;
if (!mIntentInProgress) {
// store mConnectionResult
Constants.connectionResult = result;
mConnectionResult = result;
if (signedInUser) {
resolveSignInError();
}
}
}
此函数获取存储的对象并将其转换为所需对象,即ConnectionResult
字符串json=ConnectionResult{statusCode\u003dSIGN\u IN_必需,解析\u003dPendingContent{4135c520:android.os。BinderProxy@4135c4c0}}
但是ConnectionResult obj=gson.fromJsonjson,ConnectionResult.class;返回null
请帮助我。您想要回什么用户名、用户id、电子邮件id??ConnectionResult包含错误代码和解析。我希望整个对象恢复原样。
@Override
public void onConnected(Bundle arg0) {
gson = new GsonBuilder().registerTypeAdapter(
ConnectionResult.class,
new MyTypeAdapter<ConnectionResult>()).create();
String json = mPrefs.getString("MyObject", "");
ConnectionResult obj = gson.fromJson(json, ConnectionResult.class);
Constants.connectionResult = obj;
signedInUser = false;
Toast.makeText(this, "Connected", Toast.LENGTH_LONG).show();
getProfileInformation();
}