2016-03-19 2 views
0

Я пытаюсь импортировать данные в LineGraphSeries, но у меня возникают проблемы с этим. Я хочу создать графику (не с изменениями в реальном времени) с данными, вставленными в базу данных SQLite, и я написал для этого следующий код. Поскольку я изучаю Java самостоятельно для своего проекта в прошлом году, у меня очень мало опыта работы с андроидом, и я буду благодарен, если кто-нибудь сможет помочь.Загрузка данных из базы данных в Datapoint []

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_mediasdiab); 


    mediaglicemia = (TextView) findViewById(R.id.textmediaglicemia); 
    mediainsulina = (TextView) findViewById(R.id.textmediainsulina); 
    mediaporcoes = (TextView) findViewById(R.id.textmediaporcoes); 
    maxg = (TextView) findViewById(R.id.txtglicmax); 
    maxi = (TextView) findViewById(R.id.txtinsmax); 
    maxp = (TextView) findViewById(R.id.txtpormax); 
    ming = (TextView) findViewById(R.id.txtglicmin); 
    mini = (TextView) findViewById(R.id.txtinsmin); 
    minp = (TextView) findViewById(R.id.txtpormin); 

    try { 
     database = new Database(this); 
     conn = database.getWritableDatabase(); 
     operacoes = new operacoes(conn); 

    }catch (SQLException ex) 
    { 
     Toast.makeText(getApplicationContext(), "Base de dados não acessivel. Erro:" + ex.getMessage(), Toast.LENGTH_LONG).show(); 
    } 
    graph = (GraphView) findViewById(R.id.graficodiab); 
    listardados(); 
    gerardatapoints(); 
    LineGraphSeries<DataPoint> series = new LineGraphSeries<DataPoint>(values); 
    graph.addSeries(series); 

} 

    //The error happens here 
private void gerardatapoints(){ 
    Cursor cursor = operacoes.todoaasfilas(); 
    values = new DataPoint[idalto]; 
    for (z=0; i<idalto; z++) { 
     cursor.moveToPosition(z); 
     diablinhagli = cursor.getString(cursor.getColumnIndex("GLICEMIA")); 
     graphgic = cursor.getInt(0); 
     values[z]= new DataPoint(z, graphgic); 
    } 
    seriesglicemia = new LineGraphSeries<DataPoint>(values); 
} 

ответ

0

1.Установите размер массива DataPoint.
2.Создание datapoint с целыми параметрами.
3. Добавить datapoint в массив DataPoint.
4.Initialise LineGraphSeries с массивом.

private void gerardatapoints() { 
    Cursor cursor = operacoes.todoaasfilas(); 
    values = new DataPoint[idalto]; 
    for (z=0; i<idalto; z++) { 
    cursor.moveToPosition(z); 
    diablinhagli = cursor.getString(cursor.getColumnIndex("GLICEMIA")); 
    graphgic = cursor.getInt(0); 
     //Assuming graphgic is of integer type 
     DataPoint v = new DataPoint(z, graphgic); 
     values[i] = v; 
    } 

}

Смежные вопросы