【问题标题】:Pass path from Assets in AndroidAndroid中资产的传递路径
【发布时间】:2013-11-26 08:02:01
【问题描述】:

我尝试在我的 android 项目中使用一个名为 Chunk Templates 的模板引擎(类似于速度)(在 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”中 在我的设备上运行它时,模板引擎说,找不到模板。

我必须使用什么路径?

您好, 哈兹蒂

【问题讨论】:

  • Typeface typeFace = Typeface.createFromAsset(activity.getAssets(), "fonts/roboto-light.ttf"); 用于获取字体,相应更改以使用主题
  • 好主意,但 goolge 说它仅适用于字体...=((也 createFromAsset)
  • 以下解决方案是否有效?
  • 我都试过了,但都没有成功:(

标签: java android chunk-templates


【解决方案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);

谢谢大家帮助我!

【讨论】:

    【解决方案2】:

    试试这个:

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

    【讨论】:

    • 感谢您的回答,但我需要一个路径来实例化我的 Theme 类 new Theme(String path)
    【解决方案3】:

    试试这个。

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

    【讨论】:

    • 嗨,如果我尝试这个,我得到了错误...=(: File f = new File("file:///android_asset/themes/template.chtml"); System.out.println (f.exists());
    【解决方案4】:

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

    编辑:

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

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

    【讨论】:

    • 嗨,感谢您的回答-使用这种方法我可以将文件放入流中,但我的主题变量无法处理流。它需要一个字符串,没有它应该是 chtml 文件所在的路径
    • 据我所知,没有办法获得绝对路径,您可以通过使用输入流和指向新文件的输出流来创建File。检查块模板文档或向作者提出此问题。
    • 是的,可能是另一种方法,但不是最好的方法;)
    猜你喜欢
    • 2023-03-31
    • 1970-01-01
    • 2017-08-07
    • 2011-06-14
    • 2021-11-16
    • 2021-11-17
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多