我是android新手,我使用Sqlite将一个double类型的数组存储到名为“KEY_VALUE”的列中
public long createEntry(Double rates) {
ContentValues cv = new ContentValues();
cv.put(KEY_VALUE, rates);
return ourDatabase.insert(TABLE, null, cv);
}
我通过另一个类
将数据放入这里的列中for(i=0;i<37;i++){
entry.createEntry((theRSSHandler.rates()[i]));
}
现在我想检索我保存的列并将每行作为数组元素,我见过并尝试过其他类似的解决方案,但它们没有用。 这是我用来尝试获取列数据的方法但它失败了。
public Double[] getData() {
String[] col = {KEY_VALUE};
Cursor c = ourDatabase.query(TABLE, col, KEY_VALUE , null, null, null, null);
Double[] result = null;
if(c != null){
c.moveToFirst();
}
int iVal = c.getColumnIndex(KEY_VALUE);
for(c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
result[c.getPosition()] = c.getDouble(iVal);
}
return result;
}
答案 0 :(得分:1)
您正在尝试将值放入尚未初始化的数组中。
Double[] result = null;
需要跟进像......
这样的事情 result = new Double[100];
我想你可能想用光标指向的记录数
来初始化它 result = new Double[c.count()];