Android 基于SQLite数据库列绘制图形
我想基于SQLite数据库列中的数据创建一个图形。我已经安装了achartengine.jar,我还知道如何在数组中生成硬编码值的图形。 但我不知道如何处理Sqlite数据。 有谁能帮我链接到如何实现这一点的教程,或者帮我将数据库列转换成我可以使用的数组 谢谢你的帮助Android 基于SQLite数据库列绘制图形,android,sqlite,graph,Android,Sqlite,Graph,我想基于SQLite数据库列中的数据创建一个图形。我已经安装了achartengine.jar,我还知道如何在数组中生成硬编码值的图形。 但我不知道如何处理Sqlite数据。 有谁能帮我链接到如何实现这一点的教程,或者帮我将数据库列转换成我可以使用的数组 谢谢你的帮助 public class ReportGraph extends GraphicalActivity { double[] fQty; protected void onCreate(Bundle savedIn
public class ReportGraph extends GraphicalActivity
{
double[] fQty;
protected void onCreate(Bundle savedInstanceState)
{
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
getIntent();
}
public Intent getIntent(Context context)
{
FuelStoredInfo reportInfo =new FuelStoredInfo(this);
reportInfo.open();
fQty=reportInfo.getReportData(this);
reportInfo.close();
CategorySeries series = new CategorySeries("Reports");
for(int i = 0; i< fQty.length; i++)
{
series.add("Report"+(i+1), fQty[i]);
}
XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();
dataset.addSeries(series.toXYSeries());
//dataset.addSeries(series1.toXYSeries());
//customize bar 1
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setDisplayChartValues(true);
renderer.setChartValuesSpacing((float)0.5);
renderer.setColor(Color.BLUE);
XYMultipleSeriesRenderer rRenderer = new XYMultipleSeriesRenderer();
rRenderer.addSeriesRenderer(renderer);
rRenderer.setChartTitle("Reports");
rRenderer.setXTitle("Date");
rRenderer.setYTitle("Prices");
Intent i =ChartFactory.getBarChartIntent(context, dataset, rRenderer, Type.DEFAULT);
return i;
}
public double[] getfQty() {
return fQty;
}
public void setfQty(double[] fQty) {
this.fQty = fQty;
}
错误日志-->
这是你们可以使用的样品
public String[] getAllContacts() {
String[] contactList ;
int i = 0;
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;//You fetch query
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
int count = cursor.getCount();
contactList = new String[count];
// looping through all rows and adding to array
if (cursor.moveToFirst()) {
do {
contactList[i] = cursor.getString(0);//getting data from column 0
i++;
// Adding contact to list
} while (cursor.moveToNext());
}
// return contact list
return contactList;
}
我已从列0中获取数据,但您可以获取任何列
希望这对您有所帮助。这是您可以使用的示例
public String[] getAllContacts() {
String[] contactList ;
int i = 0;
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;//You fetch query
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
int count = cursor.getCount();
contactList = new String[count];
// looping through all rows and adding to array
if (cursor.moveToFirst()) {
do {
contactList[i] = cursor.getString(0);//getting data from column 0
i++;
// Adding contact to list
} while (cursor.moveToNext());
}
// return contact list
return contactList;
}
我已从列0中获取数据,但您可以获取任何列
希望这有帮助。@CRUSADER感谢您的评论。但我已经有我的数据库设置和工作。我只是不知道如何将某个列转换为数组,并在绘制图形时进一步使用它。您的意思是希望从db列返回字符串数组。。对吧??@十字军是的。我想使用DB列中的值作为点来绘制graph@CRUSADER我犯了一些愚蠢的错误。你的代码运行得很好。再次感谢。@CRUSADER感谢您的评论。但我已经有我的数据库设置和工作。我只是不知道如何将某个列转换为数组,并在绘制图形时进一步使用它。您的意思是希望从db列返回字符串数组。。对吧??@十字军是的。我想使用DB列中的值作为点来绘制graph@CRUSADER我犯了一些愚蠢的错误。你的代码运行得很好。再次感谢。在您的问题中发布您的代码,以便我们可以指导您。@PoojaGaonkar check
reportCursor!=空
。。fuel_表中是否有任何数据?检查从reportCursor获取的计数值。getCount()
不是zeroOk,因此我必须清除空指针异常。图形页面正常打开,但未显示图形:(现在,图形页面已打开,这意味着您没有将任何内容作为输入传递,或者其中存在一些已处理的异常(可能是无效值)。有关详细信息,请参阅logcat。。在问题中发布您的代码,以便我们可以指导您。@PoojaGaonkar checkreportCursor!=null
。fuel_表中是否有任何数据?检查从reportCursor.getCount()获得的计数值
不是zeroOk,因此我必须消除空指针异常。图形页面可以正常打开,但不显示图形:(现在,图形页面已打开,这意味着您没有将任何内容作为输入传递,或者其中存在一些已处理的异常(可能是无效值)。有关详细信息,请参阅logcat。。
public String[] getAllContacts() {
String[] contactList ;
int i = 0;
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;//You fetch query
SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
int count = cursor.getCount();
contactList = new String[count];
// looping through all rows and adding to array
if (cursor.moveToFirst()) {
do {
contactList[i] = cursor.getString(0);//getting data from column 0
i++;
// Adding contact to list
} while (cursor.moveToNext());
}
// return contact list
return contactList;
}