最近在帮机械学院开发一个app
用了第三方的图像引擎——achartengine功能还算强大(虽然相比于Html那些第三方图像引擎还是差点不过也够用了)
入门:
参考http://blog.csdn.net/lk_blog/article/details/7645509就看着一页就行了 后面不用看了 知道achartengine是啥就行了
下载地址最好翻一下
我的主页也传了http://files.cnblogs.com/sweetculiji/achartengine-1.1.0.rar
我用的是achartengine-1.1.0版本
添加到工程中
然后直接跑下面的程序
1 package com.example.ahartenginedemo; 2 3 import java.util.Random; 4 5 import org.achartengine.ChartFactory; 6 import org.achartengine.GraphicalView; 7 import org.achartengine.chart.PointStyle; 8 import org.achartengine.model.XYMultipleSeriesDataset; 9 import org.achartengine.model.XYSeries; 10 import org.achartengine.renderer.XYMultipleSeriesRenderer; 11 import org.achartengine.renderer.XYSeriesRenderer; 12 13 import android.app.Activity; 14 import android.graphics.Color; 15 import android.os.Bundle; 16 import android.view.Menu; 17 import android.view.MenuItem; 18 import android.widget.LinearLayout; 19 public class MainActivity extends Activity { 20 21 22 protected void onCreate(Bundle savedInstanceState) { 23 // TODO Auto-generated method stub 24 super.onCreate(savedInstanceState); 25 setContentView(R.layout.activity_main);// 设置页面布局 26 27 28 // 1 构造显示用渲染图 29 XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer(); 30 renderer.setXTitle("编号");//设置为X轴的标题 31 renderer.setYTitle("尺寸");//设置y轴的标题 32 renderer.setShowGrid(true);//显示网格 33 renderer.setBackgroundColor(Color.BLACK); 34 // 2,进行显示 35 XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset(); 36 // 2.1, 构建数据 37 XYSeries series1 = new XYSeries("test1"); 38 series1.add(2,3); 39 series1.add(1,9); 40 XYSeries series2 = new XYSeries("test2"); 41 series2.add(4,7); 42 series2.add(2,8); 43 // 需要绘制的点放进dataset中 44 dataset.addSeries(series1); 45 dataset.addSeries(series2); 46 47 // 3, 对点的绘制进行设置 48 XYSeriesRenderer xyRenderer = new XYSeriesRenderer(); 49 // 3.1设置颜色 50 xyRenderer.setColor(Color.BLUE); 51 // 3.2设置点的样式 52 xyRenderer.setPointStyle(PointStyle.SQUARE); 53 // 3.3, 将要绘制的点添加到坐标绘制中 54 renderer.addSeriesRenderer(xyRenderer); 55 // 3.4,重复 1~3的步骤绘制第二个系列点 56 xyRenderer = new XYSeriesRenderer(); 57 xyRenderer.setColor(Color.RED); 58 xyRenderer.setPointStyle(PointStyle.CIRCLE); 59 renderer.addSeriesRenderer(xyRenderer); 60 61 62 GraphicalView view = ChartFactory.getLineChartView(this, dataset, renderer); 63 setContentView(view); 64 } 65 }
布局文件都不用定义 再给AndroidManifest.xml:添加
< activity android:name = "org.achartengine.GraphicalActivity" />
自己运行一遍(我一般都是先搞起来看能跑不)然后大概看下代码就好
然后参考http://www.open-open.com/lib/view/open1396359314653.html
这篇很基本
看下核心思想:
主要通过设置几个对象(一开始学的时候各种乱啊!不用担心!我有图啊!)
(转载)
1、XYSeries对象:用于存储一条线的数据信息;如果你执行xyseries.add(7,20)就会出现红色那个点
2、XYMultipleSeriesDataset对象:即数据集,可添加多个XYSeries对象,因为一个折线图中可能有多条线。黄色部分,可以存储多个线,这个例子存了4个
3、XYSeriesRenderer对象:主要是用来设置一条线条的风格,颜色啊,粗细之类的。蓝色部分 这个线的属性:淡蓝色 三角 都是由它来设定 线条的渲染器
4、XYMultipleSeriesRenderer对象:主要用来定义一个图的整体风格,设置xTitle,yTitle,chartName等等整体性的风格,
可添加多个XYSeriesRenderer对象,因为一个图中可以有多条折线。整个紫色部分 最大的渲染器 属性非常多
设置完那些对象之后,可通过 org.achartengine.ChartFactory调用数据集XYMultipleSeriesDataset对象
与XYMultipleSeriesRenderer对象来画图并将图加载到GraphicalView中(相当于画布)
ChartFactory有多种api,通过这些api调用来决定是画折线图还是柱状图。
API下载:(试过可以用)
http://zhidao.baidu.com/link?url=pAdGIkrthMBUSoKys-jsZJ_RkAzZiUgfFEhsHR-Z9cUo76VFYo_oozqtLghTPlZv_RfcjQrnoVMhS7mRz2Y3eklR4ifeEArvYmPP-dr4BGq
到此入门就算完成啦
achartengine andorid图像引擎入门