Android SQlite3数据库的每行按照固定的长度从List<Long>取数据并存储,然后再读取
时间: 2024-03-06 15:51:00 浏览: 106
android,sqlist数据库操作
5星 · 资源好评率100%
如果你已经将List<Long>中的数据按照固定长度划分成了多行,并将它们存储到SQLite数据库中,你可以使用类似于上面提到的getValues方法来检索和读取数据。下面是一个示例代码:
```java
public List<List<Long>> getValues(int rowLength) {
List<List<Long>> rows = new ArrayList<>();
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(TABLE_NAME, null, null, null, null, null, null);
List<Long> currentRow = new ArrayList<>();
while (cursor.moveToNext()) {
Long value = cursor.getLong(cursor.getColumnIndex(COLUMN_VALUE));
currentRow.add(value);
if (currentRow.size() == rowLength) {
rows.add(currentRow);
currentRow = new ArrayList<>();
}
}
cursor.close();
db.close();
return rows;
}
```
在这个示例代码中,我们添加了一个名为rowLength的参数,表示每行应该包含多少个Long value。我们使用一个名为rows的列表来存储所有行的数据。我们使用一个名为currentRow的列表来存储当前行的数据。对于每个检索到的Long value,我们将其添加到currentRow中。如果currentRow的大小等于rowLength,我们将currentRow添加到rows中,并创建一个新的currentRow列表以存储下一行数据。
你可以像这样调用getValues方法:
```java
int rowLength = 3; // 每行包含3个Long value
MyDatabaseHelper dbHelper = new MyDatabaseHelper(context);
List<List<Long>> rows = dbHelper.getValues(rowLength);
for (List<Long> row : rows) {
// 处理每一行数据
}
```
在这个示例代码中,我们将rowLength设置为3,表示每行应该包含3个Long value。我们使用getValues方法检索所有行的数据,并将其存储在名为rows的列表中。我们可以使用一个for循环来遍历每一行数据,并进行进一步的处理。
阅读全文