Android 使用 eChart 设置标线

2023-10-11 11:01

本文主要是介绍Android 使用 eChart 设置标线,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

echart使用标线



Android部分:

import android.webkit.WebView;
import com.jianqu.plasmasterilizer.R;
import com.jianqu.plasmasterilizer.utils.DisplayUtils;
import com.jianqu.plasmasterilizer.utils.TimerUtil;
import java.util.ArrayList;
import java.util.List;
/**
* 监测
* index 3
* Created by yanyou on 2023/9/10.
*/
public class ChartFragment extends BaseFragment {
    private final String TAG = this.getClass().getName();
    private TimerUtil timerUtil;
    private int time = 100000;
    private int count = 120;
    private WebView webview;
    List<String> xdata = new ArrayList<>();
    List<Integer> Ydata = new ArrayList<>();
    List<Integer> values1 = new ArrayList<>();
    List<Integer> values2 = new ArrayList<>();
    List<Integer> values3 = new ArrayList<>();
    private int baseLine1 = 7000;
    private int baseLine2 = 5500;
    private int baseLine3 = 3500;
    @Override
    protected int setLayoutResouceId() {
        return getLayout();
    }
    private int getLayout() {
        int w = DisplayUtils.getScreenH(mActivity);
        int layoutId = 0;
        layoutId = R.layout.fragment_chart_10c;
        return layoutId;
    }
    @Override
    protected void initView() {
        findViewById(R.id.rv_back).setOnClickListener(view -> {
            mActivity.backFragment(2);
        });
        findViewById(R.id.ll_scaling).setOnClickListener(view -> {
            mActivity.goFragment(4);
        });
        findViewById(R.id.ll_set).setOnClickListener(view -> {
            mActivity.goFragment(6);
        });
        webview = findViewById(R.id.webview);
        int[] yValue1 = new int[]{0, 3000, 6000, 9000, 12000, 15000};
        for (int s : yValue1) {
            Ydata.add(s);
        }
        webview.getSettings().setJavaScriptEnabled(true);
        webview.getSettings().setAllowFileAccess(true);
        webview.loadUrl("file:///android_asset/chart.html");
        initTimerUtil();
    }
    private void initTimerUtil() {
        TimerUtil.OnTimerChangeListener onTimerChangeListener = new TimerUtil.OnTimerChangeListener() {
            @Override
            public void doChange() {
                doTimeChange();
            }
        };
        timerUtil = new TimerUtil(500, 500, onTimerChangeListener);
        timerUtil.timeStart();
    }
    private void doTimeChange() {
        time--;
        if (time > 0) {
            //
            int val = (int) (Math.random() * 1000) + 6500;
            values1.add(val);
            int val2 = (int) (Math.random() * 2000) + 4000;
            values2.add(val2);
            int val3 = (int) (Math.random() * 2300) + 2000;
            values3.add(val3);
            xdata.add("" + xdata.size());
            webview.loadUrl("javascript:doCreateChart(" + baseLine1 + "," + baseLine2 + "," + baseLine3 + "," + xdata + "," + Ydata + "," + values1 + "," + values2 + "," + values3 + ");");
        } else if (time == 0) {
            //
            timerUtil.timeStop();
        }
    }
    @Override
    protected boolean isRegisterEventBus() {
        return false;
    }
    @Override
    public void onDestroy() {
//        EventBus.getDefault().unregister(this);
        super.onDestroy();
    }
}

eChart部分:

https://download.csdn.net/download/anroidyanyou/88411884

这篇关于Android 使用 eChart 设置标线的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/187596

相关文章

C++使用栈实现括号匹配的代码详解

《C++使用栈实现括号匹配的代码详解》在编程中,括号匹配是一个常见问题,尤其是在处理数学表达式、编译器解析等任务时,栈是一种非常适合处理此类问题的数据结构,能够精确地管理括号的匹配问题,本文将通过C+... 目录引言问题描述代码讲解代码解析栈的状态表示测试总结引言在编程中,括号匹配是一个常见问题,尤其是在

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Java中String字符串使用避坑指南

《Java中String字符串使用避坑指南》Java中的String字符串是我们日常编程中用得最多的类之一,看似简单的String使用,却隐藏着不少“坑”,如果不注意,可能会导致性能问题、意外的错误容... 目录8个避坑点如下:1. 字符串的不可变性:每次修改都创建新对象2. 使用 == 比较字符串,陷阱满

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

使用C++实现链表元素的反转

《使用C++实现链表元素的反转》反转链表是链表操作中一个经典的问题,也是面试中常见的考题,本文将从思路到实现一步步地讲解如何实现链表的反转,帮助初学者理解这一操作,我们将使用C++代码演示具体实现,同... 目录问题定义思路分析代码实现带头节点的链表代码讲解其他实现方式时间和空间复杂度分析总结问题定义给定

Linux使用nload监控网络流量的方法

《Linux使用nload监控网络流量的方法》Linux中的nload命令是一个用于实时监控网络流量的工具,它提供了传入和传出流量的可视化表示,帮助用户一目了然地了解网络活动,本文给大家介绍了Linu... 目录简介安装示例用法基础用法指定网络接口限制显示特定流量类型指定刷新率设置流量速率的显示单位监控多个

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

如何使用Java实现请求deepseek

《如何使用Java实现请求deepseek》这篇文章主要为大家详细介绍了如何使用Java实现请求deepseek功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1.deepseek的api创建2.Java实现请求deepseek2.1 pom文件2.2 json转化文件2.2

mybatis和mybatis-plus设置值为null不起作用问题及解决

《mybatis和mybatis-plus设置值为null不起作用问题及解决》Mybatis-Plus的FieldStrategy主要用于控制新增、更新和查询时对空值的处理策略,通过配置不同的策略类型... 目录MyBATis-plusFieldStrategy作用FieldStrategy类型每种策略的作

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本