gpt4 book ai didi

Android:SQLite 保存字符串数组?

转载 作者:IT老高 更新时间:2023-10-28 21:49:59 24 4
gpt4 key购买 nike

我需要将一个字符串数组保存到数据库中,但它不会让我这样做。这就是我所拥有的:

 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[] 状态放入其中,则表示内容值无法接受参数。我该如何解决?我在想我有 7 个州的东西,我可以有 7 个单独的字符串并在每个字符串中存储东西,然后将所有字符串放回字符串数组吗?或者那是不好的做法?

最佳答案

您不能将字符串数组保存到数据库中。但是你可以使用这个技巧。

1) 所以你必须使用 convertArrayToString(String[] array) 方法将它转换成简单的字符串。这将使用“逗号”连接字符串的所有元素。

2) 当您从数据库中检索此字符串时,您可以使用 convertStringToArray(String str) 方法将其转换回字符串数组。此方法会将字符串从 'comma' 中拆分出来,然后您将得到原始数组。

public static String strSeparator = "__,__";
public static String convertArrayToString(String[] array){
String str = "";
for (int i = 0;i<array.length; i++) {
str = str+array[i];
// Do not append comma at the end of last element
if(i<array.length-1){
str = str+strSeparator;
}
}
return str;
}
public static String[] convertStringToArray(String str){
String[] arr = str.split(strSeparator);
return arr;
}

关于Android:SQLite 保存字符串数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9053685/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com