Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android-google plus登录的ConnectionResult以json字符串的形式存储在SharedReference中。如何取回?_Android_Json_Google Api_Gson - Fatal编程技术网

Android-google plus登录的ConnectionResult以json字符串的形式存储在SharedReference中。如何取回?

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(

我正在使用google+api进行登录,我想保存第一次登录的ConnectionResult对象,因为当我们在活动中导航时,它将变为null,并且应用程序将被迫关闭

此函数将结果存储在共享首选项中

    @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();

    }