如何使用java检查xml文件是否存在?如果没有-创建它

如何使用java检查xml文件是否存在?如果没有-创建它,java,android,xml,file,Java,Android,Xml,File,类似于 if(!getContentView(R.layout.mainfile).exits){ //create the xml file in the layout folder here setContentView(R.layout.mainfile); initvar(); } else { initvar(); } 另一个小问题是:我可以用Java从零生成任何XML文件吗?(是或否)生成的R.java引用的资源(在/res目录中的XML)被编译成resources.a

类似于

if(!getContentView(R.layout.mainfile).exits){
  //create the xml file in the layout folder here
  setContentView(R.layout.mainfile);
  initvar();
}
else
{
initvar();
}
另一个小问题是:我可以用Java从零生成任何XML文件吗?(是或否)

生成的
R.java
引用的资源(在/res目录中的XML)被编译成resources.arsc文件,因此这些XML文件甚至不像设备上的普通文件那样可访问。此外,“if exists”语句是在编译时完成的:如果您在代码中引用的资源没有定义,它将不会编译。因此,无需在运行时进行检查


一般来说,对于布局文件,您可以使用例如a从设备加载XML文件,然后将其传递给
LayoutInflater.inflate()
。不知道你为什么要这样做。

我需要创建这样一个程序:一个人第一次打开程序时,它会要求他列出他拥有的所有房间。然后为每个房间创建一个包含元素的布局。然后将其保存到首选项。下次他打开程序时,它会自动打开包含文件室的xml文件。他还可以打开首选项并添加更多的文件室,因此程序将编辑xml以添加文件室的新布局(或者删除旧文件并生成一个带有+1布局的新xml)。有更好的方法吗?据我所知,您所需要的只是一个ListView类型的布局,它将为每个房间填充一个视图。它基本上归结为膨胀一个包含相关元素的“通用”视图(例如,房间大小的EditText),并根据保存的“首选项”设置元素的值。这并不需要每次都使用不同的布局,只需要使用其中一个布局,即可使用先前保存的数据调整参数。换句话说,您可以从一个布局定义在ListView中创建多个视图。因为它们显示房间的温度,所以我需要同时查看所有视图。所以我有一个线性布局(h),里面有线性布局(v)。我让它们都可以点击,所以如果你点击它们,布局会变成橙色,变得更宽,+-按钮会改变温度。我不确定我能想象出你想要什么。无论哪种方式,都可以从布局中展开视图,并将其添加到每个房间的一个线性布局中。不过,ListView听起来更实用:您可以有一个对话框或新的活动,当您单击该项目时,可以在其中编辑该项目。或者使用PreferenceActivity提供的功能和可选层次结构。4个房间名称位于顶部,两个文本视图分别为“现在温度”和“所需温度”(使用+-)进行设置)。自动按钮使菜单弹出。