2016-03-19 99 views
0

我试图导入数据到LineGraphSeries,但我遇到问题。 我想创建一个插入到SQLite数据库的数据的图形(不是实时修改),我写了下面的代码来做到这一点。 由于我在我自己的最后一年项目中学习java,所以我对android很少有经验,如果有人能帮忙,我会很乐于助人。将数据从数据库加载到数据点[]

@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.创建一个具有整型参数的数据点。
3.将数据点添加到DataPoint数组。
4.初始化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; 
    } 

}

相关问题