Niepoprawne wyświetlanie wykresu

0

Witam,
w aplikacji, którą sobie tworze chce, aby rysował mi się wykres. Do bazy danych wprowadzam tylko jedną wartość. Wartością osi X było by ID_pomiartu, a osi Y wprowadzany pomiar.
Uzupełnianie tabeli

public boolean insertPomiary(String pomiar) {
        SQLiteDatabase db = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put(COL_POMIARY_2, pomiar);
        long result = db.insert(TABLE_POMIARY, null, contentValues);
        if (result == -1)
            return false;
        else
            return true;
    } 

Pobieranie danych z tabeli:

public DataPoint[] getData() {
        String[] columns = {"COL_POMIARY_1", "COL_POMIARY_2"};
        SQLiteDatabase db = this.getWritableDatabase();
        Cursor cursor = db.rawQuery("select * from " + TABLE_POMIARY, null);

        DataPoint[] dp = new DataPoint[cursor.getCount()];
        for (int i = 0; i < cursor.getCount(); i++) {
            cursor.moveToNext();
            dp[i] = new DataPoint(cursor.getInt(0), cursor.getInt(1));
            return dp;
        }
        return dp;
    }

Metoda rysowania wykresu :

public void drawGraph() {
        btn_drawGraph.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                series= new LineGraphSeries<DataPoint>(myDb.getData());
                graph.addSeries(series);
            }
        });
    }

Pytanie gdzie popełniam błąd i jak go naprawić?

0

Po co w pętli for jest "return dp"? Spróbuj to zakomentować.
Dodatkowo możesz zamykać kursor po jego użyciu.

for (int i = 0; i < cursor.getCount(); i++) {
    cursor.moveToNext();
    dp[i] = new DataPoint(cursor.getInt(0), cursor.getInt(1));
    //return dp;
}
0

O nie wierze, sam tego nie zauważyłem, pomogło dzięki

1 użytkowników online, w tym zalogowanych: 0, gości: 1