如何使用Android内部存储?

时间:2012-10-08 06:40:12

标签: java android xml

我是java的初学者,我正在构建一个Android应用程序。

我想要一个包含文本的xml文件。 每当服务器发送更新时,我想要更改该文件中的某些行(我的意思是更新是通过删除已写入的文本的某些部分来更改该文件中的某些行并替换为更新)

我对创建,编写或读取文件一无所知。 当我搜索时,我发现内部存储最适合我。

但我不知道是否必须在任何目录中手动创建xml文件,或者只是使用下面的代码自动创建此文件?

    // If this is the first time run,execute one time code
    // create XML Internal store 

    String FILENAME = "My_XML_file";
    try{
        FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_APPEND);
    } catch (final IOException e) {
        e.printStackTrace();
    }

提前谢谢!

2 个答案:

答案 0 :(得分:0)

- 首先在Manifest.xml文件中提供External Storage permission

- 您可以使用JAXP & JAXB甚至CASTOR以更好的方式处理XML,但仍然内置DOMSAX进入Android。

  • 你可以使用这样的东西

    String s = "/sdcard/Myfolder/mytext.txt";

    File f = new File(s);

答案 1 :(得分:0)

您拥有的代码将在内部存储中创建一个文件,但您需要更多来轻松创建和维护XML文件。 我建议你使用Build in Android DOM Parser (Android developers site docs on XML Parse options)

我发现这个example解释了如何使用dom解析器从代码构建特定的(新的)XML文件。在创建输出流的上下文中:

StreamResult result = new StreamResult(new File("C:\\file.xml"));

您可能希望根据上面创建的输出流使用其他构造函数

StreamResult result = new StreamResult(fos);

以类似的方式,这个DOM库允许您使用DocumentBuilder.parse()

从输入流(可能从android openFileInput获取)中读取