1

I save JWT tokens in SharedPrefManager as Header. And I want to retrieve the username data but on a null object reference. but why is SharedPrefManager.getSP_Token r (java.lang.String) 'on a null object reference. After that, I will take this member ID as another transaction

Error

E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.application.example, PID: 24805
    java.lang.NullPointerException: Attempt to invoke interface method 'retrofit2.Call com.application.Example.Api.api_v2.BaseApiService.getUsermember(java.lang.String)' on a null object reference
        at com.application.Example.Akun.FragmentAkun.getUsername(FragmentAkun.java:301)
        at com.application.Example.Akun.FragmentAkun.onCreateView(FragmentAkun.java:105)
        at androidx.fragment.app.Fragment.performCreateView(Fragment.java:2439)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1460)
        at androidx.fragment.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1784)
        at androidx.fragment.app.FragmentManagerImpl.moveToState(FragmentManager.java:1852)
        at androidx.fragment.app.BackStackRecord.executeOps(BackStackRecord.java:802)
        at androidx.fragment.app.FragmentManagerImpl.executeOps(FragmentManager.java:2625)
        at androidx.fragment.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2411)
        at androidx.fragment.app.FragmentManagerImpl.removeRedundantOperationsAndExecute(FragmentManager.java:2366)
        at androidx.fragment.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2273)
        at androidx.fragment.app.FragmentManagerImpl$1.run(FragmentManager.java:733)
        at android.os.Handler.handleCallback(Handler.java:873)
        at android.os.Handler.dispatchMessage(Handler.java:99)
        at android.os.Looper.loop(Looper.java:214)
        at android.app.ActivityThread.main(ActivityThread.java:7091)
        at java.lang.reflect.Method.invoke(Native Method)
        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:494)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:975)

FeagmentAkun.java

   private void getUsername(){
        Call<ResultItem> getUser = mApiService.getUsermember(sharedPrefManager.getSPToken());
        getUser.enqueue(new Callback<ResultItem>() {
            @Override
            public void onResponse(Call<ResultItem> call, Response<ResultItem> response) {
                if (response.code() == 200) {
                    Toast.makeText(getActivity(), response.body().getEmail(), Toast.LENGTH_SHORT).show();
                }
            }

            @Override
            public void onFailure(Call<ResultItem> call, Throwable t) {

            }
        });

    }

ApiServices.java

//getUserMember
@GET("system/users/{id}")
Call<ResultItem> getUsermember(@Header("Authorization") String result);

ResultItem.java

public class ResultItem{

    @SerializedName("password")
    private String password;

    @SerializedName("pin")
    private String pin;

    @SerializedName("verifiedMember")
    private Object verifiedMember;

    @SerializedName("profile")
    private Profile profile;

    @SerializedName("id")
    private String id;

    @SerializedName("msisdn")
    private String msisdn;

    @SerializedName("email")
    private String email;

    @SerializedName("sso")
    private String sso;

    @SerializedName("username")
    private String username;

    @SerializedName("token")
    private Object token;

    public void setPassword(String password){
        this.password = password;
    }

    public String getPassword(){
        return password;
    }

    public void setPin(String pin){
        this.pin = pin;
    }

    public String getPin(){
        return pin;
    }

    public void setVerifiedMember(Object verifiedMember){
        this.verifiedMember = verifiedMember;
    }

    public Object getVerifiedMember(){
        return verifiedMember;
    }

    public void setProfile(Profile profile){
        this.profile = profile;
    }

    public Profile getProfile(){
        return profile;
    }

    public void setId(String id){
        this.id = id;
    }

    public String getId(){
        return id;
    }

    public void setMsisdn(String msisdn){
        this.msisdn = msisdn;
    }

    public String getMsisdn(){
        return msisdn;
    }

    public void setEmail(String email){
        this.email = email;
    }

    public String getEmail(){
        return email;
    }

    public void setSso(String sso){
        this.sso = sso;
    }

    public String getSso(){
        return sso;
    }

    public void setUsername(String username){
        this.username = username;
    }

    public String getUsername(){
        return username;
    }

    public void setToken(Object token){
        this.token = token;
    }

    public Object getToken(){
        return token;
    }
}

0 Answers0