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