如何在运行时创建/更新/加载HTML文件

时间:2013-08-24 07:31:18

标签: java android html android-webview

我需要在运行时创建并打开HTML文件。

    <html>
      <body>
        <form name="Home" method="POST" action='' >
          <input id='Title' type='hidden' value="Mr" name='Title'/>
          <input id='Name' type='hidden' value="bala" name='Name'/>
           .
           .
           .
         </form>
         <script language='javascript'>
            //java script
         </script>
      </body>
    </html>

在上面的格式中,我需要在运行时更新value字段。更新后我想在我的Android应用程序中打开这个html文件。

更新 我知道我们可以像下面那样创建HTML文件..

public static String createHTML(Study study) {
    String format =
            "<html>" +
            "<body>" +
            "<form name="Home" method="POST" action='' >" +
            "<input id='Title' type='hidden' value='%d' name='Title'/>" +
            .
            .
            .
            .
            "   </body>" +
            "</html>";
    return String.format(format, study.title, study.name...);
}

但我想知道是否还有其他方法来创建HTML文件,例如使用XmlSerializer创建XML文件 谢谢!

4 个答案:

答案 0 :(得分:4)

如果要运行html文件运行时,请尝试使用此代码。

 webview_data.loadDataWithBaseURL("file:///android_asset/", htmlString,"text/html", "UTF-8",null);

并确保您是否要使用任何css或javascript文件,然后将其放入android assest文件夹..

答案 1 :(得分:1)

  

如何创建html文件。

  1. 打开文件
  2. 编写包含HTML
  3. 的文本字符
  4. 关闭文件
  5. 如果您需要更多详细信息,Oracle Java教程将介绍基本的Java结构,以及如何进行简单的文件I / O.


    在不同的环境中(例如在网络服务中)还有其他更“优雅”的方式来做这种事情,但如果这是你需要做的总和,那么......保持简单。


      

    ...有没有其他方法可以创建HTML文件,比如使用XmlSerializer创建XML文件。

    不是HTML。您可以通过这种方式创建XHTML。

    话虽如此,以这种方式构建HTML或XHTML听起来像是一个糟糕的主意。与字符串连接或基于模板的方法相比,生成的代码既不可读也不高效。

    (试试看......)

答案 2 :(得分:1)

在Android中生成HTML页面确实比手动字符串连接更好。有一些灵活的Java库可以为您完成(回想一下,您可以非常轻松地在Android项目中使用常规Java库。)

答案 3 :(得分:0)

  1. 创建MyHtml文件

    MyHtml.html

    <html>
      <body>
        <form name="Home" method="POST" action='' >
        <input id='Name' type='hidden' value="MyName" name='Name'/>
        <input id='FirstName' type='hidden' value="MyFName" name='FirstName'/>          
           .
           .
           .
         </form>
         <script language='javascript'>
            //java script
         </script>
      </body>
    </html>
    
  2. 存储在Assets文件夹中,为MyHtml.html

  3. 在我的应用中阅读并更新此文件,如下所示

    InputStream is = getAssets().open("MyHtml.html");
        int size = is.available();
    
        byte[] buffer = new byte[size];
        is.read(buffer);
        is.close();
    
        String str = new String(buffer);
        str = str.replace("MyName", "James Bala");
        str = str.replace("MyFName", "James");
        .
        .
        .
    
  4. 然后我将我的html文件加载到webView中,如下所示

    myWebView.loadData(str, "text/html; charset=utf-8", "UTF-8");
    
  5. 正如斯蒂芬的建议最终我以这个解决方案结束了。谢谢@Stephen