ECharts在Android中的使用

Android使用Echarts 进行图表开发 (WebView加载) 在两年前时候北京的一家公司是给高中生做理化生结合他们课本做的一款App,App中的功能是实现一些点线图和柱状图还有扇形图,平时开发中其实App中去加载一些这种数据图很少遇到, 但是也会有很多人不太理解在实际的Android开发中怎么去运用开发,其实Android中自定义View是可以实现的,但是市面上科技已经很发达 有很多第三方的开源运用js写的,使... 阅读详情

集成

       在build.gradle中添加架包

     compile 'com.github.abel533:ECharts:2.2.7'
        从官网中将所需图表打包成js (echarts.min.js)放入 assets下的js包中 将index.html一同放入assets下

饼状图

       布局文件   

        一个简单的webview控件    

	<WebView
 	   android:id="@+id/barchart_webview"
	   android:layout_width="match_parent"
  	   android:layout_height="match_parent"
  	   android:scrollbars="none"
  	   />

        首先  我们可以先自己定义数据 并将index.html加载到webview控件中去

          private List<com.github.abel533.echarts.data.Data> mSeriesData= new ArrayList<com.github.abel533.echarts.data.Data>();
                mSeriesData.add(newcom.github.abel533.echarts.data.Data(mCounts.get(i).getTitle(),mCounts.get(i).getCount()));
          mBarChartWebView.loadUrl("file:///android_asset/index.html");

        我们可以对webview设置一些属性 如              

	mBarChartWebView.getSettings().setAllowFileAccess(true);
	mBarChartWebView.getSettings().setJavaScriptEnabled(true);
	mBarChartWebView.setHorizontalScrollBarEnabled(false);//水平不显示
	mBarChartWebView.setVerticalScrollBarEnabled(false); //垂直不显示
	mBarChartWebView.setWebViewClient(new MyWebViewClient());

         当webview加载完成时 显示图表

	class MyWebViewClient extends WebViewClient {
	  @Override
 	  public void onPageFinished(WebView view, String url) {
	      super.onPageFinished(view, url);
  	       showPieChart(mSeriesData);
  	 }
	}

    private void showPieChart(List legendData, List seriesData){

      mBarChartWebView.loadUrl("javascript:clear()");

      Option option = new Option();

      Pie p1 = new Pie();
      p1.clockWise(false).radius("65%").setData(seriesData);
      p1.itemStyle().normal().label().formatter("{b} : {c} \n ({d}%)").show(true);
      option.series(p1);

      Gson gson = new Gson();
      String jsonOption = gson.toJson(option);

      mBarChartWebView.loadUrl("javascript:setOption("+jsonOption+")");

   }

效果图

                         

折线图

         

private void showLineChart(){

            ArrayList<> groups;

            List<String> listAxis = new ArrayList<>();
            List<String> listSeries1 = new ArrayList<>();
            List<String> listSeries2 = new ArrayList<>();

            if(groups != null && groups.size() > 0) {
                for (int i = 0; i < groups.size(); i++) {
                    listAxis.add(groups.get(i).getCreatedAt());
                    listSeries1.add(groups.get(i).getCounts1());
                    listSeries2.add(groups.get(i).getCounts2());
                }
            }

            mLineChartWebView.loadUrl("javascript:clear()");
            Option option = new Option();
            option.legend("线一","线二");
            option.title().text("单位(cm)").textStyle(new TextStyle().fontWeight("normal").fontSize(15));
            option.calculable(true);
            option.grid().x("30px");
            option.grid().y("35px");
            option.grid().x2("10px");
            option.grid().y2("25px");
            option.grid().borderWidth(0);
//            option.noDataLoadingOption().text("暂无数据");
            ValueAxis valueAxis = new ValueAxis();
            valueAxis.scale(true);
            valueAxis.type(AxisType.category);
            valueAxis.boundaryGap(0d,0d);
            valueAxis.splitLine().show(false);
//            valueAxis.data("周一","周二","周三","周四","周五","周六","周日");
            valueAxis.setData(listAxis);
            option.xAxis(valueAxis);

            CategoryAxis categoryAxis = new CategoryAxis();
            categoryAxis.type(AxisType.value);
            categoryAxis.splitLine().show(false);
            option.yAxis(categoryAxis);

            Line line1 = new Line();
            line1.smooth(true).name("线一")
//                    .data(120,120,130,140,150,160,160)
                    .itemStyle().normal().areaStyle().type("default");
            line1.showAllSymbol(true);
            line1.setData(listSeries1);
            line1.type(SeriesType.line);

            option.series(line1);

            Line line2 = new Line();
            line2.smooth(true).name("线二")
//                    .data(100,90,110,88,140,130,140)
                    .itemStyle().normal().areaStyle().type("default");
            line2.setData(listSeries2);
            line2.showAllSymbol(true);
            line2.type(SeriesType.line);
            option.series(line2);

            Gson gson = new Gson();
            String jsonOption = gson.toJson(option).replace("\"boundaryGap\":[0.0,0.0]","\"boundaryGap\" : false");
            Log.e("jsonOption", jsonOption);

            mLineChartWebView.loadUrl("javascript:setOption("+jsonOption+")");
        }
    }










