I would like to store class object in android sharedpreference. I did some basic search on that and I got some answers like make it serializable object and store it but my need is so simple. I would like to store some user info like name, address, age and boolean value is active. I made one user class for that.
public class User {
private String name;
private String address;
private int age;
private boolean isActive;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAddress() {
return address;
}
public void setAddress(String address) {
this.address = address;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public boolean isActive() {
return isActive;
}
public void setActive(boolean isActive) {
this.isActive = isActive;
}
}
Thanks.
Download
gson-1.7.1.jarfrom this link: GsonLibJarAdd this library to your android project and configure build path.
Add the following class to your package.
Create one more class by extending
Applicationclass like thisAdd that application class in your manifest’s
applicationtag like this.In Your Main Activity where you wanted to store value in
Shared Preferencedo something like this.In another activity where you wanted to get the value from
Preferencedo something like this.Hope this can help you. In this answer I used your class for the reference ‘User’ so you can better understand. However we can not relay on this method if you opted to store very large objects in preference as we all know that we have limited memory size for each app in data directory so that if you are sure you have only limited data to store in shared preference you can use this alternative.
Any suggestions on this implement are most welcome.