如何在android中创buildxml文件

伙计们,我有一个问题,当我们在android中编写一个xml的时候,我的代码给了一个Exception作为权限被拒绝。 任何人都可以告诉它将如何被删除。

package com.ex.createXml; import android.app.Activity; import android.os.Bundle; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import org.xmlpull.v1.XmlSerializer; import android.os.Environment; import android.util.Log; import android.util.Xml; import android.widget.TextView; public class createXml extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); File newxmlfile = new File("/data/new.xml"); try{ newxmlfile.createNewFile(); }catch(IOException e) { Log.e("IOException", "Exception in create new File("); } FileOutputStream fileos = null; try{ fileos = new FileOutputStream(newxmlfile); }catch(FileNotFoundException e) { Log.e("FileNotFoundException",e.toString()); } XmlSerializer serializer = Xml.newSerializer(); try{ serializer.setOutput(fileos, "UTF-8"); serializer.startDocument(null, Boolean.valueOf(true)); serializer.setFeature("http://xmlpull.org/v1/doc/features.html#indent-output", true); serializer.startTag(null, "root"); serializer.startTag(null, "Child1"); serializer.endTag(null, "Child1"); serializer.startTag(null, "Child2"); serializer.attribute(null, "attribute", "value"); serializer.endTag(null, "Child2"); serializer.startTag(null, "Child3"); serializer.text("Some text inside child 3"); serializer.endTag(null,"Child3"); serializer.endTag(null,"root"); serializer.endDocument(); serializer.flush(); fileos.close(); //TextView tv = (TextView)findViewById(R.); }catch(Exception e) { Log.e("Exception","Exception occured in wroting"); } } } 

Solutions Collecting From Web of "如何在android中创buildxml文件"

试试这个在android中创build或读取文件。 使用文件

并创build/读取XML文件尝试使用XML

如果您需要任何有关xml的演示项目,请告诉我,我会尽力给您

 File newxmlfile = new File("C:/new.xml"); 

您正在尝试在C盘上创build您的文件.Android是一个基于Linux的系统,因此没有驱动器。 存储设备可以安装到根(“/”)或任何其他文件夹。

为您的应用程序/data/<pakcage-name>文件夹可用。 试着写在那里。 此外,你可以尝试写入外部存储,但你的progrma将需要一个权限来做到这一点:

  <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> 

这应该在你的清单文件中提到。

在这里阅读更多。

这似乎是你试图创build一个文件在c:/这不是一个有效的path标识符在Android系统的位置。 Android来自Linux环境。

http://developer.android.com/guide/topics/data/data-storage.html按照这个链接了解更多关于android上的数据存&#x50A8;

如果你想在本地PC上创build一个文件,你首先需要在你的Android设备上创build一个文件,然后从设备(仿真器或真实手机)

你不能写信到那个地方。

 File newxmlfile = new File("/data/new.xml"); 

您可以将其保存到内部存储器或caching中。

由于Android安全模式,您无法写入/data/new.xml 。 这是试图正确的根文件系统,这就是为什么你被拒绝的权限。 尝试没有主导斜线。

 FileOutputStream fos = openFileOutput("new.xml", MODE_PRIVATE); fos.write(...); 

这应该把它相对于你的应用程序。

你有没有为此添加必要的权限?

http://developer.android.com/reference/android/Manifest.permission.html

允许写入SD卡

你可以使用这个:

 File xmlDir = new File(Environment.getExternalStorageDirectory().getPath() + "/data/new.xml");