android sqlite3如何存储以及读取 整数数组
时间: 2024-02-26 12:59:32 浏览: 123
Android的Sqlite数据存储
4星 · 用户满意度95%
在 Android SQLite3 中存储整数数组可以使用 BLOB 类型的列,BLOB 类型可以存储任意二进制数据,包括整数数组。
以下是一个示例代码,展示如何将整数数组存储到 SQLite3 数据库中,并且读取整数数组:
```java
// 假设你已经创建了一个名为 "mytable" 的表,其中包含一个名为 "myarray" 的 BLOB 类型列
// 存储整数数组
int[] array = new int[]{1, 2, 3, 4, 5};
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream out = new ObjectOutputStream(bos);
out.writeObject(array);
byte[] bytes = bos.toByteArray();
ContentValues values = new ContentValues();
values.put("myarray", bytes);
long result = db.insert("mytable", null, values);
// 读取整数数组
Cursor cursor = db.query("mytable", new String[]{"myarray"}, null, null, null, null, null);
if (cursor.moveToFirst()) {
byte[] bytes = cursor.getBlob(cursor.getColumnIndex("myarray"));
ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
ObjectInputStream in = new ObjectInputStream(bis);
int[] resultArray = (int[]) in.readObject();
// resultArray 就是读取到的整数数组
}
```
在这个示例中,我们使用了 Java 的对象序列化机制将整数数组转换为字节数组,然后将字节数组插入到数据库中。在读取整数数组时,我们可以使用类似的方式,将 BLOB 类型的列转换为字节数组,然后再将字节数组转换为整数数组。注意,读取整数数组时应该使用 `getBlob` 方法获取字节数组,而不是 `getInt` 方法。
阅读全文