• android highcharts 柱状图例子


    android提供achartengine api 只能做简单的,如果是复杂的图表,个人的想法结合highcharts来完成;减小工作量,官方提供的例子也非常丰富。

    通过android webview来请求数据;
    public class ZTMainActivity extends Activity {

    WebView browser;
    ProgressDialog pd;
    Handler handler;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ztmain);
        init();// 执行初始化函数
        String urls = "file:///android_asset/ztpad/jsp/subway/including/subwayflow_chart.html";
        loadUrl(browser, urls);     
    }
    
    /**
     * 初始化数据
     */
    public void init() {
    
        pd = new ProgressDialog(ZTMainActivity.this);
        pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        pd.setMessage("正在请求数据,请稍候...");
    
        handler = new Handler() {
            public void handleMessage(Message msg) {// 定义一个Handler,用于处理下载线程与UI间通讯             
                if (!Thread.currentThread().isInterrupted()) {
                    switch (msg.what) {
                    case 0:
                        pd.show();// 显示进度对话框
                        break;
                    case 1:
                        pd.hide();// 隐藏进度对话框,不可使用dismiss()、cancel(),否则再次调用show()时,显示的对话框小圆圈不会动。
                        break;
                    }
                }
                super.handleMessage(msg);
            }
        };      
    
        browser = (WebView) findViewById(R.id.wv);
        browser.getSettings().setJavaScriptEnabled(true);// 可用JS
    
        browser.getSettings().setSupportZoom(true);
        browser.getSettings().setBuiltInZoomControls(false);
        browser.getSettings().setUseWideViewPort(false);
        browser.getSettings().setLoadWithOverviewMode(false);
        browser.getSettings().setAppCacheEnabled(true);
        browser.getSettings().setCacheMode(browser.getSettings().LOAD_NO_CACHE);
        browser.getSettings().setDatabaseEnabled(true);
        browser.getSettings().setDomStorageEnabled(true);
        browser.getSettings().setJavaScriptEnabled(true);
        browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    
        browser.setScrollBarStyle(0);// 滚动条风格,为0就是不给滚动条留空间,滚动条覆盖在网页上
    
        browser.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(final WebView view,
                    final String url) {
                loadUrl(view, url);// 载入网页
                return true;
            }// 重写点击动作,用webview载入
    
        });
    
        browser.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {// 载入进度改变而触发
                if (progress == 100) {
                    handler.sendEmptyMessage(1);// 如果全部载入,隐藏进度对话框
                }
                super.onProgressChanged(view, progress);
            }
        }); 
    }
    
    public void loadUrl(final WebView view, final String url) {
        new Thread() {          
            public void run() {     
                try{        
                    handler.sendEmptyMessage(0);
                    view.loadUrl(url);// 载入网页
                }catch(Exception e){
                    handler.sendEmptyMessage(1);
                }
            }
        }.start();
    }

    }

    效果如图:

    转:http://my.eoe.cn/1088628/archive/5330.html

  • 相关阅读:
    软件工程第一次作业
    邮件服务器的搭建
    将博客搬至CSDN
    古典密码加密解密之多表代换
    Nginx + Tomcat 负载均衡配置详解
    openstack i版搭建教程
    IIS、apache、tomcat服务器虚拟主机配置
    SMTP邮件发送命令
    hadoop集群安装
    信息管理系统(java)
  • 原文地址:https://www.cnblogs.com/gzggyy/p/3173738.html
Copyright © 2020-2023  润新知