使用echarts绘制android图表 使用echarts实现在android中的图表展示。 立即下载

相关推荐

android echarts

android echarts http://blog.youkuaiyun.com/i_do_can/article/details/50479031

安卓开发--安卓使用Echatrs绘制折线图

安卓开发--安卓使用Echatrs绘制折线图

LQ_001的博客 1951

android集成echarts图表实例

android原生整合echarts图表

android 用echarts绘制图表(折线与柱状图)

Android使用echarts绘制图表

qq_30089721的博客 3224

从零开始:手把手教你规划与部署华为FusionCompute虚拟化平台(含网络规划避坑指南)

本文详细介绍了华为FusionCompute虚拟化平台的规划与部署流程,特别针对网络规划中的常见问题提供了避坑指南。从硬件软件清单检查、网络平面配置到VRM部署方案选择,帮助用户高效完成部署并优化性能,适用于云计算环境中的虚拟化平台搭建。

weixin_28693447的博客 241

从CT扫描到3D模型:手把手教你用NII文件在3D Slicer中重建脊柱(附Verse数据集实战)

本文详细介绍了如何利用NII文件在3D Slicer中从CT扫描数据重建脊柱3D模型的全流程,包括环境配置、数据获取、方向校准、结构分割和模型优化等关键步骤。通过Verse数据集实战演示,帮助医学从业者快速掌握医学图像处理技术,提升临床诊疗与教学效率。

weixin_42651281的博客 202

在Android 中使用 echarts

首先奉上官网 做Android开发经常会需要画一些图表,自己写的话不仅麻烦而且工作量太大,所以一般都会采用第三方图表框架 ,这时候就用到了ECharts 前言 ECharts 是由百度开发提供的开源框架,主要提供给Web使用,所以Android中一般使用WebView加载显示,其实本质上也就是用 WebView 加载本地 H5。 ECharts的图表样式主要由option控制,option是由js编写,如下面代码就是一个简单折线图的option。 在andorid中使用ECharts,一般来讲我.

afufufufu的博客 6420

从配置文件加载顺序揭秘:为什么你的logback.xml读不到application.yml?

本文深入解析了Spring Boot中logback.xml无法读取application.yml配置的原因,揭示了Spring Boot配置加载机制与日志系统初始化的时序问题。通过对比logback.xml与logback-spring.xml的差异,提供了使用springProperty标签和系统属性传递等解决方案,帮助开发者有效解决日志配置问题。

weixin_29214335的博客 364

Android使用echart展示图表

最近开发的时候,遇到了柱状图,刻度图等各种图表的展示。查资料发现,Android用的的最多的是MPAndroidChart,我也尝试了,一般的柱状图和饼状图都可以实现,但是刻度图就不行。经了解,h5端有百度的echart可以实现各种酷炫的图表展示,这样,图片里面的刻度图就展示出来了,option可以去echart官网示例里面直接复制,把里面的参数改成你想要的就可以了。产品能想到的图表都有,哈哈,于是乎我封装了一个webview来展示echarts的图表。"设置图表error:\n"

