0
Goodevening,
나는 안드로이드 응용 프로그램을 개발하고 나는 achartengine을 sqlite 데이터베이스에 quering 후 검색 그래프 값을 사용하고 있습니다. 값이 0에서 1000까지이면 로딩 아이콘이 표시되고 10 초 후에 가장 많이 그래프가 나타납니다. 값이 1000 이상이고 다중 선 그림이있는 경우 절대로로드 아이콘이 표시되지 않습니다. 내가 사용하는 코드는 다음과 같습니다. 내가 뭐 잘못하고 있니? achartengine의 샘플 코드를 사용하여 코드를 만들었습니다.db에서 AchartEngine로드 값을 영원히 가지고 간다
코드 :
public void createGraph(Context ctx){
// x data
dateList = DateDataReturn(ctx , table, accessPointList_Filtered);
Log.d(TAG,"dateList len:" + String.valueOf(dateList.size()));
// y data
dataList = yDataReturn(ctx, column, table, accessPointList_Filtered);
Log.d(TAG, "dataList len:" + String.valueOf(dataList.size()));
// y axis title
yaxis = yAxisReturn(column);
// lines titles
titles = titleReturn(ctx, column, accessPointList_Filtered);
Log.d(TAG,"titles length:" + String.valueOf(titles.length));
// line colors
colors = retColor(ctx, table, accessPointList_Filtered);
Log.d(TAG,"colors length:" + String.valueOf(colors.length));
// line point styles
styles = retPointStyle(ctx, table, accessPointList_Filtered);
Log.d(TAG,"style length:" + String.valueOf(styles.length));
// x axis min value
xmin = dateList.get(0)[0].getTime();
Log.d(TAG, "1");
// x axis max value
xmax = dateList.get(0)[dateList.get(0).length - 1].getTime();
Log.d(TAG, "2");
// Create the renderer
renderer = buildRenderer(colors, styles);
// Create the dataset
dataset = buildDateDataset(titles, dateList, dataList);
Log.d(TAG, "3");
for (int i = 0; i < renderer.getSeriesRendererCount(); i++) {
((XYSeriesRenderer) renderer.getSeriesRendererAt(i)).setFillPoints(true);
}
setChartSettings(renderer, // POINTS
"Interface Monitoring", // PLOT LABEL
"Time", // X LABEL
yAxisTitleReturn(column), // Y LABEL
xmin,
xmax,
yaxis[0], // Y AXIS START VALUE
yaxis[1], // Y AXIS FINISH VALUE
Color.LTGRAY, // AXIS COLOR
Color.LTGRAY); // LABELS COLOR
renderer.setXLabels(10);
renderer.setYLabels(10);
renderer.setBackgroundColor(Color.BLACK);
renderer.setApplyBackgroundColor(true);
renderer.setXLabelsAlign(Align.CENTER);
renderer.setYLabelsAlign(Align.RIGHT);
renderer.setShowGrid(true);
renderer.setZoomEnabled(true, true);
renderer.setPanEnabled(true, true);
}
/**
*
* @param context
* @return GraphicalView, returns the view
*/
public GraphicalView getView(Context context) {
return (GraphicalView)ChartFactory.getTimeChartView(context, dataset, renderer, "h:mm:ss a");
}
고맙습니다