Android 如何使用图形视图表示sqlite数据?
我有一个图视图来实现一个分析图 所有x轴和y轴数据都从sqlite db数据中获取,以显示输出 x轴显示日期 y轴显示重量 但我不知道如何实施,我被卡住了, 下面是我的代码,但它是错误的,我还没有完成,有人可以帮我解决和建立Android 如何使用图形视图表示sqlite数据?,android,android-sqlite,android-graphview,Android,Android Sqlite,Android Graphview,我有一个图视图来实现一个分析图 所有x轴和y轴数据都从sqlite db数据中获取,以显示输出 x轴显示日期 y轴显示重量 但我不知道如何实施,我被卡住了, 下面是我的代码,但它是错误的,我还没有完成,有人可以帮我解决和建立 DBHelperNote connect = new DBHelperNote(getActivity()); SQLiteDatabase db = connect.getReadableDatabase(); Cursor curso
DBHelperNote connect = new DBHelperNote(getActivity());
SQLiteDatabase db = connect.getReadableDatabase();
Cursor cursor = db.rawQuery("SELECT * FROM weight;",null);
String[] weight = new String[cursor.getCount()];
int i = 0;
while(cursor.moveToNext()){
d = cursor.getString(cursor.getColumnIndex("weightnum"));
weight[i] = d;
i++;
}
String[] date = new String[cursor.getCount()];
int r = 0;
while(cursor.moveToNext()){
e = cursor.getString(cursor.getColumnIndex("date"));
date[r] = e;
r++;
}
GraphView line_graph = (GraphView) contentView.findViewById(R.id.graph);
LineGraphSeries<DataPoint> line_series =
new LineGraphSeries<DataPoint>(new DataPoint[] {
>> here "while" getting error
while ( a!=weight.length) {
new DataPoint(Integer.parseInt(weight[i]), Integer.parseInt(date[i]));
i++;
}
}
);
line_graph.addSeries(line_series);
line_series.setDrawDataPoints(true);
line_series.setDataPointsRadius(10);
line_series.setOnDataPointTapListener(new OnDataPointTapListener() {
@Override
public void onTap(Series series, DataPointInterface dataPoint) {
Toast.makeText(getActivity(), "Series: On Data Point clicked: " + dataPoint, Toast.LENGTH_SHORT).show();
}
});
DBHelperNote connect=newdbhelpernote(getActivity());
SQLiteDatabase db=connect.getReadableDatabase();
Cursor Cursor=db.rawQuery(“从权重中选择*”,null);
字符串[]权重=新字符串[cursor.getCount()];
int i=0;
while(cursor.moveToNext()){
d=cursor.getString(cursor.getColumnIndex(“weightnum”);
重量[i]=d;
i++;
}
字符串[]日期=新字符串[cursor.getCount()];
int r=0;
while(cursor.moveToNext()){
e=cursor.getString(cursor.getColumnIndex(“日期”);
日期[r]=e;
r++;
}
GraphView line_graph=(GraphView)contentView.findviewbyd(R.id.graph);
LineGraphSeries line_系列=
新LineGraphSeries(新数据点[]{
>>这里是“while”获取错误
while(a!=重量、长度){
新数据点(Integer.parseInt(权重[i]),Integer.parseInt(日期[i]);
i++;
}
}
);
线图。添加系列(线系列);
line_系列。setDrawDataPoints(真);
line_系列setDataPointsRadius(10);
line_series.setOnDataPointTapListener(新的OnDataPointTapListener(){
@凌驾
公共void onTap(系列、数据点接口、数据点){
Toast.makeText(getActivity(),“系列:在单击数据点时:”+dataPoint,Toast.LENGTH_SHORT).show();
}
});
Hmn,在他们的示例中,数据类型可能有错误。他们使用double而不是int。
专用数据点[]生成数据(){
整数计数=30;
数据点[]值=新数据点[计数];
对于(int i=0;你在使用shinobicharts吗?你不明白你的意思吗?你能指导我吗?shinobicharts是一个显示图形的库。它很容易使用。检查一下它的文档
private DataPoint[] generateData() {
int count = 30;
DataPoint[] values = new DataPoint[count];
for (int i=0; i<count; i++) {
double x = i;
double f = mRand.nextDouble()*0.15+0.3;
double y = Math.sin(i*f+2) + mRand.nextDouble()*0.3;
DataPoint v = new DataPoint(x, y);
values[i] = v;
}
return values;