0

sqlite でテーブルからデータを取得しています。datetimeとして保存するテーブルストア、日付、および値。取得したいデータを2つの異なる配列に入れます。日付用に 1 つの配列、値用にもう 1 つ..データは動的です..さらに追加できることを意味します..

以下は私のコードです。

 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 に答える