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 柱状图例子的更多相关文章

  1. [Android Pro] 完美Android Cursor使用例子(Android数据库操作)

    reference to : http://www.ablanxue.com/prone_10575_1.html 完美 Android Cursor使用例子(Android数据库操作),Androi ...

  2. highcharts 柱状图 动态加载

    highcharts柱状图动态加载 (1):导入样式 <script type="text/javascript" src="<%=request.getCo ...

  3. Android MediaCodec 使用例子

    Android MediaCodec 使用例子 下面的例子是使用MediaCodec 录制到文件的例子. 1 public class AvcEncoder { private MediaCodec ...

  4. 我的Android进阶之旅------>Android拍照小例子

    今天简单的学习了一下android拍照的简单实现. 当然该程序是个小例子,非常简单,没有什么复杂的操作,但是可以学习到Android 拍照API流程. 1.在布局文件中添加一个 surfaceView ...

  5. HighCharts -教程+例子

    Highchart简介:   Highcharts是一款免费开源的纯javascript编写的图表库,能够很简单便捷的在Web网站或Web应用中添加交互性的图表,  Highcharts目前支持直线图 ...

  6. highcharts 柱状图动态设置数据应用实例

    <div id="container" style="min-width:700px;height:400px"></div> #jav ...

  7. 编译android framework的例子【转】

    本文转载自:http://blog.csdn.net/brucexu1978/article/details/7610358 在开发过程中,尤其是Framework相关开发时,有时候需要重新编译资源文 ...

  8. highcharts柱状图、饼状图

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

  9. Android test---robotium----简单例子

    1.首先新建一个要被测试的工程,命名为”robotium“:一个很简单的Android 应用程序:主页面只有个 TextView 控件: 2. 在建一个用于测试的工程 ,命名为”robotiumTes ...

随机推荐

  1. 文件中用WriteLine追加内容的两种方法

    if (!Directory.Exists("C:\\testll")) { Directory.CreateDirectory("C:\\testll"); ...

  2. Ext.js入门:常用组件与综合案例(七)

    一:datefield简单示例 二:timefield简单示例 三:numberfield简单示例 四:FormPanel提交   datefield简单示例: <html xmlns=&quo ...

  3. JSON.NET 空值处理, 数字转字符,时间格式化

    public static string ToJsonString(this Object obj) { IsoDateTimeConverter idtc = new IsoDateTimeConv ...

  4. [转] 为什么javascript是单线程的却能让AJAX异步调用?

    为什么JavaScript是单线程的却能让AJAX异步发送和回调请求,还有setTimeout也看起来像是多线程的? function foo() { console.log( 'first' ); ...

  5. requirejs模块路径配置问题

    三种情况:一.设置data-main,没配置baseUrl,以data-main的文件为基准:二.设置data-main,配置baseUrl,baseUrl以值以引用require.js的HTML为基 ...

  6. Kylin的简介与安装部署

    一.Kylin的概述 官方网址:http://kylin.apache.org/cn/ Apache Kylin™是一个开源的分布式分析引擎,提供Hadoop/Spark之上的SQL查询接口及多维分析 ...

  7. 解决mount.nfs: access denied by server while mounting错误

    环境:oraclelinux6.7 以前在centos服务器上安装nfs.挂载NFS都没出现问题,今天在oraclelinux上安装后,在客户端mount的时候报mount.nfs: access d ...

  8. js后退

    history.back(-1):直接返回当前页的上一页,数据全部消息,是个新页面 history.go(-1):也是返回当前页的上一页,不过表单里的数据全部还在 history.back(0) 刷新 ...

  9. 简述synchronized和java.util.concurrent.locks.Lock的异同?

    主要相同点:Lock能完成synchronized所实现的所有功能 . 主要不同点:Lock有比synchronized更精确的线程语义和更好的性能.synchronized会自动释放锁,而Lock一 ...

  10. HttpClient之初步认识与使用1

    今天在项目中看到HttpClient的内容,然后去看了一下资料,有了初步的见解,在此记录一下~ 一. 搭建环境 (1)创建一个java项目叫HttpClientTest (2)为了使用HttpClie ...