android中画饼形图

来源:互联网 发布:unity3d apk 资源提取 编辑:程序博客网 时间:2024/04/28 03:42

相信大部分朋友都碰到过android中制作数据报表,像饼形图,矩形图,折线图等等。记得以前看过这种博客,专门将这一章的,里面包含了好多图形,基本包括所有的图形,这一片博客我主要就讲解一下饼形图的制作。
再google还没有被河蟹之前,我们一共可以通过三种方法来实现回执图形,现在常用的可能只有一种方法了。先给大家简单的介绍一下,以前那三种方法:
1.直接调用google的API传相应的数据,就可以帮你绘制图表;
http://chart.apis.google.com/chart?cht=p3&chd=t:30,60,10&chs=250x100&chl=cars|bikes|trucks
其中cht=p3表示生成的是一个饼状图;chd=t:30,60,10表示要生成三个部分的数据,分别是30,60,10,当然也可以其他更复杂的数据形式。

  chs=250*100表示的是图型的大小(宽度*高度);chl=cars|bikes|trucks指出了这三部分数据内容的文字标签,即实际上显示在图表上的。
  (期待这个接口早日可以调用)
  缺点:这种方式必须要连接网络,否则接口将调不通,更别提返回数据了。这样的话对于开发客户端来说局限性就特别大,毕竟应用在无网络的情况下,也不应该什么都不显示。
  2.第二种方法是使用chartdroid,要注意的是,如果使用这种方法的话,必须先下载并安装Chardroid这个APK,配合ContentProvider来使用。
  3.使用Achartengine库(google官方推出的专门用来画图表的)
  用这种方法必须先要下载achartengine-0.7.0.jar包
  

public class ChartView {    public Intent excute(Context context, int[] colors,Map<String,Integer> map){        CategorySeries categorySeries = new CategorySeries("交通方式");        for(String key:map.keySet()){            categorySeries.add(key,map.get(key));       }        return ChartFactory.getPieChartIntent(context,categorySeries,builder(colors),"交通");    }    //创建渲染    public DefaultRenderer builder(int[] colors){        DefaultRenderer render = new DefaultRenderer();        for(int i = 0;i<colors.length;i++){            SimpleSeriesRenderer ssr = new SimpleSeriesRenderer();            ssr.setColor(colors[i]);            render.addSeriesRenderer(ssr);        }        return render;    }}

android代码

    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_goodle);        //颜色        int[] colors = new int[] { Color.RED, Color.YELLOW, Color.BLUE };        Map<String,Integer> map = new HashMap<String,Integer>();        //数据        map.put("自行车 ", 30);        map.put("汽车", 30);        map.put("公交车", 40);        Intent intent = new ChartView().excute(this,colors,map);        startActivity(intent);    }

AndroidManifest.xml中一定要记得配activity

<activity android:name="org.achartengine.GraphicalActivity" />

这里写图片描述

0 0
原创粉丝点击