android:在strings.xml中声明巨大的字符串

时间:2012-04-13 11:54:57

标签: android string

我的应用中有一个非常庞大的HTML字符串。

当我在代码中使用它时,一切都很好但是当我尝试在strings.xml中声明它时,我遇到了一些错误。有没有办法在strings.xml中制作字符串的简单副本?谢谢

2 个答案:

答案 0 :(得分:4)

HTML和XML是相同的基本语言,我不相信你可以将HTML存储在字符串中,为什么不保存html页面并将其与应用程序打包?


将页面保存为res中的html页面> raw然后调用这个方法

 String html = Utils.readRawTextFile(ctx, R.raw.rawhtml);

 public static String readRawTextFile(Context ctx, int resId)
     {
          InputStream inputStream = ctx.getResources().openRawResource(resId);

             ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();

             int i;
              try {
               i = inputStream.read();
               while (i != -1)
                  {
                   byteArrayOutputStream.write(i);
                   i = inputStream.read();
                  }
                  inputStream.close();
              } catch (IOException e) {
                  return null;
              }
                 return byteArrayOutputStream.toString();
     }

答案 1 :(得分:1)

错误可能出现在@ double quote single quote等特殊字符上,以克服它前缀\并且您的错误得到解决

如果您以编程方式分配相同的字符串,那么您也会发现相同的问题

String mString= "your huge string with @ error";

在这也你必须克服前缀反斜杠

 String mString= "your huge string with \@ error";