我一直在使用 android 上的 SQLite,我想将数组列表添加到表中的列中,然后将数据作为数组列表取回。 arraylist 是一个 Long 列表。我注意到 SQL 有一个存储 BLOBS 的选项,但是看起来我需要先将 arraylist 转换为 byte[],然后才能将它作为 blob 存储在我的 SQLite 数据库中。
如果有人有关于如何将数组列表保存到 SQLite 数据库中的解决方案,将不胜感激。或者我应该考虑保存我的数据数组的其他选项吗?
最佳答案
插入:
ArrayList<String> inputArray=new ArrayList<String>();
//....将值添加到 inputArray
Gson gson = new Gson();
String inputString= gson.toJson(inputArray);
System.out.println("inputString= " + inputString);
使用“inputString”将ArrayList的值保存在SQLite数据库中
检索:
从 SQLiteDatabse 中获取您保存的字符串并更改为 ArrayList 类型,如下所示: outputarray 是一个从 SQLiteDatabase 获取的字符串。
Type type = new TypeToken<ArrayList<String>>() {}.getType();
ArrayList<String> finalOutputString = gson.fromJson(outputarray, type);
- 在 SQLite 中使用文本格式来存储字符串值.....
关于java - 在 Android 的 SQLite 数据库中保存 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3142285/