需要在整合achart引擎的帮助数据库为Android [英] need help in integrating achart-engine with database for android

查看:115
本文介绍了需要在整合achart引擎的帮助数据库为Android的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

u能请帮我在创造其中的值是从SQLite数据库有一个简单的柱状图(Android设备)。对于如考虑下表

Can u please help me in creating a simple bar chart (for android) where the values are got from sqlite database. for eg consider the following table

    year         Units Sold
    2001          2000
    2002          2100
    2003          1900

我需要创建一个条形图以x轴作为年度和y轴为单位出售。 u能PLZ认为这是一个请求。我不知道如何从数据库导入数据。

I need to create a bar graph with x-axis as year and y-axis as units sold . Can u Plz consider this as a request . I dont know how to import data from database .

推荐答案

首先你必须从数据库中获取价值和存入数组相应的​​数据类型。做这样的......

first you have to fetch the values from the data base and stored into array with corresponding data type . Do like this.....

    List<int[]> initial;
    int[] my_year;
    int[] my_units_sold;
   public void onCreate()
   {
       int Column1 = net_db_cur.getColumnIndex("Year");
       int Column2 = net_db_cur.getColumnIndex("Units Sold");
       cur = sampleDB.rawQuery("SELECT * FROM " + Table_Name , null);
       my_year = new int[columncount];
       my_units_sold = new int[columncount];
       if (cur.moveToFirst())
        {                       
            for (int i = 0; i < columncount; i++)
            {
                my_year [i] = net_db_cur.getInt(Column1);
                my_units_sold[i] = net_db_cur.getInt(Column2);
                cur.moveToNext();
            }
        }
  initial = new ArrayList<int[]>();        
 initial1.add(my_year);
  initial1.add(my_units_sold);  
 ll.addView(createBarChart(initial ,Color.BLUE,10,0,14,2000000,20000000,1,x_axis_labels1,x_axis_labels2,y_axis_labels1, y_axis_net_labels2,Color.parseColor("#ffffff")));
     }

   public View createBarChart(int[] values,int[] colors,int lable_text_size,int xMin,int xMax,int yMin,int yMax,double bar_space,double[] x_axis_lables1,String[] x_axis_lables2,double[] y_axis_lables1,String[] y_axis_lables2, int lable_color)
    {
        XYMultipleSeriesRenderer mrenderer = new XYMultipleSeriesRenderer();   
        XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

        /*for (int i = 0; i <values.length; i++)
        {*/
            CategorySeries series = new CategorySeries("");
            /*double[] v = values.get(i);
            int seriesLength = v.length;*/
            for (int k = 0; k < values.length; k++)
            {
                series.add(values[k]);

            }
            dataset.addSeries(series.toXYSeries());
            //}  

            //mrenderer.setMargins(new int[] { 10, 65, 10, 15 });
            int color_length = colors.length;
            for (int i = 0; i < color_length; i++)
             {
                SimpleSeriesRenderer r = new SimpleSeriesRenderer();
                r.setColor(colors[i]);
                r.setChartValuesSpacing(15);
                mrenderer.addSeriesRenderer(r);
             }  

            mrenderer.setOrientation(Orientation.HORIZONTAL); 
            mrenderer.setInScroll(false);
            mrenderer.setGridColor(Color.BLACK);
            mrenderer.setYLabelsAlign(Align.RIGHT);         
            mrenderer.setPanEnabled(false, false);
            mrenderer.setZoomEnabled(false, false);
            mrenderer.setBarSpacing(bar_space);             
            mrenderer.setLabelsTextSize(lable_text_size);
            mrenderer.setAxesColor(Color.BLACK); 
            mrenderer.setXAxisMin(xMin);
            mrenderer.setXAxisMax(xMax);        

            for(int i=0;i<x_axis_lables2.length;i++)
            {
                mrenderer.addXTextLabel(x_axis_lables1[i],x_axis_lables2[i]);
            }   
            mrenderer.setYAxisMin(yMin);
            mrenderer.setYAxisMax(yMax);       
            for(int j=0;j<y_axis_lables1.length;j++)
            {
                mrenderer.addYTextLabel(y_axis_lables1[j],y_axis_lables2[j]);
            }


            mrenderer.setLabelsColor(lable_color);
            return (ChartFactory.getBarChartView(Income.this, dataset, mrenderer, Type.DEFAULT));   
        }

您将得到条形图数据基础值。所有最优秀的。

You will get the bar chart for with data base values. All the best.

这篇关于需要在整合achart引擎的帮助数据库为Android的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