问题描述
我从android studio开始,但是在实现我的项目时遇到了一些困难,看看是否有人可以帮助我。事实证明,到目前为止,我已经拥有一个数据库,其中保存了数据,并且可以随时通过listView看到它,如这段代码所示:
public void Resultats() {
AdminsqliteOpenHelper admin = new AdminsqliteOpenHelper(this,"administracio",null,1);
sqliteDatabase BaseDeDades = admin.getWritableDatabase();
if (BaseDeDades != null) {
Cursor c = BaseDeDades.rawQuery("select * from resultats where codijugador = "+codi+" and codiexercici = '"+exercici+"'",null);
int quantitat = c.getCount();
int i = 0;
String[] array = new String[quantitat];
if (c.movetoFirst()) {
do {
String linia = "Hora/data: "+c.getString(5)+ " Puntuació: " +c.getString(3)+ " Temps: " + c.getString(4);
array[i] = linia;
i++;
} while (c.movetoNext());
}
ArrayAdapter<String>adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,array);
final ListView llista = (ListView) findViewById(R.id.llista);
llista.setAdapter(adapter);
}
}
好吧,我要做的不是代替在列表视图中显示该数据,而是将其传递给具有MPAndroidChart库的折线图,该库在X轴上找到变量“时间/数据”,而Y有2个变量(分成两行)一个用于标点符号,另一个用于时间。
到目前为止,我设法制作了一张图,但要手动输入数据。
public class MainActivity extends AppCompatActivity {
LineChart mpLineChart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mpLineChart=(LineChart)findViewById(R.id.line_chart);
LineDataSet lineDataSet1 = new LineDataSet(dataValues1(),"Data Set 1");
ArrayList<ILineDataSet> dataSets = new ArrayList<>();
dataSets.add(lineDataSet1);
LineData data = new LineData(dataSets);
mpLineChart.setData(data);
mpLineChart.invalidate();
}
private ArrayList<Entry>dataValues1()
{
ArrayList<Entry>dataVals = new ArrayList<Entry>();
dataVals.add(new Entry(0,20));
dataVals.add(new Entry(1,24));
dataVals.add(new Entry(2,2));
dataVals.add(new Entry(3,10));
dataVals.add(new Entry(4,18));
return dataVals;
}
}
但是我不知道如何将两者结合起来。也就是说,考虑到数据的大小会随着数据添加到数据库中而增加,因此如何将数据从列表视图输入到图形中,因此图形必须始终自动收集所有数据。
如果有人知道我该怎么做,我将不胜感激。谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)