带有HTML文件的codenameone setURL在设备上不起作用

时间:2013-09-19 09:46:29

标签: java html mobile codenameone

我正在为其他设备的其他设备编写一个代号为app的应用程序。 在模拟器上一切正常,iv'有一些按钮,当按下时,可以访问HTML页面,实际代码是:

 wifi.addActionListener(new ActionListener(){
        public void actionPerformed(ActionEvent ev){
            Form form = new Form("WiFi");
            Container container = new Container();

            WebBrowser wb = new WebBrowser();
            container.addComponent(wb);
            wb.setURL("jar:///assets/html/wifi.html");

            System.out.println("url:"+wb.getURL());

            Command backCommand = new Command("Back") {
            public void actionPerformed(ActionEvent ev) {
                wifi.getComponentForm().showBack();
            }};

            form.addCommand(backCommand);
            form.setBackCommand(backCommand);
            form.addComponent(container);
            form.show();
        }
    });

当我第一次想要getURL()时,字符串为空;然后,当我想为Android设备(Android 4.3的Galaxy Nexus)构建时,当我点击按钮时它只返回一个空白页面。 我也试过像https://www.google.com这样的http链接,在模拟器上没问题,在设备上通常是空白页面。 然后我尝试修改html文件的位置,将其放在src中,就像图像文件(适用于设备),但仍然没有。 我检查了开发人员指南和我能找到的每个例子,每个人都没有遇到这个问题(在模拟器上我也没有)。谁能解决这个问题? 谢谢:))

1 个答案:

答案 0 :(得分:0)

将文件放在src目录的根目录中,直接指向该文件,而不使用资产层次结构,以使其在不同平台上正常工作。