gpt4 book ai didi

android - jquery mobile 和 phonegap addJavascriptInterface

转载 作者:行者123 更新时间:2023-11-29 21:54:35 24 4
gpt4 key购买 nike

我正在使用 jQuery Mobile 和 PhoneGap 开发 Android 应用程序。这是我的 Activity :

public class xxx extends DroidGap {
/** Called when the activity is first created. */
private String FILENAME = "";
private static final String HTML_ROOT = "file:///android_asset/www/";
private Handler handler = null;
private static WebView webView = null;
public MyTeam team = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.init();
handler = new Handler();
FILENAME = getString(R.string.fileName);
//parsing data from file
String json = readFile();
team = parseJson(json);
appView.addJavascriptInterface(this, "MyTeam");
super.loadUrl("file:///android_asset/www/menu.html");
}
public String HW(){
return team.getTeamName();
}

这是我在 menu.html 中的 Javascript 代码:

$(document).ready(function(){
alert(MyTeam.HW()); // work perfectly
alert("name "+MyTeam.team.getTeamName()); //doesn't work!
});

所以问题是:

  • 我可以访问返回给我的 HW 函数 team.getTeamName();
  • 我无法访问 Activity 中的团队变量名称,因为 MyTeam.team.getTeamName() 不起作用。

看来我只能访问函数,不能直接访问公共(public)变量。

我做错了什么?

谢谢。

最佳答案

您不能直接访问 Java 对象字段。它就在 addJavaScriptInterface 的文档中.此外,如果您使用的是 PhoneGap,那么您应该只使用 write a plugin让我们担心 addJavaScriptInterface 失败的情况。

关于android - jquery mobile 和 phonegap addJavascriptInterface,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557062/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com