我想将数组数据传递到 URL。
我的代码是:
String[] pointArray=(String[]) hashtable.get("point");
// where all values are coming from hashtable of my webservice.I want to pass this array as a chart data for line graph.
BrowserFieldConfig myBrowserFieldConfig = new BrowserFieldConfig();
myBrowserFieldConfig.setProperty(BrowserFieldConfig.NAVIGATION_MODE,BrowserFieldConfig.NAVIGATION_MODE_POINTER);
BrowserField browserField = new BrowserField(myBrowserFieldConfig);
add(browserField);
String url="http://chart.apis.google.com/chart?&cht=lc&chco=000000&chds=0,10&chdlp=b&chxt=x,y" +
"&chg=1.04,0,5,1&chds=0,30&chco=3072F3,ff0000,00aaaa&chls=2,4,1&chm=s,FF0000,0,-1,0|s,0000ff,1,-1,0|s,00aa00,2,-1,0" +
"&chs=480x280&chof=validate&chd=t:100,200,300,400,500,600,700&chd=t:"+point";
browserField.requestContent(url);
但它给了我这个错误:
The parameter 'chd=t:[Ljava.Lang.String@d297c570f' does not match the expected format.
我想将我的数组传递到此 URL 以获取图表数据。如何解决这个问题?
最佳答案
在网址
String url="http://chart.apis.google.com/chart?&cht=lc&chco=000000&chds=0,10&chdlp=b&chxt=x,y"
+"&chg=1.04,0,5,1&chds=0,30&chco=3072F3,ff0000,00aaaa&chls=2,4,1&chm=s,FF0000,0,-1,0|s,0000ff,1,-1,0|s,00aa00,2,-1,0"
+"&chs=480x280&chof=validate&chd=t:100,200,300,400,500,600,700&chd=t:"
+point;
您的点将使用 point.toString() 进行转换并附加到这部分的 url
"&chd=t:"+point;
这是chd第二次出现在url中。因此实际上只考虑最后一个 chd 值。第一个 chd=t:100,200,300,400,500,600,700 不被考虑。
如果你想通过 chd 它必须位于 format chd=t:val,val,val 其中 val 表示数据中的值。请参阅an example with a data chd=t:-5,30,-30,50,80,200
并且 chd 在 url 中只能出现一次。
因此您的网址代码将是这样的:
String url="http://chart.apis.google.com/chart?&cht=lc&chco=000000&chds=0,10&chdlp=b&chxt=x,y"
+ "&chg=1.04,0,5,1&chds=0,30&chco=3072F3,ff0000,00aaaa&chls=2,4,1&chm=s,FF0000,0,-1,0|s,0000ff,1,-1,0|s,00aa00,2,-1,0"
+ "&chs=480x280&chof=validate&chd=t:"+<comma separated list of values>;
关于java - 如何使用 Google Line Chart API 在 Blackberry 应用程序中传递动态数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23578929/