【问题标题】:Resources and Codename One资源和代号一
【发布时间】:2016-02-17 21:26:24
【问题描述】:

我正在使用 Codename One,我想在我的应用程序中插入大量 html 页面,然后将它们加载到 WebView 中。我想在资源中插入 html 文件。我如何在资源中插入文件,也许是通过使用 GUI 构建器数据?在 WebView 中加载 html 文件的代码是什么?

【问题讨论】:

    标签: codenameone


    【解决方案1】:

    有几种方法可以做到这一点。如果你可以将每个单独的文件打包成一个文件,你可以使用这样的东西:

    1. test.html 放入默认包中
    2. 创建WebBrowser webBrowser = new WebBrowser(); 并添加到您的表单中
    3. webBrowser.setUrl("jar:///test.html")

    如果您需要复杂的 HTML/CSS/JavaScript 层次结构,则可以将所有文件放入根 html 包 (src/html)。 然后使用如下代码从 html 包中打开一个 HTML 文件:

    try {
        browserComponent.setURLHierarchy("/htmlFile.html");
    } catch(IOException err) {
        ...
    }
    

    请注意,路径是相对于 html 目录并以 / 开头但在您应该使用的 HTML 文件中 相对(非绝对)路径。

    构建服务器将tar该包的全部内容并添加 将html.tar 文件放入本机包中。这个tar 是无缝的 当您实际需要资源并且仅在设备上提取 使用新的应用程序版本(并非每次发布时)。

    来自manual

    作为旁注,资源文件确实支持添加任意数据文件,但层次结构解决方案是更好的方法。

    【讨论】:

    • 我为答案添加了另外两个选项
    • 我在我的 StateMachine.java 文件中使用带有此代码的 WebBrowser 组件:@Override protected boolean onMainItem1() { String baseUrl = "jar:///Prova.html"; findWebBrowser().setURL(baseUrl);返回真;这段代码在模拟器中工作,但不在构建中。我想在我的应用中插入一个网站(一个复杂的 HTML/CSS/JavaScript 层次结构)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-08
    • 2011-08-05
    • 1970-01-01
    相关资源
    最近更新 更多