Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/72.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上清除或删除类数据容器中的数据_Android_Pojo - Fatal编程技术网

在android上清除或删除类数据容器中的数据

在android上清除或删除类数据容器中的数据,android,pojo,Android,Pojo,我想在我的应用程序注销后清除类数据容器中的数据, 过程的顺序是: 注销>清除ContactItem内的数据>注册活动的意图 因此,当使用不同的帐户登录时,该类将填充新数据。 ContactItem将用于存储来自API的数据 当调用API以获取数据时: private void oauthToken(String msisdn){ Call<APIResponse<ContactItem>> call = ServicesFactory.getService(thi

我想在我的应用程序注销后清除类数据容器中的数据, 过程的顺序是:

注销>清除ContactItem内的数据>注册活动的意图

因此,当使用不同的帐户登录时,该类将填充新数据。 ContactItem将用于存储来自API的数据

当调用API以获取数据时:

private void oauthToken(String msisdn){
    Call<APIResponse<ContactItem>> call = ServicesFactory.getService(this).register(msisdn,getSerialSIM);
    call.enqueue(new Callback<APIResponse<ContactItem>>() {
        @Override
        public void onResponse(Call<APIResponse<ContactItem>> call, Response<APIResponse<ContactItem>> response) {

            if(response.isSuccessful() && response.body().isSuccessful()){
                ContactItem item = response.body().data;
                SessionManager.saveProfile(RegisterPhoneActivity.this, item);
                ContactDBManager.getInstance(getApplicationContext()).insertContact(item);

            }
            else{
                toast("Authentication failed");
            }
        }
        @Override
        public void onFailure(Call<APIResponse<ContactItem>> call, Throwable t) {
            toast("Authentication failed");
        }
    });
}

在注销时,您可以从共享首选项中删除数据,您只想清除此类中的所有数据吗?比如,在没有数据的情况下重新显示它?对不起,请检查上面的更新。如果我是对的,您想清除您在outhToken api响应中创建的“ContactItem”对象吗?@Rai_Gaurav yess正确,我怎么能这样做?
public class ContactItem implements Parcelable {
public String caller_id;
public String msisdn;
public String name;
public String status_caller;
public String video_caller;
public String status;
public String created_date;
public String email;
public String caller_pic;
public String serialsim;
public ProfileItem profiles = new ProfileItem();
public ContactItem(){}
public String getName(){
    return name.isEmpty()?"":name;
}

public String getName(String def){
    return name.isEmpty()?def:name;
}

public String getEmail(){
    return email==null?"":email;
}

public String getStatusCaller(){
    return TextUtils.isEmpty(status_caller)?"'No status'":"'"+status_caller+"'";
}

protected ContactItem(Parcel in) {
    caller_id = in.readString();
    msisdn = in.readString();
    name = in.readString();
    status_caller = in.readString();
    video_caller = in.readString();
    status = in.readString();
    created_date = in.readString();
    email = in.readString();
    caller_pic = in.readString();
    serialsim = in.readString();
    profiles = (ProfileItem) in.readValue(ProfileItem.class.getClassLoader());
}

@Override
public int describeContents() {
    return 0;
}

@Override
public void writeToParcel(Parcel dest, int flags) {
    dest.writeString(caller_id);
    dest.writeString(msisdn);
    dest.writeString(name);
    dest.writeString(status_caller);
    dest.writeString(video_caller);
    dest.writeString(status);
    dest.writeString(created_date);
    dest.writeString(email);
    dest.writeString(caller_pic);
    dest.writeString(serialsim);
    dest.writeValue(profiles);
}

@SuppressWarnings("unused")
public static final Parcelable.Creator<ContactItem> CREATOR = new Parcelable.Creator<ContactItem>() {
    @Override
    public ContactItem createFromParcel(Parcel in) {
        return new ContactItem(in);
    }

    @Override
    public ContactItem[] newArray(int size) {
        return new ContactItem[size];
    }
};
}
protected void onStart() {
    super.onStart();
    String serial = AppPreference.getPreference(MainActivity.this,AppPreference.SERIAL_SIM);
    if (serialSIM == null || !serialSIM.equals(serial)){
        firebaseAuth.signOut();

       //======== Here is ==========

        Intent intent1 = new Intent(MainActivity.this,RegisterPhoneActivity.class);
        startActivity(intent1);
        finish();
    }
}