1. MMKV简介
MMKV是一个轻量级的本地存储技术,具有比sharedPreferences更高的性能,是微信开源的一种持久化技术。
2. 存储Bean实体对象
网上有很多使用实例,但都没有实体类对象的储存,所以我去琢磨了一下,实现成功,记录在此,供大家参考。
- 实现Parcelable接口
public class User implements Parcelable {
String id;
String name;
public User(){
}
protected User(Parcel in) {
id = in.readString();
name = in.readString();
}
public void setId(String id) {
this.id = id;
}
public String getId() {
return id;
}
public void setName(String name) {
this.name = name;
}
public String getName() {
return name;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(id);
dest.writeString(name);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<User> CREATOR = new Creator<User>() {
@Override
public User createFromParcel(Parcel in) {
return new User(in);
}
@Override
public User[] newArray(int size) {
return new User[size];
}
};
}
- 在其他类中实现
public class MainActivity extends AppCompatActivity {
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textView = findViewById(R.id.tv_text);
User user = new User();
user.setId("hello");
user.setName("hello123");
MMKV.initialize(this);
MMKV mmkv = MMKV.defaultMMKV();
mmkv.encode("user",user); //存储数据
User user1 = (User) mmkv.decodeParcelable("user",User.class); //获取数据
textView.setText(user1.getName()+"");
}
}
|