在发布这个问题之前,我已经搜索了所有地方以获得一些类似的问题,我找到了问题,但没有回答对我有效,我使用了getResources,这种方法也给了我一个错误,说明了Undefined Method,使用这个或上下文也dint工作,我只需要在Android应用程序中读取和写入xml,xml应该存储在我的应用程序的res文件夹或任何其他标准的文件夹中,现在我使用下面的代码,请帮我这个。非常感谢..Max
DocumentBuilderFactory docBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = docBuilderFactory.newDocumentBuilder();
Document doc = docBuilder.parse (new File("savecredentials.xml"));
使用getResources没有帮助,如何在未定义时使用getResources,如果我使用上下文它不起作用,这个的任何简单解决方案。
答案 0 :(得分:0)
您已写入new File("savecredentials.xml")
,这意味着您正在从应用程序文件夹中阅读savecredentials.xml
。您尚未设置res
文件夹的路径。
你必须提到你正在阅读文件的路径。
例如,如果资产文件夹中有文件,则可以编写
AssetManager mg = getResources().getAssets();
InputStream myInput = null;
try {
myInput = mg.open("File name");
if(myInput != null) {
System.out.println("File exists in assets");
}
} catch (IOException ex) {
System.out.println("File not exists in assets");
}
XmlPullParserFactory factory = null;
factory = XmlPullParserFactory.newInstance();
factory.setNamespaceAware(true);
XmlPullParser xpp = null;
xpp = factory.newPullParser();
InputStreamReader reader = new InputStreamReader(myInput);
xpp.setInput(reader);
int eventType = 0;
eventType = xpp.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
if(eventType == XmlPullParser.START_TAG) {
} else if(eventType == XmlPullParser.END_TAG) {
} else if(eventType == XmlPullParser.TEXT) {
}
eventType = xpp.next();
}
此代码用于检查天气文件是否存在于资产中?
从res
文件夹