【发布时间】:2012-01-29 13:53:13
【问题描述】:
我需要将一个字符串数组保存到数据库中,但它不会让我这样做。这就是我所拥有的:
public long createEntry(String startTime, String endTime, String[] states) {
ContentValues initialValues = new ContentValues();
initialValues.put(START_KEY_TIME , startTime);
initialValues.put(END_KEY_TIME , endTime);
initialValues.put(KEY_STATE, states );
return databaseConnect.insert(DATABASE_TABLE, null, initialValues);
}
但是如果我输入string[] states,它表示内容值不能接受参数。我该如何解决?我在想我有 7 个州的东西,我可以有 7 个单独的字符串并在每个字符串中存储东西,然后将所有字符串放回字符串数组吗?或者那是不好的做法?
【问题讨论】:
-
为什么需要将数组保存在数据库中?一定有其他好的解决方案。
-
我一周有 7 天,但它以布尔值(true 或 false)的形式输入,它需要是布尔值,因为你不能将布尔值保存到数据库中,所以我打算使用字符串数组,但是它不会让我因为 cotentvalues 对我能做什么有任何想法?
-
您可以将布尔值存储为整数 0 (false) 和 1 (true)。
-
您可以使用整数值来存储标志值。例如。对于星期日和星期二,该值将是 01010000(二进制)或类似的值。话虽如此,您实际上应该将七个布尔值存储在单独的列中。
-
另一种方法可能是使用 JSONObject,如 [此处](stackoverflow.com/questions/5703330/…) 所述