Line graph using sqlite data, Android

1,277 views
Skip to first unread message

newbie

unread,
May 12, 2013, 5:45:10 AM5/12/13
to andro...@googlegroups.com

i'm retrieving data from the table in sqlite. The table store, date and value which i store as datetime. the data i want to retrieve and put it into two different array. one array for date, and one more for the value.. the data is dynamic.. means it can be add some more..

below is my code.

 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;
}

and i got java.lang.nullpointer at

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

bhanu prakash

unread,
May 23, 2016, 6:57:51 AM5/23/16
to Androidplot
Cursor c=db.rawQuery("SELECT * FROM student", null);
int columnIndex = 0;
Integer[] in = new Integer[c.getCount()];
if (c.moveToFirst())
{
for (int i = 0; i < c.getCount(); i++)
{
in[i] = c.getInt(columnIndex);

c.moveToNext();
}
}

// Turn the above arrays into XYSeries':
XYSeries series1 = new SimpleXYSeries(Arrays.asList(in),SimpleXYSeries.ArrayFormat.Y_VALS_ONLY,
"Series1");
Reply all
Reply to author
Forward
0 new messages