首页 > 解决方案 > 无法在 Cordova 应用程序中导入 Chunk 主题

问题描述

我正在尝试在混合移动应用程序中使用 Chunk 模板引擎。我可以替换标签,但是我无法加载主题并需要一些帮助。

String templatePath = "src/com/test/xml/plugin/util/themes";
String themeLayers = "";
Theme theme = new Theme(templatePath, themeLayers);
Chunk c = theme.makeChunk("test");

c.set("fptime","testa");
return(c.toString());

在上面的代码中,当我这样做时theme.makeChunk("test")它不起作用,并且生成的 Chunk 不包含任何内容。

仅供参考——我的块文件名是 test.cxml

另外,我想知道我应该使用块还是应该使用任何其他模板引擎。?

在此先感谢,维谢什。

标签: javaandroidtemplateschunk-templates

解决方案


Android 与典型的服务器端使用有点不同。在服务器端应用程序中,主题资源可以打包到 jar 文件中,然后可以在类路径上访问。

在 Android 上,应用程序的部署方式略有不同,代码和资源的分离更加严格。

主题文件(即模板)通常在构建步骤中打包为资产,并且可以使用提供的 AndroidTemplates 提供程序加载。这个特殊的主题提供程序使用应用程序的 Context 进行初始化,因此它可以定位模板资源。

这里的 Chunk 主页上有一个示例:

http://www.x5software.com/chunk/examples/ChunkExample?example=android

将 test.cxml 文件放在 assets/themes/test.cxml

AndroidTemplates loader = new AndroidTemplates(getBaseContext());
Theme theme = new Theme(loader);
Chunk chunk = theme.makeChunk("test.cxml");
c.set("fptime", "testa");
return c.toString();

推荐阅读