`
xp9802
  • 浏览: 1214419 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

android报表例子

 
阅读更多

本文演示在Android平台中绘制和展示图表示例,本示例是基于RChart 2实现的。

在一个系统中经常要用到图表统计数据,在WEB开发中图表绘制是一件简单的事情,因为有比较多的开源方案。但在Android中开源方案并不多。

Android中绘制图表解决方案: 

1) 使用google 图表 api    

2) 使用Achartengine库(http://www.achartengine.org/)   

3) 使用chartdroid库(http://code.google.com/p/chartdroid/)

4) 使用 RChart 2库实现。

 

第一种解决方案是使用google的图表API。

可以到如下这个地址去申请使用google 图表API(http://code.google.com/apis/chart/)。

这个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指出了这三部分数据内容的文字标签,即实际上显示在图表上的。

   使用方法很简单,只需要在oncreate事件中如下调用即可:

 

@Override 

publicvoid onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
WebView googleChartView = new WebView(this); 
setContentView(googleChartView); 
String mUrl = "http://chart.apis.google.com/chart?cht=p3& chd=t:30,60,10&chs=250x100&chl=cars|bikes|trucks"; 
googleChartView.loadUrl(mUrl); 
}

 

由于需要连接网络,需要在配置文件中加入访问网络权限:

  <uses-permission android:name="android.permission.INTERNET" />

  关于google 图表API更多的资料请参考http://code.google.com/intl/zh-CN/apis/chart/image/docs/making_charts.html

 

缺点:必须连网才能访问API,生成图形。

示例效果如下图:

 

 

第二种解决方案是使用Achartengine库。

下载地址在:http://code.google.com/p/achartengine/downloads/list ,将其JAR下载后,放到工程的lib包库中,结构如下图: 

 

代码如下显示:

 

 

public class AChartExample {  

public Intent execute(Context context) { 
int[] colors = new int[] { Color.RED, Color.YELLOW, Color.BLUE }; 
DefaultRenderer renderer = buildCategoryRenderer(colors); 
CategorySeries categorySeries = new CategorySeries("Vehicles Chart"); 
categorySeries.add("cars ", 30); 
categorySeries.add("trucks", 20); 
categorySeries.add("bikes ", 60); 
return ChartFactory.getPieChartIntent(context, categorySeries, renderer); 

  
protected DefaultRenderer buildCategoryRenderer(int[] colors) { 
DefaultRenderer renderer = new DefaultRenderer(); 
for (int color : colors) { 
SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
r.setColor(color); 
renderer.addSeriesRenderer(r); 

return renderer; 

}

 

  在我们的主类中,进行如下调用:   

Intent achartIntent = new AChartExample().execute(this);   

startActivity(achartIntent);   

最后生成的效果如下图:

 

 

示例代码下载:/Files/hanyonglu/AndroidFile/achartengine-0.7.0-demo-source.rar 

 

第三种解决方案是使用chartdroid,要注意的是。

如果使用这种方法的话,必须先下载并安装Chardroid这个APK,下载地址在:http://code.google.com/p/chartdroid/downloads/list,下载并将其APK包进行安装。

  要使用Chartdroid,必须要使用content provider,代码如下:

 

public class ChartDroidDataProvider extends ContentProvider {  

staticfinal String AUTHORITY =  "com.xyz.contentprovider.chardroid"; 
@Override
public String getType(Uri uri) { 
return "vnd.android.cursor.dir/vnd.com.googlecode.chartdroid.graphable"; 

public static final Uri PROVIDER_URI = new Uri.Builder().scheme( 
ContentResolver.SCHEME_CONTENT).authority(AUTHORITY).build(); 
@Override
public Cursor query(Uri uri, String[] projection, String selection, 
String[] selectionArgs, String sortOrder) { 
  
//获得实际数据  
MatrixCursor c = new MatrixCursor(new String[]                  { BaseColumns._ID, 
"COLUMN_AXIS_INDEX", "COLUMN_SERIES_INDEX", 
"COLUMN_DATUM_VALUE", "COLUMN_DATUM_LABEL" }); 
  
c.newRow().add(1).add(0).add(1).add(30).add(null); 
c.newRow().add(2).add(0).add(1).add(10).add(null); 
c.newRow().add(3).add(0).add(1).add(60).add(null); 
  
return c; 

 


在上面的代码中,我们使用了MatrixCursor生成了相关的数据:30,10,60。关于ChartDroid的详细ContentProvider信息,请参考http://code.google.com/p/chartdroid/wiki/InterfaceSpecification。

接下来,代码如下:

 

Intent chartDroidIntent = new Intent(Intent.ACTION_VIEW,  

ChartDroidDataProvider.PROVIDER_URI); 
chartDroidIntent.putExtra(Intent.EXTRA_TITLE, "Chart droid"); 
chartDroidIntent 
.addCategory("com.googlecode.chartdroid.intent.category.PIE_CHART"); 

startActivity(chartDroidIntent);  

 

注意,这里要使用charDroidIntent的addCategory方法去指定图表的类型,即   com.googlecode.chartdroid.intent.category.PIE_CHART。下图是运行效果:

 

 

第四种解决方案是使用RChart 2 库,关于RChart 2信息访问:http://www.java4less.com/charts/chart.php

下面是一些示例实现效果:

分享到:
评论

相关推荐

    android制作报表的例子

    本示例“android制作报表的例子”旨在提供一个全面的解决方案,覆盖了日常开发中可能遇到的各种报表需求。AChartEngineDemo1_0作为压缩包中的主要文件,很可能是该示例项目的源代码或演示应用。 AChartEngine是一个...

    android报表

    首先,Android报表通常需要借助第三方库或者自定义组件来实现。在这个案例中,核心技术是ichartJs,这是一款基于JavaScript的图表库,适用于HTML5环境。iChartJs提供了丰富的图表类型,如柱状图、饼图、线图等,可以...

    安卓图表报表相关-Android例子源码动态绘制折线圆柱饼状图.rar

    本资源“安卓图表报表相关-Android例子源码动态绘制折线圆柱饼状图.rar”提供了一些示例代码,帮助开发者学习如何在Android应用中动态地绘制折线图、圆柱图和饼状图。下面我们将详细探讨这些图表类型及其在Android中...

    【Android Studio代码】表格布局

    用Android Studio 2.3.3做的表格布局例子,主要用到、标签,还有android:shrinkColumns="0,1,2"、android:layout_column="0"等设置。

    Android应用源码百度统计例子.zip

    【Android应用源码百度统计例子】是一个用于学习和参考的Android应用程序开发实例,它包含了集成百度统计SDK的源代码。这个实例可以帮助开发者了解如何在自己的Android应用中有效地使用百度统计服务,以跟踪用户行为...

    安卓图表报表相关-自定义圆形呼吸控件CircleView.rar

    在Android开发中,图表报表和自定义视图是常见的需求,尤其在数据可视化或界面交互设计中。"安卓图表报表相关-自定义圆形呼吸控件CircleView.rar"这个压缩包包含了一个自定义的圆形呼吸效果控件,适用于创建独特且...

    安卓图表报表相关-相当全相当不错的例子android图表各种XCL-Charts-master.rar

    《安卓图表报表应用详解——基于XCL-Charts的实践指南》 在移动应用开发中,数据可视化是一项重要的任务,尤其在安卓平台上,清晰、直观的图表报表能够帮助用户更好地理解和分析数据。本篇将深入探讨一款名为XCL-...

    Android应用源码百度统计例子.rar

    本资源“Android应用源码百度统计例子”提供了一个具体的实例,展示了如何在Android项目中集成百度统计服务。下面我们将详细探讨这个主题。 首先,百度统计是一款由百度公司提供的移动应用数据分析工具,它提供了...

    android 解析 excel 文件

    在Android平台上,解析Excel文件是一项常见的任务,尤其在数据处理、报表展示或者用户交互中。本文将详细讲解如何在Android应用中实现Excel文件的解析,主要聚焦于使用JXL库进行处理。 首先,JXL是一个Java库,专门...

    Android操作Excel文件的功能实现

    Android 操作 Excel 文件的功能实现是 Android 开发中的一项重要功能,特别是在需要将数据导出为 Excel 报表时。现有的解决方案主要有两种:使用开源库 jxl 和 POI。其中,jxl 是 Android 中操作 Excel 文件的首选,...

    Android Excel 操作实例demo

    在Android开发中,有时我们需要处理Excel文件,例如读取或写入数据,这在数据分析、报表生成或用户数据导出等场景中非常常见。"Android Excel操作实例demo"就是一个这样的项目,它展示了如何使用第三方库jxl.jar来...

    Android实现仿excel数据表格效果

    在Android开发中,有时我们需要创建类似Excel的数据展示界面,提供用户友好的数据操作和查看功能。这个场景下,我们可以利用自定义控件和布局来模仿Excel的表格效果。以下是一些关键知识点,以及如何在Android中实现...

    NCReport报表测试

    1. **跨平台库**:QT是Nokia开发的C++图形用户界面库,支持多平台开发,包括Windows、Linux、Mac OS、Android和iOS等。 2. **QT Creator**:QT4.8.5通常配合QT Creator使用,这是一个集成开发环境,包含了项目管理、...

    安卓MonkeyRunner自动化测试Lowen.zip

    lowen 基于monkeyrunner的android应用的自动化测试,并输出测试结果到html的框架 仿腾讯utest测试框架 代码有待完善,欢迎有兴趣的朋友一起讨论(目前报表里面使用echarts部分没有写数据处理逻辑,框架已搭好) ...

    一个简单的Flutter进销存管理系统的小例子.zip

    Flutter是一个用于构建跨平台应用的开源UI框架,它允许开发者使用Dart语言来创建iOS和Android应用。附件是一个简单的Flutter进销存管理系统的小例子,包括基本的界面和功能。 在实际的进销存管理系统中,你可能需要...

    android Achartengine 统计图

    对于数据的可视化,之前,是想直接用Canvas 来画,不过,评估了一下,工作量挺大的,因为,是一个人开发,而且是从零开始,如果写一个Canvas 画报表的方法,太费时间了,于是,上网找了一下,使用AchartEngine,...

    PiggyBank:Android 应用程序来管理帐户中的资金

    其中,Android平台上的"PiggyBank"应用就是一个很好的例子,它利用Java编程语言为用户提供了一种方便、直观的方式来管理账户中的资金。本文将深入探讨PiggyBank的应用功能、设计原理以及如何利用Java技术实现这些...

    安卓开源库mpandroidchart详细使用例子

    Android平台上的mpandroidchart库是一个强大的图表库,提供了丰富的图表类型,如饼状图、柱状图、折线图和散点图等,广泛应用于数据分析、报表展示等领域。本文将深入探讨mpandroidchart库的使用方法,以及如何通过...

    Android 操作excel功能实例代码

    在Android平台上,操作Excel文件通常涉及到读取、写入或编辑Excel数据,这对于某些业务应用,如数据管理、报表生成等场景非常有用。本文将详细介绍一个Android操作Excel功能的实例代码,以及如何实现对Excel的读写...

    lowen:android monkeyrunner自动测试系统

    ## lowen3版本稳定支持多个设备(最多40个USB连接)同时执行脚本 代码有待完善,欢迎有兴趣的朋友一起讨论(目前报表里面使用echarts部分没有写数据处理逻辑,框架已搭好)###主框架代码...### usage例子1 修改mr子目录

Global site tag (gtag.js) - Google Analytics