我想写几周检查的sqlite数据库。例如,我有7个checkBox,我需要在一个字段中将检查的项目写入数据库。当我从db获取此字段时,我需要解析它。 怎么做得更好?感谢
答案 0 :(得分:1)
将其存储为整数类型并使用以下方法解析:
public int serializeDays(ArrayList<Boolean> isDayActive)
{
int result = 0;
for(int i = 0; i < 7; ++i)
result &= ((isDayActive.get(i) ? 1 : 0) << i);
return result;
}
当您使用代码读取db deserialize时:
public ArrayList<Boolean> deserializeDays(Integer fromBase)
{
ArrayList<Boolean> result = new ArrayList<Boolean>();
for(int i = 0; i < 7; ++i)
result.add((fromBase >> i) & 1 == 1 ? true : false);
return result;
}