【问题标题】:call local image in drawable with html (WebView)使用 html (WebView) 在 drawable 中调用本地图像
【发布时间】:2011-08-24 13:16:30
【问题描述】:

这个问题已经在论坛中被问过几次,但在我的代码中,我无法显示我的图像。我认为这不是正确的方法:

webViewContact.loadData(db.getParametres().get(0).getInformationParam(), "text/html", "utf-8");

getInformationParam() 恢复 HTML 代码,例如:

<img src=\\"file:///android_asset/logoirdes_apropos.jpg\\"/> <b>Test</b>

我的图像文件是可绘制的,我该如何显示它?

【问题讨论】:

  • 浏览这个link希望你能有所收获。谢谢。

标签: java android


【解决方案1】:

使用 loadData() 加载的 HTML 有一些限制。建议使用 loadUrl:

webViewContact.loadUrl("file:///android_asset/" + db.getParametres().get(0).getInformationParam())

您可以尝试以下代码,您的文件将位于:htmlFile。您现在当然可以在 UI 线程中执行此操作,但如果文件很大,您可能会考虑稍后在实际生产中将其移至 AsyncTask。

String directory = Environment.getExternalStoragePublicDirectory("html_cache");
Writer output;
    try {
      directory.mkdir();
      File htmlFile = new File(directory + File.separator + "give_a_name.html");
      String content = db.getParametres().get(0).getInformationParam();
      // assumes default encoding is OK!
      output = new BufferedWriter(new FileWriter(htmlFile));
      output.write( aContents );
    }
    finally {
      output.close();
    }

【讨论】:

  • 不,getInformationParam返回html代码,它不是html页面,只是代码。还有其他想法吗?
  • 您可以将共享目录作为文件写入,然后尝试从那里加载?
  • 我直接从数据库中获取 html 代码,根据我的培训规范,我不想在没有创建文件的情况下应用它,但如果我应该......我该怎么做?
猜你喜欢
  • 2019-10-04
  • 1970-01-01
  • 2021-03-18
  • 2011-11-04
  • 1970-01-01
  • 2010-10-19
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多