Android SQlite3数据库的每行按照固定的长度从List<Long>取数据并存储
时间: 2024-03-06 07:50:59 浏览: 114
如果你希望将List<Long>中的数据按照固定长度划分成多行,并将它们存储到SQLite数据库中,你可以对上面提到的insertValues方法进行修改。下面是一个示例代码:
```java
public void insertValues(List<Long> values, int rowLength) {
SQLiteDatabase db = getWritableDatabase();
ContentValues contentValues = new ContentValues();
int row = 1;
for (Long value : values) {
contentValues.put(COLUMN_VALUE, value);
db.insert(TABLE_NAME, null, contentValues);
if (row % rowLength == 0) {
contentValues.clear();
row = 1;
} else {
row++;
}
}
db.close();
}
```
在这个示例代码中,我们添加了一个名为rowLength的参数,表示每行应该包含多少个Long value。我们使用一个名为row的变量来跟踪当前插入的行数。如果row等于rowLength,我们清除contentValues对象并将row重置为1,以开始插入下一行数据。否则,我们将row增加1。
你可以像这样调用insertValues方法:
```java
List<Long> values = new ArrayList<>();
// 添加一些Long value到values中
int rowLength = 3; // 每行包含3个Long value
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
dbHelper.insertValues(values, rowLength);
```
在这个示例代码中,我们将rowLength设置为3,表示每行应该包含3个Long value。如果values中有10个Long value,那么我们将创建4行数据:前3个Long value将存储在第一行,接下来的3个Long value将存储在第二行,以此类推,最后一个Long value将存储在第四行的第一个列中。
阅读全文