【发布时间】:2014-03-11 05:45:01
【问题描述】:
我正在尝试构建一个 android 应用程序,该应用程序从 java 获取输入 [array values] 并传递给 java 脚本和 html 文件。我已经创建了网络视图概念。但是当我执行应用程序时不起作用。这是代码。 HTML 文件将获取数组值并绘制图形
package com.example.helloworld;
import android.os.Bundle;
import android.webkit.JavascriptInterface;
import android.webkit.WebView;
import org.apache.cordova.*;
public class MainActivity extends DroidGap {
WebView webview;
final class ChartDataLoader{
@JavascriptInterface
public double[][] getData(){ double[][] data = { {10,10}, {20, 10} }; return data; }
}
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
webview.addJavascriptInterface(new ChartDataLoader(), "dataLoader");
webview.loadUrl("file:///android_asset/www/index.html");
}
}
HTML 文件
<html>
<head>
<script type="text/javascript" src="jscharts.js"></script>
</head>
<body>
<div id="chartcontainer">You should see a chart here.</div>
<script type="text/javascript">
myData = dataLoader.getData();
alert("DataReceived: " + myData.length);
alert("Element 0 : " + myData[0]);
var myChart = new JSChart('chartcontainer', 'line');
myChart.setDataArray(myData);
myChart.draw();
</script>
</body>
</html>
【问题讨论】:
-
请发布 logcat 错误
-
我无法发帖,因为这个字段太长了..
-
@user3335796 什么是
DroidGapwebview 在哪里初始化? -
DroidGap 是模拟器名称。我正在使用 DroidGap 而不是活动
-
@user3335796 如何使用模拟器名称。它必须是扩展 Activity。为什么
//setContentView(R.layout.activity_main);被评论了。 webview在哪里初始化
标签: java javascript android html webview