java - 在 Android 的 SQLite 数据库中保存 ArrayList

标签 java sql android sqlite arraylist

我一直在使用 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/

相关文章:

sql - 使用枢轴时的动态类型转换

具有附加条件的 SQL MAX(列)

Android:在主屏幕中更改应用程序名称

java - 将多种数据类型作为参数传递给方法的接口(interface)是什么样的?

MySQL - 复杂度 : SELECT COUNT(*) FROM MyTable;

Java 8 : How to list files that don't match pattern using regex

java - 通过Android Intent发送电子邮件

android - 是否可以将 Preview、ImageAnalysis 和 VideoCapture 与 CameraX 结合使用?

java - 不同的 REST 方法修改同一个对象 - RollbackException、OptimisticLockException、StaleStateException

java - KeyFactory.generatePublic() 花费大量时间/长时间挂起