java - 无法在 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
另外,我想知道我应该使用块还是应该使用任何其他模板引擎。?
在此先感谢,维谢什。
解决方案
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();
推荐阅读
- regex - 在 PowerShell 中使用正则表达式
- python - 在 Pyspark 中读取 CSV 文件引发错误 FileNotFound 错误
- excel - 索引具有多个部分的命名范围时的问题
- python - 用于计算日期差异的 Pandas 数据框分组函数
- azure-resource-manager - 错误:“如果启动模式已定义为 JobStartTime,则不应指定 OutputStartTime”
- node.js - s3.putObject 没有失败。但不上传图片
- entity-framework - linq 表达式树多对多 IQueryable 扩展
- c# - 我想成功,所以当我在空中右键单击跳跃一次时,我不能再这样做了
- scala - flink scala 流错误 java.lang.NoSuchMethodError: org.apache.flink.util.PropertiesUtil.getBoolean(Ljava/util/Properties;Ljava/lang/String;Z)Z
- android - ARCore Android Studio:我可以在搜索地面时更改或删除此图标吗?