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
android highcharts 柱状图例子的更多相关文章
- [Android Pro] 完美Android Cursor使用例子(Android数据库操作)
reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...
- highcharts 柱状图 动态加载
highcharts柱状图动态加载 (1):导入样式 <script type="text/javascript" src="<%=request.getCo ...
- Android MediaCodec 使用例子
Android MediaCodec 使用例子 下面的例子是使用MediaCodec 录制到文件的例子. 1 public class AvcEncoder { private MediaCodec ...
- 我的Android进阶之旅------>Android拍照小例子
今天简单的学习了一下android拍照的简单实现. 当然该程序是个小例子,非常简单,没有什么复杂的操作,但是可以学习到Android 拍照API流程. 1.在布局文件中添加一个 surfaceView ...
- HighCharts -教程+例子
Highchart简介: Highcharts是一款免费开源的纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表, Highcharts目前支持直线图 ...
- highcharts 柱状图动态设置数据应用实例
<div id="container" style="min-width:700px;height:400px"></div> #jav ...
- 编译android framework的例子【转】
本文转载自:http://blog.csdn.net/brucexu1978/article/details/7610358 在开发过程中,尤其是Framework相关开发时,有时候需要重新编译资源文 ...
- highcharts柱状图、饼状图
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
- Android test---robotium----简单例子
1.首先新建一个要被测试的工程,命名为”robotium“:一个很简单的Android 应用程序:主页面只有个 TextView 控件: 2. 在建一个用于测试的工程 ,命名为”robotiumTes ...
随机推荐
- yield()方法就是礼让,具体还是看cpu怎么分配
package charpter07; //yield():礼让的行为public class Processor implements Runnable { @Override public voi ...
- 多线程中实现ApplicationContextAware接口获取需要的bean,applicationContext.getBea未返回也未报错
唉,面试失败了有点难过. https://q.cnblogs.com/q/95168/#a_208239
- [转] Anaconda使用总结
机器上的不同用户完全可以安装.配置自己的Anaconda,不会互相影响. 对于Mac.Linux系统,Anaconda安装好后,实际上就是在主目录下多了个文件夹(~/anaconda)而已,Windo ...
- 在vs2008工程中制作cab包
内容转自MSDN 1.首先,制作自己的智能设备工程 2.添加cab工程: 为解决方案添加智能设备 CAB 项目 打开现有的智能设备项目,并确保“解决方案资源管理器”可见. 在“文件”菜单上指向“添加” ...
- redis 持久化 AOF和 RDB 引起的生产故障
概要 最近听开发的同事说,应用程序连接 redis 时总是抛出连接失败或超时之类的错误.通过观察在 redis 日志,发现日志中出现 "Asynchronous AOF fsyn ...
- 032 HDFS中高可用性HA的讲解
HDFS Using QJM HA使用的是分布式的日志管理方式 一:概述 1.背景 如果namenode出现问题,整个HDFS集群将不能使用. 是不是可以有两个namenode呢 一个为对外服务-&g ...
- 关于Jar包 和 war
Jar包: 别人写好的java类打包,将这些jar包引入你的项目中,然后就可以直接使用这些jar包中的类和属性以及方法,一般都会放在lib目录下 war 是web项目
- Burp Suite之Scaner模块(三)
Burp Suite之Scaner模块(三) Scaner模块配置详解 Scan Queue Active Scanning(主动扫描)过程通常包括发送大量请求到服务器为所扫描的每个基本的请求,这可能 ...
- Python中按值来获取指定的键
转自: https://blog.csdn.net/Jerry_1126/article/details/87907162 Python字典中的键是唯一的,但不同的键可以对应同样的值,比如说uid,可 ...
- POJ.2774.Long Long Message/SPOJ.1811.LCS(后缀数组 倍增)
题目链接 POJ2774 SPOJ1811 LCS - Longest Common Substring 比后缀自动机慢好多(废话→_→). \(Description\) 求两个字符串最长公共子串 ...