Java 将文件保存在Android的内部存储器中
我正在尝试将解析后的XML从web保存到本地存储。 我正在使用以下代码(此代码位于HandleXML.java): 代码Java 将文件保存在Android的内部存储器中,java,android,xml,android-activity,save,Java,Android,Xml,Android Activity,Save,我正在尝试将解析后的XML从web保存到本地存储。 我正在使用以下代码(此代码位于HandleXML.java): 代码 public void fetchXML(){ Thread thread = new Thread(new Runnable(){ @Override public void run() { try {
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
如果我尝试用建议的修复方法修复错误,它会为我创建一个方法,但仍然不起作用。
有什么想法吗
我想原因是我没有在主要活动中使用它。如果是的话,你能给我一个建议吗?因为我在HandleXML类中获取XML。为什么不将活动传递到方法中?如果您不介意告诉我,那会是什么样子?我不知道如何更清楚地表达它…
getApplicationContext.openFileOutput(“filename”,Context.MODE\u PRIVAT)代码>如果你是这个意思,这不起作用我不是这个意思。将活动作为参数添加到方法中。然后,您可以在方法中调用活动openFileInput
。
public void fetchXml(Activity a) {
a.openFileInput(...);
}