如何写一周的sqlite天?

时间:2015-05-28 08:10:16

标签: android sqlite date

我想写几周检查的sqlite数据库。例如,我有7个checkBox,我需要在一个字段中将检查的项目写入数据库。当我从db获取此字段时,我需要解析它。  怎么做得更好?感谢

1 个答案:

答案 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;
}