将strings.xml从SD卡加载到应用程序android

时间:2014-04-25 05:23:37

标签: android

是否可以从SD卡加载strings.xml而不是应用程序res / values / ...在网上搜索但没有找到任何教程。我的想法是将xml下载到SD卡然后将strings元素保存到数组中。

public void stringsxml(){
        File file = new File(Environment.getExternalStorageDirectory()
                + ".strings.xml");

        StringBuilder contents = new StringBuilder();
        try {
              //use buffering, reading one line at a time
              //FileReader always assumes default encoding is OK!
              BufferedReader input =  new BufferedReader(new FileReader(file));
              try {
                String line = null; //not declared within while loop
                /*
                * readLine is a bit quirky :
                * it returns the content of a line MINUS the newline.
                * it returns null only for the END of the stream.
                * it returns an empty String if two newlines appear in a row.
                */
                while (( line = input.readLine()) != null){
                  contents.append(line);
                  contents.append(System.getProperty("line.separator"));

                }
              }
              finally {
                input.close();
              }
            }
            catch (IOException ex){
              ex.printStackTrace();
            }

            String data= contents.toString();

    }

2 个答案:

答案 0 :(得分:1)

嗯,实际上它是半可能的,但你必须创建一个派生LayoutInflater,它将用读取的字符串替换字符串代码。

我已经记录了我的尝试和失败以及初始实施here

总结:简单的字符串工作,字符串数组不

答案 1 :(得分:0)

不,这是不可能的。查看有关资源的Android decoumentation

  

Android SDK工具在构建时将应用程序的资源编译为应用程序二进制文件。要使用资源,必须在源代码树(项目的res /目录中)中正确安装它并构建应用程序。

资源内置于应用程序二进制文件中,您无法从文件中读取它们。