我尝试了许多不同的方法来做到这一点,但基本上当我从数据库中获取所有数据时,我想将它存储在一个数组中,但我不知道如何在从数据库中读取数据时遍历索引。这是我获取数据并将其添加到数组中的方式:
public void makeObjects(){
i =0;
db.open();
for(int j = 0; j< amount; j++)
{
objarray.add(o);
}
Cursor c = db.fetchAllNotes();
if (c.moveToFirst())
{
do {
objarray.get(i).setid(c.getString(0));
objarray.get(i).settitle(c.getString(1));
objarray.get(i).setinfo(c.getString(2));
objarray.get(i).setlat(c.getString(3));
objarray.get(i).setlon(c.getString(4));
objarray.get(i).setmc(c.getString(5));
i++;
} while (c.moveToNext());
}
db.close();
}
为了测试和简单,我的数据库中有两行,我有一个 for 循环,它向数组添加两个新索引,但是当我将数组的内容打印到 时logcat
,我看到两个索引都有最后一个数据从数据库中读取,第二行两次。如何确保第一行进入索引 0,第二行进入索引 1?