首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从LineGraph导入int

从LineGraph导入int
EN

Stack Overflow用户
提问于 2012-03-26 05:42:56
回答 1查看 834关注 0票数 0

我正在使用achartengine创建一个LineGraph类。问题是我不能从数据库导入数据。我想将两个int数据库列添加到int序列中。我该怎么做?这就是我到目前为止所知道的:

代码语言:javascript
复制
package com.weightmaster.awesome.development.chart;

import org.achartengine.ChartFactory;
import org.achartengine.chart.PointStyle;
import org.achartengine.model.TimeSeries;
import org.achartengine.model.XYMultipleSeriesDataset;
import org.achartengine.renderer.XYMultipleSeriesRenderer;
import org.achartengine.renderer.XYSeriesRenderer;

import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.graphics.Color;
import android.util.Log;

import com.weightmaster.awesome.development.WeightMasterOverviewActivity;
import com.weightmaster.awesome.development.database.WMSQLiteHelper;

public class LineGraph {


public static SQLiteDatabase dbSqlite;
public static WMSQLiteHelper helper;

public static XYMultipleSeriesDataset getDemoDataset(String title) {

    Log.d(WeightMasterOverviewActivity.TAG, "Kjører metoden1");

    Cursor cursor = helper.getDateAsc();
    XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

    TimeSeries series = new TimeSeries("Line1");
    TimeSeries series2 = new TimeSeries(title);

    Log.d(WeightMasterOverviewActivity.TAG, "Kjører metoden");
    cursor.moveToFirst();
    Log.d(WeightMasterOverviewActivity.TAG,
            "Cursoren flyttet til første element");
    while (!cursor.isAfterLast()) {
        int date = cursor.getInt((Integer) cursor.getColumnIndexOrThrow("date"));
        Log.d(WeightMasterOverviewActivity.TAG, "Legger til dato");

        int weight = cursor.getInt((Integer) cursor.getColumnIndexOrThrow("weight"));
        Log.d(WeightMasterOverviewActivity.TAG, "Legger til vekt");
        series2.add(weight, date);
        cursor.moveToNext();
        Log.d(WeightMasterOverviewActivity.TAG,
                "Cursoren flyttet til neste element");
    }
    Log.d(WeightMasterOverviewActivity.TAG,
            "There were no values in the cursor.");
    cursor.close();

    Log.d(WeightMasterOverviewActivity.TAG, "Den når til enden");
    dataset.addSeries(series);

    dataset.addSeries(series2);

    return dataset;
}

public Intent getIntent(Context context) {

    //Lager TimeSeries for den første linja


    XYMultipleSeriesDataset dataset = getDemoDataset("Line1");

    //Kode for render
    XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();

    //Optimalisering linje1
    XYSeriesRenderer renderer = new XYSeriesRenderer();
    renderer.setColor(Color.YELLOW);
    renderer.setPointStyle(PointStyle.CIRCLE);
    renderer.setFillPoints(true);

    // Optimalisering linje2 husk rekke følgen
    XYSeriesRenderer renderer2 = new XYSeriesRenderer();
    renderer2.setColor(Color.BLUE);
    renderer2.setPointStyle(PointStyle.SQUARE);
    renderer2.setFillPoints(true);

    //Legger til render seriene
    mRenderer.addSeriesRenderer(renderer);

    //Optimalisering grafen
    mRenderer.setChartTitle("Test");
    mRenderer.setZoomEnabled(true);
    mRenderer.setZoomButtonsVisible(true);
    mRenderer.setBackgroundColor(Color.BLACK);
    mRenderer.setApplyBackgroundColor(true);
    mRenderer.setXTitle("Dager");
    mRenderer.setShowGrid(true);

    mRenderer.addSeriesRenderer(renderer2);


    Intent intent = ChartFactory.getLineChartIntent(context, dataset, 
            mRenderer, "Line Graph Title");

    return intent;

}
}

它在调试器中的以下行停止:

代码语言:javascript
复制
Cursor cursor = helper.getDateAsc();
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-26 13:38:15

您将需要创建一个新的WMSQLiteHelper。现在它是空的。我不知道你的helper的参数是什么,但它应该看起来像这样。

代码语言:javascript
复制
helper = new WMSQLiteHelper(this);

把它放在上面

代码语言:javascript
复制
Cursor cursor = helper.getDateAsc();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9864346

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档