0

我正在从 sqlite 的表中检索数据。我存储为日期时间的表存储、日期和值。我要检索的数据并将其放入两个不同的数组中。一个数组用于日期,一个数组用于值..数据是动态的..意味着它可以添加更多..

下面是我的代码。

 private XYMultipleSeriesDataset getDemoDataset() {

    DBHelper helper = new DBHelper(this);
    database = helper.getReadableDatabase();

    Cursor c = database.rawQuery("select * from " + DBHelper.TABLE_GLUCOSE, null);

    //double[] seriesFirstY = {20,-20,67,180,-45,24,99,-34,-8};
    double[] seriesSecondY = {10,80,-40,-20,135,24,199,-34,80};

    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
    XYSeries firstSeries = new XYSeries("Ideal Reading");

    while (!c.isAfterLast()) {
        int date = c.getInt((Integer) c.getColumnIndexOrThrow(DBHelper.GLUCOSE_DATE));
        int bbData = c.getInt((Integer) c.getColumnIndexOrThrow(DBHelper.BBDATA));
        firstSeries.add(bbData, date);
        c.moveToNext();
    }
    dataset.addSeries(firstSeries);

    c.close();

    /*XYSeries firstSeries = new XYSeries("Ideal Reading");
    for (int i = 0; i < myArray.length; i++)
        firstSeries.add(i, mStringArray[i]);
    dataset.addSeries(firstSeries);*/

    XYSeries secondSeries = new XYSeries("Your Reading");
    for (int j = 0; j < 9; j++)
        secondSeries.add(j, seriesSecondY[j]);
    dataset.addSeries(secondSeries);
    return dataset;
}

我得到了 java.lang.nullpointer

android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:203)
 android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
 android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:98)
android.database.sqlite.SQLiteOpenHelper.getReadableDatabase(SQLiteOpenHelper.java:158)
4

1 回答 1

0

您可以只使用动态的 ArrayList 而不是数组。如果你最后真的需要一个数组,你可以将 ArrayList 转换为一个数组。

于 2013-05-03T11:28:11.933 回答