Javascript 在android中使用java脚本显示图表

Javascript 在android中使用java脚本显示图表,javascript,android,Javascript,Android,我需要在android中显示折线图、条形图和蜡烛图 为此,我使用jqPlot图表 我将字符串值从java代码传递到javascript函数 在烛光图表中,脚本仅接受二维数组中的值 如何在java脚本中将字符串转换为2D数组。 我的代码如下 在java代码中 String myValue = "'06/15/2009 16:00:00', 136.01, 139.5, 134.53, 139.48_"+ "'06/15/2009 16:00:00', 136.01,

我需要在android中显示折线图、条形图和蜡烛图

为此,我使用jqPlot图表

我将字符串值从java代码传递到javascript函数

在烛光图表中,脚本仅接受二维数组中的值

如何在java脚本中将字符串转换为2D数组。 我的代码如下

在java代码中

String myValue = "'06/15/2009 16:00:00', 136.01, 139.5, 134.53, 139.48_"+ "'06/15/2009 16:00:00', 136.01, 139.5, 134.53, 139.48";
webView.loadUrl("javascript:showCandleChart(" + myValue+ ")");
java脚本接受此格式的值

ohlc = [
    ['06/15/2009 16:00:00', 136.01, 139.5, 134.53, 139.48],
    ['06/08/2009 16:00:00', 143.82, 144.56, 136.04, 136.97],
    ['06/01/2009 16:00:00', 136.47, 146.4, 136, 144.67],
    ['05/26/2009 16:00:00', 124.76, 135.9, 124.55, 135.81],
    ['05/18/2009 16:00:00', 123.73, 129.31, 121.57, 122.5],
    ['05/11/2009 16:00:00', 127.37, 130.96, 119.38, 122.42],
    ['05/04/2009 16:00:00', 128.24, 133.5, 126.26, 129.19],
    ['04/27/2009 16:00:00', 122.9, 127.95, 122.66, 127.24],
    ['04/20/2009 16:00:00', 121.73, 127.2, 118.6, 123.9]]
我的java脚本函数

function showCandleChart(ohlc) {
// here ohlc string need to convert to 2D array as shown in above format.
var plot2 = $
    .jqplot(
            'chart2',
            [ ohlc ],
            {
                seriesDefaults : {
                    yaxis : 'y2axis'
                },
                axes : {
                    xaxis : {
                        renderer : $.jqplot.DateAxisRenderer,
                        tickOptions : {
                            formatString : '%b %e'
                        },
                        min : "09-01-2008",
                        max : "06-22-2009",
                        tickInterval : "6 weeks"
                    },
                    y2axis : {
                        tickOptions : {
                            formatString : '$%d'
                        }
                    }
                },
                // To make a candle stick chart, set the "candleStick" option to true.
                series : [ {
                    renderer : $.jqplot.OHLCRenderer,
                    rendererOptions : {
                        candleStick : true
                    }
                } ],
                highlighter : {
                    show : true,
                    showMarker : false,
                    tooltipAxes : 'xy',
                    yvalues : 4,
                    formatString : 

'<table class="jqplot-highlighter"> \
  <tr><td>date:</td><td>%s</td></tr> \
  <tr><td>open:</td><td>%s</td></tr> \
  <tr><td>hi:</td><td>%s</td></tr> \
  <tr><td>low:</td><td>%s</td></tr> \
  <tr><td>close:</td><td>%s</td></tr></table>'
                    }
                });

}
功能显示卡德勒哈特(ohlc){
//这里ohlc字符串需要转换为2D数组,如上面的格式所示。
变量plot2=$
.jqplot(
“图表2”,
[ohlc],
{
系列默认值:{
yaxis:‘y2axis’
},
轴线:{
xaxis:{
渲染器:$.jqplot.DateAxisRenderer,
选择:{
格式字符串:“%b%e”
},
min:“09-01-2008”,
max:“06-22-2009”,
间隔时间:“6周”
},
Y轴:{
选择:{
formatString:“$%d”
}
}
},
//要制作蜡烛棒图表,请将“烛台”选项设置为true。
系列:[{
渲染器:$.jqplot.OHLCRenderer,
渲染器选项:{
烛台:没错
}
} ],
荧光灯:{
秀:没错,
showMarker:false,
工具提示:“xy”,
Y值:4,
格式字符串:
' \
日期:%s\
打开:%s\
您好:%s\
低:%s\
关闭:%s'
}
});
}
请帮忙。。 我应该得到这样的输出。

RGraph使用HTML5画布组件,Android 1.5打包的webkit中不包含该组件。RGraph运行良好,并在Android 2.1和2.2上进行了测试

HTML/Javascript方法的示例:

使用纪元的日历
3D Rotating cube使用HTML/Javascript

如果您要从Java代码调用,为什么不使用Gson(),这样您就可以从Java代码以JSON格式发送字符串,当您在Javascript代码中获得字符串时,您可以对其进行解析。即使我得到JSON,我也需要将其转换为2D数组。你能举一个例子说明你说的话吗?看,假设你在java中有一个变量,其中包含值[[1,2,3],[4,5,6],[7,8,9]],JSON字符串将是“[[1,2,3],[4,5,6],[7,8,9]”,使用Gson,在客户端,当你得到这个值时,你可以使用JSON.parse来解析它,以获取你的2D数组。事实上,我对java和java脚本还不熟悉。我不明白你在说什么。请给出一个示例代码来跟踪它。请看下面的链接()中的一个示例,当您得到JSON字符串时,请说[1,1,2,3,5,8,13],然后在javascript中可以执行var s=“[1,1,2,3,5,8,13]”;这也适用于嵌套数组,如您的示例var d=JSON.parse;这里d将像这样保存2D数组[1,1,2,3,5,8,13]