尝试从私有类获取sharedpreferences值时出错

I am trying to get the sharedpreferences values that are saved, and I want to get the saved value to pop up in a Toast message. All this happens in a class, but I get the error: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.content.Context.getPackageName()' on a null object reference

我不确定错误在哪里,但是我可以在类中发布我的两个方法,其中一个保存到sharedPreferences中,另一个方法应该从sharedPreferences中加载值(错误在这里):

    public void saveDataForPreferences(Context context, String userId, String lol, String key){
    SharedPreferences sharedPreferences = context.getSharedPreferences(lol, Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, userId);
    editor.putString(key, lol);
    editor.commit();
    editor.apply();
    readSharedPreference(context, userId, lol);

}
public String readSharedPreference(Context context,String lol ,String key){
    SharedPreferences sharedPreferences = context.getSharedPreferences(lol, Context.MODE_PRIVATE);
    Toast.makeText(mActivity, lol, Toast.LENGTH_SHORT).show();
    return  sharedPreferences.getString(key,DEFAULT);
}

因为我不确定问题出在哪里,所以将我的整个代码发布在这里:

package com.example.vi_prover_selvfolgelig_igjen.normal_java_classes.Firebase;
public class FirebaseUserProfile extends FirebaseRegistration {

private String introMessageSeen = "False";

private FirebaseAuth mAuth;
private FirebaseAuth.AuthStateListener firebaseAuthListener;


public Activity mActivity;

public FirebaseUserProfile(){


}

public String getUid() {
    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    String the_uid = user.getUid();
    return the_uid;
}

protected final static String DEFAULT = "0";


public void saveDataForPreferences(Context context, String userId, String lol, String key){
    SharedPreferences sharedPreferences = context.getSharedPreferences(lol, Context.MODE_PRIVATE);
    SharedPreferences.Editor editor = sharedPreferences.edit();
    editor.putString(key, userId);
    editor.putString(key, lol);
    editor.commit();
    editor.apply();
    readSharedPreference(context, userId, lol);

}
public String readSharedPreference(Context context,String lol ,String key){
    SharedPreferences sharedPreferences = context.getSharedPreferences(lol, Context.MODE_PRIVATE);
    Toast.makeText(mActivity, lol, Toast.LENGTH_SHORT).show();
    return  sharedPreferences.getString(key,DEFAULT);
}

public void addPersonalInfoToDB(final Context howToDoThis){ // is this correct?

    Query secretNotesQuery = FirebaseDatabase.getInstance().getReference().child("AdditionalUserInfo");
    secretNotesQuery.addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

            final DatabaseReference current_notes_db = FirebaseDatabase.getInstance().getReference().child("AdditionalUserInfo").push();
            Map extraUserInfo = new HashMap();
            extraUserInfo.put("sex", sex);
            extraUserInfo.put("user-age", age);
            extraUserInfo.put("user-weight", weight);
            extraUserInfo.put("intro-message-seen", introMessageSeen);
            extraUserInfo.put("user_id", getUid());

            saveDataForPreferences(howToDoThis,getUid(), introMessageSeen,"0");

            current_notes_db.setValue(extraUserInfo);

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {

        }
    });

}

public void getUserProfile(final Context theContext) {

    final FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    final String the_uid = user.getUid();
    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
    DatabaseReference additionalUserInfoRef = rootRef.child("UserRegistraion");
    Query userQuery = additionalUserInfoRef.orderByKey().equalTo(the_uid);

    ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                Map<String, Object> map = new HashMap<>();

                String userName = ds.child("username").getValue(String.class);
                String nameOfUser = ds.child("name").getValue(String.class);


               setUsername(userName);
               setName(nameOfUser);
               showUserWorkOutProfile();

               saveDataForPreferences(theContext, the_uid, nameOfUser, "0");
            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Toast.makeText(mActivity, "Something went wrong..", Toast.LENGTH_SHORT).show();
        }
    };
    userQuery.addListenerForSingleValueEvent(valueEventListener);

}



public void CHANGEIMPORTANTUSERINFO(){

    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    String the_uid = user.getUid();
    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

    DatabaseReference additionalUserInfoRef = rootRef.child("UserRegistraion");
    Query userQuery = additionalUserInfoRef.orderByKey().equalTo(the_uid);

    ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                Map<String, Object> map = new HashMap<>();

                map.put("name", getName());

                ds.getRef().updateChildren(map);

            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Toast.makeText(mActivity, "Something went wrong..", Toast.LENGTH_SHORT).show();
        }
    };
    userQuery.addListenerForSingleValueEvent(valueEventListener);

}

public void ChangeWorkOutProfileDetails() {
    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();

    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    String the_uid = user.getUid();

    DatabaseReference additionalUserInfoRef = rootRef.child("AdditionalUserInfo");
    Query userQuery = additionalUserInfoRef.orderByChild("user_id").equalTo(the_uid);


    ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                Map<String, Object> map = new HashMap<>();

                map.put("user-age", age);
                map.put("user-weight", weight);
                ds.getRef().updateChildren(map);
                showUserWorkOutProfile();

            }
        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Toast.makeText(mActivity, "Something went wrong..", Toast.LENGTH_SHORT).show();
        }
    };
    userQuery.addListenerForSingleValueEvent(valueEventListener);

}

public void showUserWorkOutProfile() {
    DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();
    FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
    String the_uid = user.getUid();

    DatabaseReference additionalUserInfoRef = rootRef.child("AdditionalUserInfo");
    Query userQuery = additionalUserInfoRef.orderByChild("user_id").equalTo(the_uid);

    ValueEventListener valueEventListener = new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            for (DataSnapshot ds : dataSnapshot.getChildren()) {
                Map<String, Object> map = new HashMap<>();

                String userAge = ds.child("user-age").getValue(String.class);
                String userWeight = ds.child("user-weight").getValue(String.class);



                setAge(userAge);
                setWeight(userWeight);

                if (mRegistrationListener != null)
                    mRegistrationListener.onRegistrationComplete(true); // Assumes success





            }

        }

        @Override
        public void onCancelled(@NonNull DatabaseError databaseError) {
            Toast.makeText(mActivity, "Something went wrong..", Toast.LENGTH_SHORT).show();
        }
    };
    userQuery.addListenerForSingleValueEvent(valueEventListener);

}


private OnRegistrationCompleteListener mRegistrationListener;


// Set listener ( callback ) that will be called on registration completion
public FirebaseUserProfile(OnRegistrationCompleteListener listener ) {

    mRegistrationListener = listener;
}

// Interface that can be implemented by other classes
public interface OnRegistrationCompleteListener
{
    void onRegistrationComplete( boolean success);
}}

有人可以帮我解决这个问题吗?谢谢。