Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 基于SQLite数据库列绘制图形_Android_Sqlite_Graph - Fatal编程技术网

Android 基于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

我想基于SQLite数据库列中的数据创建一个图形。我已经安装了achartengine.jar,我还知道如何在数组中生成硬编码值的图形。 但我不知道如何处理Sqlite数据。 有谁能帮我链接到如何实现这一点的教程,或者帮我将数据库列转换成我可以使用的数组

谢谢你的帮助

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 check
reportCursor!=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;
}