从Android中的资产传递路径

时间:2013-11-26 08:02:01

标签: java android chunk-templates

我尝试在我的android项目中使用名为Chunk Templates(类似于velocity)的模板引擎(get https://code.google.com/p/chunk-templates/)。在使用它时,我需要访问我的资产文件夹中的模板文件:

Theme t = new Theme("path to file"); //path getAssets()..? file:///....?
Chunk c = t.makeChunk("template"); //template.chtml
c....

“template.chtml”位于我的eclipse文件夹“assets \ themes \ template.chtml”中 在我的设备上运行时,模板引擎会说,找不到模板。

我必须使用哪条路径?

问候, Hamzty

4 个答案:

答案 0 :(得分:1)

好的,我写了一封给作者的电子邮件,该解决方案仍未发布,将在未来的发行版中添加。我得到了一个实验版本,代码如下所示:

AndroidThemeLoader loader = new AndroidThemeLoader(getBaseContext());
Theme theme = new Theme(loader);
Chunk chunk = theme.makeChunk("test#subtest");
chunk.set("name", "Dennis");
String html = chunk.toString();
String mime = "text/html";
String encoding = "utf-8";
WebView myWebView = (WebView)this.findViewById(R.id.myWebView);
myWebView.getSettings().setJavaScriptEnabled(true);
String baseURL = null;
myWebView.loadDataWithBaseURL(baseURL, html, mime, encoding, null);

谢谢大家的帮助!

答案 1 :(得分:0)

试试这个:

AssetFileDescriptor descriptor = getAssets().openFd("your file");
FileReader reader = new FileReader(descriptor.getFileDescriptor());

答案 2 :(得分:0)

尝试InputStream instream = getAssets().open("file.xxx");从您的Activity类访问assets文件夹中的文件。

编辑:

你也可以这样试试:http://www.x5software.com/chunk/examples/ChunkExample?example=string&loc=en_US#input-java-EG1

需要一些手动硬编码,但我认为它会起作用。

答案 3 :(得分:0)

试试这个。

file:///android_asset/themes/template.chtml