我目前正在使用afreechart在我的Android应用中绘制图表。我正在使用TimeSeries图表,他们已经在他们的示例应用程序中进行了示例。对我来说,数据要从两个数据库中提取。两个问题: 1.如何使用我的两个数据库中的值绘制此TimeSeries图? 2.整个图表并不像人们想要的那样平滑。特别是在滚动或轻弹时。因此,它与应用程序设计不一致。我能以任何方式使它更顺畅吗?
如果上述问题似乎不必要或在某种程度上是错误的,请指出我可以使用多个数据库值绘制图表的方法,即使它没有使用afreechart。感谢。
我尝试在createDataset()中使用简单的'for'循环,例如:
private static XYDataset createDataset() {
mfirstDbHelper.open();
msecondDbHelper.open();
int firstdb_count = (int) DatabaseUtils.queryNumEntries(mfirstDbHelper.mDb,firstDbAdapter.DATABASE_TABLE);
int seconddb_count = (int) DatabaseUtils.queryNumEntries(msecondDbHelper.mDb,secondDbAdapter.DATABASE_TABLE);
TimeSeriesCollection dataset = new TimeSeriesCollection();
for(int i=1;i<=seconddb_count;i++){
Cursor seconddb = msecondDbHelper.fetchItem(i);
TimeSeries s1 = new TimeSeries(seconddb.getString(
seconddb.getColumnIndexOrThrow(secondDbAdapter.KEY_ITEMNAME)));
for(int j=1;j<=firstdb_count;j++){
Cursor firstdb = mfirstDbHelper.fetchItem(j);
int first_sp_id = Integer.parseInt(firstdb.getString(
firstdb.getColumnIndexOrThrow(firstDbAdapter.KEY_ID)));
if(first_sp_id == i){
int value = Integer.parseInt(firstdb.getString(
firstdb.getColumnIndexOrThrow(firstDbAdapter.KEY_VALUE)));
String date = firstdb.getString(
firstdb.getColumnIndexOrThrow(firstDbAdapter.KEY_DATE));
String dateParts[] = date.split("-");
String day = dateParts[0];
String month = dateParts[1];
String year = dateParts[2];
int d = Integer.parseInt(day);
int m = Integer.parseInt(month);
int y = Integer.parseInt(year);
s1.add(new Day(d,m,y), value);
dataset.addSeries(s1);
}
firstdb.close();
}
seconddb.close();
}
mfirstDbHelper.close();
msecondDbHelper.close();
return dataset;
}
}
我已将示例中的Month()更改为Day(),并确保该区域没有错误。 得到错误:
ERROR/AndroidRuntime(706): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.kev/com.kev.MyProject}: java.lang.NullPointerException
另外,显然,这段代码一遍又一遍地重绘图形“s1”。我不知道如何克服这个问题,以及错误。我还是一个相当新的编程,特别是Android应用程序开发,所以任何上面的错误,随时都可以打扰我,纠正我的代码。
哦,还有一件事,我不能使用startManagingCursor()因为它是DemoView而不是Activity。所以,不知道它是否会引起任何问题。
Afreechart TimeSeries示例: http://code.google.com/p/afreechart/source/browse/#svn%2Ftrunk%2Fafreechart_sample%2Fsrc%2Forg%2Fafree%2Fchart%2Fdemo
Afreechart TimeSeries示例 - 查看: http://code.google.com/p/afreechart/source/browse/trunk/afreechart_sample/src/org/afree/chart/demo/view/TimeSeriesChartDemo01View.java
再次感谢您的时间。 :)