项目目录:




Contact.java

package com.example.html5_chart;public class Contact {private String name;private double value;private String color;public Contact(String name, double value, String color) {super();this.name = name;this.value = value;this.color = color;}public String getName() {return name;}public void setName(String name) {this.name = name;}public double getValue() {return value;}public void setValue(double value) {this.value = value;}public String getColor() {return color;}public void setColor(String color) {this.color = color;}}

ContactService.java

package com.example.html5_chart;import java.util.ArrayList;import java.util.List;public class ContactService {public List<Contact> getContacts(){List<Contact> contacts = new ArrayList<Contact>();contacts.add(new Contact("IE", 32.85, "#a5c2d5"));contacts.add(new Contact("Chrome", 45.55, "#cbab4f"));contacts.add(new Contact("FireFox", 40.25, "#76a871"));contacts.add(new Contact("Safari", 6.85, "#a56f8f"));contacts.add(new Contact("Other", 1.23, "#6f83a5"));return contacts;}}


MainActivity.java

package com.example.html5_chart;import java.util.List;import org.json.JSONArray;import org.json.JSONException;import org.json.JSONObject;import android.os.Bundle;import android.app.Activity;import android.content.Context;import android.util.Log;import android.view.Menu;import android.webkit.WebView;public class MainActivity extends Activity {private static final String TAG = "MainActivity";private ContactService contactService;private WebView webView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);contactService = new ContactService();webView = (WebView)findViewById(R.id.webView);webView.getSettings().setJavaScriptEnabled(true);webView.getSettings().setBuiltInZoomControls(true);webView.addJavascriptInterface(this, TAG);webView.loadUrl("file:///android_asset/3dchart.html");}public String getContacts(){List<Contact> contacts = contactService.getContacts();String json = null;try {JSONArray array = new JSONArray();for (Contact contact:contacts) {JSONObject object = new JSONObject();object.put("name", contact.getName());object.put("value", contact.getValue());object.put("color", contact.getColor());array.put(object);}json = array.toString();Log.i(TAG, json);System.out.println("json : ------> " + json);//webView.loadUrl("javascript:show("+ json +")");} catch (JSONException e) {e.printStackTrace();}return json;}}

3dchart.html

<!DOCTYPE html><html><head>  <meta charset="UTF-8" />  <title>Hello World</title>  <meta name="Description" content="" />  <meta name="Keywords" content="" />  <script type="text/javascript" src="ichart.1.2.min.js"></script>  <script type="text/javascript">    var data = new Array;    var contact = window.MainActivity.getContacts();得到MainActivity中转换出的json字符串    eval('data=' + contact);得到json数据    $(function(){      new iChart.Column3D({        render:'canvasDiv',//渲染的Dom目标,canvasDiv为Dom的ID        data:data,//绑定数据        title:'Top 5 Browsers in August 2013',//设置标题        showwpercent:true,//显示百分比        decimalsnum:2,        width:800,//设置宽度,默认单位为px        height:400,//设置高度,默认单位为px        shadow:true,//激活阴影        shadow_color:'#c7c7c7',//设置阴影颜色        align:'left',        offsetx:50,        legend:{          enable:true        },        coordinate:{          scale:[{            width:600,            position:'left',//配置左值轴            start_scale:0,//设置开始刻度为0            end_scale:40,//设置结束刻度为40            scale_space:8,//设置刻度间距            listeners:{              parseText:function(t,x,y){//设置解析值轴文本                return{text:t+"%"}              }            }          }]        }      }).draw(); //调用绘制方法开始绘图    });  </script></head><body>  <!-- This file lives in public/422.html -->  <div id='canvasDiv'>12222</div>  <div id='canvasDiv'></div></body></html>




图形:如这样的 由于不可以在模拟器上运行 我就在官网找了一个图片代替了


ichartjs官网:http://www.ichartjs.com/

ichartjs API: http://www.ichartjs.com/docs/zh/

ichartjs例子:http://www.ichartjs.com/gettingstarted/


另外一个库 比这个更加的强悍,功能更加全,效果更加漂亮:http://www.highcharts.com/




更多相关文章

  1. Android(安卓)判断SD卡是否存在及容量查询
  2. Android(安卓)开发中,px、dip、density 间的关系,用于多分辨率适配
  3. Android(安卓)绘制折线和柱状图
  4. Android计算文件夹大小、文件大小单位转换、删除文件夹及其内容
  5. Android(安卓)Studion样式中自带的三个item分别代表什么:
  6. Android/J2SE计算两个位置坐标之间的距离
  7. textView背景颜色
  8. android手机屏幕密度的计算及dp、px、sp单位的转换,屏幕适配相关

随机推荐

  1. 使用javascript或jquery将具有相同id的多
  2. 12个非常有用的JavaScript技巧
  3. 浏览器独立文件io在javascript中
  4. 根据php对ajax请求的响应制作动态html表
  5. Javascript XML DOM将属性设置为特定元素
  6. arcgis api for js入门开发系列十 自定义
  7. 上传文件进度条(笔记)
  8. 整理简易分享功能
  9. Cordova相机插件ios11无法从库中选取图像
  10. 韩顺平 javascript教学视频_学习笔记12_j