gemgao的博客 1414

RagFlow实战:如何用DeepDoc引擎高效处理扫描PDF文档(附完整代码解析)

本文详细解析了如何利用RagFlow的DeepDoc引擎高效处理扫描PDF文档。通过实战演示从环境搭建、PDF预处理、文本检测与识别,到布局分析与表格结构提取的完整流程,并提供了完整的代码实现。该方案超越了传统OCR,能输出保留原始版面信息的结构化数据,为构建高质量知识库提供了强大支持。

weixin_29245767的博客 299

提高机器学习模型准确率的八大方法

原文连接:http://www.techweb.com.cn/network/system/2016-01-27/2269274.shtml 此文仅是一个小品文,详细理论请读论文,参考书籍。 前言:我的概述 机器学习面对的是一个受限有穷空间 到 一个扩大的有穷空间 的泛化问题。若假设空间足以覆盖真实的数据空间,机器学习方法可以弃之不...

alppkk4545的博客 1301

在安卓中使用echarts

看见js写得echarts觉得非常的棒,所以尝试把它也搬到安卓中。 首先:把echarts放进assets下如图: 用webview来呈现\界面,这里选择用按钮来显示js部分,因为加载html文件比较慢,如果不用按钮来出发请选择用线程睡两秒等一下。 wb.getSettings().setAllowFileAccess(true); wb.getSettings().setJav

xuandroid的博客 1万+

AI Agent Harness内容审核:生成内容合规

在过去的几年里,生成式人工智能(Generative AI)技术取得了爆炸性的发展。从 GPT-4、Claude 这样的文本生成模型,到 Midjourney、Stable Diffusion 这样的图像生成工具,再到 Sora 这样的视频生成模型,AI 已经具备了媲美甚至超越人类的内容创作能力。然而,技术是一把双刃剑。随着生成式 AI 的普及,内容安全与合规风险也呈指数级增长。

AI架构师小马 300

echarts在uniapp中使用安卓真机运行时无法显示的问题

我们在uniapp中开发的时候,开发的时候很正常,echarts的图形在h5页面上也是很正常的,但是当我们打包成安卓app或者使用安卓真机运行的时候,图形根本就没有渲染出来

八月林城的博客 1712

基于YOLOv11的工业装配完整性智能检测系统

在现代工业生产中,产品质量控制是确保企业竞争力的关键环节。其中,装配完整性检查——即检测产品是否安装了所有应有的部件,是质量检测中的重要一环。传统的人工检测方法存在效率低、易疲劳、主观性强等问题。本文提出了一种基于深度学习的目标检测算法YOLOv11的工业装配完整性智能检测系统,通过计算机视觉技术自动识别和验证产品装配的完整性。本文将详细阐述从数据准备、模型训练到系统部署的完整流程,提供可执行的代码实现,并介绍一个适用于该任务的参考数据集。

YOLO 551

围绕国产化操作系统以及人大金仓地理空间库的GIS的解决方案,含超详细部署步骤以及与QGIS,GeoServer,PostGlS Shapefile lmport/Export Manager的连接步骤

人大金仓软件 2.1软件的下载以及授权的相关文件插件 2.2上传至虚拟机 2.3KingbaseES V8R6数据库部署过程 2.3.1创建安装用户 2.3.2赋权 2.3.3.创建安装目录且赋权 2.3.4 准备挂载 2.4kingbase安装方法 2.7postgis安装 3 人大金仓数据库与QGIS的连接 4 人大金仓数据库与PostGlS Shapefile lmport/Export Manager的连接 5 人大金仓数据库与geoserver的连接

挣钱花388的博客 2590

android 两个界面传参数,echarts做的两个图表,安卓的怎么传参数过来??

