【发布时间】:2014-11-06 20:39:59
【问题描述】:
我正在尝试将已解析的 XML 从 Web 保存到本地存储。 我正在使用以下代码(此代码在 HandleXML.java 中):
代码
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。
【问题讨论】:
-
为什么不把activity传递给方法呢?
-
如果你不介意告诉我,那看起来怎么样?
-
我不知道如何表达得更清楚......
-
getApplicationContext.openFileOutput("filename", Context.MODE_PRIVAT);如果你是这个意思,这行不通 -
我不是这个意思。将活动作为参数添加到方法中。然后,您可以在方法中调用
openFileInput的活动。
标签: java android xml android-activity save