我正在尝试将解析后的XML从Web保存到本地存储。 我使用以下代码(此代码在HandleXML.java 中):
CODE
public void fetchXML(){
Thread thread = new Thread(new Runnable(){
@Override
public void run() {
try {
URL url = new URL(urlString);
HttpURLConnection conn = (HttpURLConnection)
url.openConnection();
conn.setReadTimeout(10000 /* milliseconds */);
conn.setConnectTimeout(15000 /* milliseconds */);
conn.setRequestMethod("GET");
conn.setDoInput(true);
conn.connect();
InputStream stream = conn.getInputStream();
XMLdata =String.valueOf(stream);
//createFile(XMLdata);
String filename = "XMLdata";
FileOutputStream outputStream;
try {
outputStream = openFileOutput(filename, Context.MODE_PRIVATE);
outputStream.write(string.getBytes());
outputStream.close();
} catch (Exception e) {
e.printStackTrace();
}
xmlFactoryObject = XmlPullParserFactory.newInstance();
XmlPullParser myparser = xmlFactoryObject.newPullParser();
myparser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES
, false);
myparser.setInput(stream, null);
parseXMLAndStoreIt(myparser);
stream.close();
} catch (Exception e) {
e.printStackTrace();
}
}
});
thread.start();
}
错误:无法解析方法openFileOutput。
如果我尝试使用建议的修复程序修复错误,它会创建一个方法,但它仍然不起作用。 有什么想法吗?
我认为原因是因为我不在MainActivity中使用它。如果是这样,你能建议我修复一下吗?因为我在HandleXML类中获取XML。
答案 0 :(得分:1)
public void fetchXml(Activity a) {
a.openFileInput(...);
}