2014-11-06 109 views
0

我试图将解析的XML从web保存到本地存储。 我使用下面的代码(这个代码是在HandleXML.java):在Android的内部存储上保存文件

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

你为什么不把活动传递给方法? – thatidiotguy 2014-11-06 20:43:38

+0

如果你不介意告诉我,那该怎么看? – 2014-11-06 20:49:01

+0

我不知道如何表达它比这更清晰...... – thatidiotguy 2014-11-06 20:49:32

回答

1
public void fetchXml(Activity a) { 
    a.openFileInput(...); 
} 
相关问题