博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android highcharts 柱状图例子
阅读量:6000 次
发布时间:2019-06-20

本文共 2855 字,大约阅读时间需要 9 分钟。

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

 

通过android webview来请求数据;

public class ZTMainActivity extends Activity {

WebView browser;ProgressDialog pd;Handler handler;@Overrideprotected 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://sowmx.baihongyu.com/

你可能感兴趣的文章
composer 安装 ubuntu 12.04
查看>>
微服务(二)hystrix
查看>>
Performing a thread dump in Linux or Windows--reference
查看>>
推荐系统中常用算法 以及优点缺点对比
查看>>
cocos2d-x v3.2环境配置(现在3.x版本号可以配置该)
查看>>
穷举法解决旅行商问题
查看>>
括号配对问题
查看>>
Oracle自学笔记(一)
查看>>
利用5w1h写出高效的git commit
查看>>
用div和css样式控制页面布局
查看>>
Python自定义库文件路径
查看>>
Get和Post的区别
查看>>
Redis--优化
查看>>
JSTL截取字符串以及格式化时间
查看>>
Bugtags 使用技巧之 setUserData
查看>>
Go语言标准库之JSON编解码
查看>>
使用windows search 搜索文件和文件夹(一)
查看>>
“江苏科技”背后有哪些大咖倾力参与?
查看>>
mysql优化
查看>>
mysqldump & binlog做完全备份
查看>>