HarmonyOS应用开发实战-卡片信息持久化处理
卡片开发中需要在卡片创建时将卡片的formId等信息存储起来,方便以后的刷新等操作,下面介绍卡片如何做持久化处理。
1 .建立数据库和表
@Database(entities = {CardDataTable.class, Personal.class},version = 1)
public class MyCloudBase extends OrmDatabase {
@Override
public int getVersion() {
return 1;
}
@Override
public RdbOpenCallback getHelper() {
return null;
}
}
public class CardDataTable extends OrmObject {
@PrimaryKey(autoGenerate = true)
private Integer id; //必须是包装类
private long formId;
private String formName;
private int dismension;
// set / get 操作
}
2 在卡片创建时进行数据保存已经删除时删除卡片信息
DatabaseHelper manager = new DatabaseHelper(this);
ormContext = manager.getOrmContext(DATABASE_NAME_ALIAS, DATABASE_NAME, MyCloudBase.class);
// 构造插入数据
CardDataTable cardDataTable = new CardDataTable();
cardDataTable.setFormId(formId);
cardDataTable.setFormName(formName);
cardDataTable.setDismension(dimension);
cardDataTable.setCardId(WidgetId);
HiLog.info(TAG, “存储卡片信息”+formId );
//存储卡片信息
if (ormContext.insert(cardDataTable)&&ormContext.flush()) {
HiLog.info(TAG, “存储卡片信息”+formId+“成功” );
}else
HiLog.info(TAG, “存储卡片信息”+formId+“失败” );