Android:SQLite保存字符串数组?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Android:SQLite保存字符串数组?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1306字,纯文字阅读大概需要2分钟。
内容图文
![Android:SQLite保存字符串数组?](/upload/InfoBanner/zyjiaocheng/889/095e7715a7e545188a1c78313f643f55.jpg)
我需要将一个字符串数组保存到数据库,但它不会让我.这就是我所拥有的:
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个单独的字符串并在每个中存储东西然后将所有字符串放回字符串数组中吗?或者这是不好的做法?
解决方法:
您无法将String数组保存到数据库中.但你可以使用这个技巧.
1)所以你必须使用convertArrayToString(String [] array)方法将它转换为简单的String.这将使用’逗号’连接字符串的所有元素.
2)当您从数据库中检索此String时,您可以使用convertStringToArray(String str)方法将其转换回String数组.此方法将从“逗号”中拆分字符串,您将获得原始数组.
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保存字符串数组?全部内容,希望文章能够帮你解决Android:SQLite保存字符串数组?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。