echarts做的两个图表,安卓的怎么传参数过来??代码如下::function setEchart(data,nums){var myChart = echarts.init(document.getElementById('zh-chart'));var option = {title:{text:'每小时的起飞航班总数和每小时的航班延误数对比分析',padding:[10,10],x: 'c...

weixin_39697660的博客 353

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android 使用Echarts

官网:https://www.echartsjs.com/index.html 参考:https://www.jianshu.com/p/c2b589170379 在官网上我们可以获取我们所需要的js Android 使用: 上面的依赖是为了使用定义好的etcharts图表中展示的各个js代码节点的属性,设置好后转变为json,然后调用展示,将数据传入,在上面的html代码中会将json转...

qq_2790289459的博客 9690

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

在android上使用ECharts

参考 https://www.jianshu.com/p/5783daf54f5b?utm_campaign=maleskine 需要下载 echarts.min.js文件

weixin_44825473的博客 934

Echarts 在低版本安卓上不显示问题

Echarts 在低版本安卓上不显示问题 背景 公司让开发一个网页,把公司车间的每周不良产品分析以报表的形式呈现在办公区和车间的看板上。 问题 我准备先做两个饼状图测试一下数据,网页很快做好了,在电脑上完美呈现。但问题来了,看板上显示不出来图表。只显示div边框,div内部直接空白。改了半天依然没有效果,最后其他同事提醒才知道看板是好几年前买的,系统还是安卓4.0,。。。。。 安卓4.0的浏览器显...

qq_39119496的博客 3050

【uniapp-安卓使用echarts】

例如:在uniapp-安卓中使用echarts与vue中使用echarts很不一样,主要区别于在android中没办法直接操作dom需要借用render.js层来进行交互,于是对echarts在安卓中的使用进行了一个封装。tips:在uniapp-安卓中还有一些坑,1、在引入组件时的引入方式不生效;2、引入图片时不生效//这种引入方式不行 components : {

s_1024的博客 1492

echarts android使用教程,在android上使用ECharts

前言做Android开发经常会需要画一些图表,自己写的话不仅麻烦而且工作量太大,所以一般都会采用第三方图表框架,现在给大家介绍一款功能非常丰富的图表框架 ECharts 。准备ECharts 是由百度开发提供的开源框架,主要提供给Web使用,所以Android中一般使用WebView加载显示,其实本质上也就是用 WebView 加载本地 H5。ECharts的图表样式主要由option控制,opt...

weixin_39968490的博客 587

android中实现echarts的工具,玩转图表:在android上使用ECharts

支持原创,转载请注明出处前言做Android开发经常会需要画一些图表,自己写的话不仅麻烦而且工作量太大,所以一般都会采用第三方图表框架,现在给大家介绍一款功能非常丰富的图表框架 ECharts 。准备ECharts 是由百度开发提供的开源框架,主要提供给Web使用,所以Android中一般使用WebView加载显示,其实本质上也就是用 WebView 加载本地 H5。ECharts的图表样式主要由...

weixin_30487899的博客 536

Android图表开发之ECharts

开始这篇文章之前,需要提到一个上篇文章中忘记说的一个问题,就是我们在使用HelloCharts绘制折线图的时候,当我们进入其它界面后重新进入该界面有可能会出现折线图中首尾两个点相连的奇怪现象(兴许还有其他绘制怪象),这是因为数据残留的原因,所以我们需要每次在绘制图表的时候先清除一下之前的数据,清除方法就是把我们用来存储PointValue的集合clear一下就OK了!那今天我们就来聊聊EChart...

chouGod的博客 7141

android中实现echarts的工具,Android项目中使用echarts

之前都是在web网页端使用echarts,现在在android项目中使用echarts,实现柱状图、折线图、雷达图等,以柱状图为例。1、首先去echarts官方下载echarts下载js文件,最好下载完整版的,也可以根据自己的需要自定义构建。图1下载下来的js文件如图所示图22.将下载下来的js文件放到android工程的assets文件夹下图33.用WebView加载html,首先创建html文...

weixin_30232751的博客 992
上一篇: Android的版本更新
下一篇: Android中Webview与js交互
ayrascal
博客等级 码龄10年 8粉丝 27原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值