AChartEngine(Android的一个开源图表库)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AChartEngine(Android的一个开源图表库)
最近在做一个关于股票的软件(for Android),在软件中需要实现一个股票走势图的功能,本来想到用最基础的画板和画笔去实现来着,在设计的过程中发现好复杂,需要抽象出很多东西,而且代码量也不小(相对之后提到的来说),我是一个真真正正的懒人,实在不乐意动手写那么多东西,而且还会有很多不可预见性的风险,于是上网查了一些资料,跟朋友咨询了一下,发现了它(AChartEngine):AChartEngine is a charting library for Android applications. It currently supports the following chart types:
line chart
area chart
scatter chart
time chart
bar chart
pie chart
bubble chart
doughnut chart
range (high-low) bar chart
dial chart / gauge
怎么样?是不是一个很强大呢?当然是针对Android来说的,
如果对PC和Web来说这都是皮毛…^_^
我先吃饭…一会接着写!
呵呵!这么晚了?忘了还有文章没写完…先上图吧,这是我参考官方文档写的一个Demo,等有有时间在把代码和我找到的相关函数贴上来吧……
虽然很丑,但这是我的辛辛苦苦的劳动成果呢…呵呵,没想到我现在看英文文档都能写代码了,哈!有进步哦
第二天……
开始贴代码:
首先引入jar包,就不j细说了……
---------------------------StockChartBuilder.java
------------------------------------
/**
* ClassName : </br>
* <p>
* 功能描述:股票走势图
* </p>
* History</br>
* Create User: LuPing</br>
* Create Date: 2011-5-15 下午07:10:54</br>
* Update User:</br>
* Update Date:</br>
*/
public class StockChartBuilder extends Activity {
public static final String TYPE = "type";private XYMultipleSeriesDataset mDataset = new XYMultipleSeriesDataset();private XYMultipleSeriesRenderer mRenderer = new XYMultipleSeriesRenderer();private XYSeries mCurrentSeries;private XYSeriesRenderer mCurrentRenderer;private String mDateFormat;private GraphicalView mChartView;/**
* 提取保存数据恢复Activity状态
*/
@Override
protected void onRestoreInstanceState(Bundle savedState) {
super.onRestoreInstanceState(savedState);
mDataset = (XYMultipleSeriesDataset) savedState
.getSerializable("dataset");
mRenderer = (XYMultipleSeriesRenderer) savedState .getSerializable("renderer");
mCurrentSeries = (XYSeries) savedState
.getSerializable("current_series"); mCurrentRenderer = (XYSeriesRenderer) savedState .getSerializable("current_renderer");
mDateFormat = savedState.getString("date_format"); }/**
* 在Activity销毁前保存数据状态
*/
@Override
protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState);
outState.putSerializable("dataset", mDataset); outState.putSerializable("renderer", mRenderer); outState.putSerializable("current_series", mCurrentSeries);
outState.putSerializable("current_renderer", mCurrentRenderer);
outState.putString("date_format", mDateFormat);
}@Override