SharedReference storeData崩溃android应用程序

SharedReference storeData崩溃android应用程序,android,sharedpreferences,Android,Sharedpreferences,当我试图使用SharedReference存储loggedin信息时,它只是使我的应用程序崩溃。登录后,应用程序将用户信息存储到localStore中,并在多个页面中显示这些项目。 MyUser.java类: package com.material.components; import com.google.gson.annotations.Expose; import com.google.gson.annotations.SerializedName; pu

当我试图使用SharedReference存储loggedin信息时,它只是使我的应用程序崩溃。登录后,应用程序将用户信息存储到localStore中,并在多个页面中显示这些项目。 MyUser.java类:

    package com.material.components;
    import com.google.gson.annotations.Expose;
    import com.google.gson.annotations.SerializedName;
    public class User {
      @SerializedName("name")
      @Expose
      public String name;
      @SerializedName("email")
      @Expose
      public String email;
      @SerializedName("username")
      @Expose
      public String username;
      @SerializedName("customer_id")
      @Expose
      public String customerId;
      @SerializedName("phone")
      @Expose
      public String phone;
      @SerializedName("password")
      @Expose
      public String password;

      public User(String name,String email,String username,String customerId,String phone,String password){
        this.name = name;
        this.email = email;
        this.username = username;
        this.customerId = customerId;
        this.phone = phone;
        this.password = password;
      }

      public String getName() {
        return name;
      }
      public String getEmail() {
        return email;
      }
      public String getUsername() {
        return username;
      }
      public String getCustomerId() {
        return customerId;
      }
      public String getPhone() {
        return phone;
      }
      public String getPassword() {
        return password;
      }
    }
MyUserLocalStorage.java类:


    package com.material.components;

    import android.content.Context;
    import android.content.SharedPreferences;

    public class UserLocalStorage {
        public static final String SP_NAME = "userDetails";
        SharedPreferences userLocalDatabase;

        public UserLocalStorage(Context context){
            userLocalDatabase = context.getSharedPreferences(SP_NAME,0);
        }
        public void storeUserData(User user){
            SharedPreferences.Editor spEditor = userLocalDatabase.edit();
            spEditor.putString("name",user.name);
            spEditor.putString("customer_id",user.customerId);
            spEditor.putString("username",user.username);
            spEditor.putString("password",user.password);
            spEditor.putString("email",user.email);
            spEditor.putString("phone",user.phone);
            spEditor.commit();
        }

        public User getLoggedInUser(){
            String name = userLocalDatabase.getString("name","");
            String customerId = userLocalDatabase.getString("customer_id","");
            String username = userLocalDatabase.getString("username","");
            String password = userLocalDatabase.getString("password","");
            String email = userLocalDatabase.getString("email","");
            String phone = userLocalDatabase.getString("phone","");
            User storedUser = new User(name,email,username,customerId,phone,password);
            return storedUser;
        }

        public void setUserLoggedIn(boolean loggedIn){
            SharedPreferences.Editor spEditor = userLocalDatabase.edit();
            spEditor.putBoolean("loggedIn",loggedIn);
            spEditor.commit();
        }

        public boolean getUserLoggedIn(){
            if(userLocalDatabase.getBoolean("loggedIn",false)==true){
                return true;
            }
            else{
                return false;
            }
        }

        public void clearUserData(){
            SharedPreferences.Editor spEditor = userLocalDatabase.edit();
            spEditor.clear();
        }
    }

和我的登录类


        //.....after successfully loggedin.....
        User user_details = new User(null,null,null,null,null,null);
            userLocalStorage.storeUserData(user_details);
            userLocalStorage.setUserLoggedIn(true);
    Intent dashboard = new Intent(getBaseContext(), Dashboard.class);
                        startActivity(dashboard);


此外,如果我只是从用户对象打印一个特定项目,它会显示,但不能打印整个对象。

您能显示错误日志吗?2019-11-02 22:46:22.232 2978-8699/?W/ErrorProcessor:onFatalError,处理来自引擎(4)com.google.android.apps.gsa.shared.speech.b.g的错误:从com.google.android.apps.gsa.staticplugins.microdetection.d.k.a(源文件:91)com.google.android.apps.gsa.staticplugins.d.l.run(未知源:14)的输入流读取错误位于com.google.android.libraries.gsa.runner.a.a.b(源文件:32)位于com.google.android.libraries.gsa.runner.a.c.call(未知源代码:4),因为stackoverflow不允许我粘贴整个错误。。。上面只给出了几行