2011-08-18 71 views
0

首先:請參閱我的問題Reading XML online and Storing It (Using Java)。閱讀已批准的答案和該答案下的評論。將XML文件保存到正在運行的Android項目

所以,我的問題在這裏:儘管我已經運行了鏈接問題中描述的過程,並且.xml文件保存到我的Android應用中的/ res/values文件夾中,但它並未顯示在所有 - 不是當我運行應用程序時,也不是在關閉應用程序之後。

有沒有人有關於如何解決這個問題的任何想法,以便當我生成文件時,即使在應用程序正在運行時,它也將立即可用,以供讀取和使用?

+0

如何在應用程序包中的res/value文件夾中寫入文件? – user370305

+0

如果你看看我的問題中的鏈接代碼,我實現了批准的答案代碼,並將文件目錄更改爲「/ Users/csatbu/Documents/workspace/Employee App/res/values/employeeInfo.xml」,其中是我的應用程序(Employee App)/ res/value文件夾中的目錄。 – Mxyk

+0

爲什麼你把XML文件放在你的應用程序的數據/數據/文件目錄中? – user370305

回答

1

只需使用此代碼,

FileOutputStream fOut = null; 
try { 
    fOut = this.openFileOutput("your xml file name.xml", MODE_PRIVATE); 
    try { 
     InputStream is = new FileInputStream("your source file"); 
     int size = is.available(); 
     byte[] buffer = new byte[size]; 
     is.read(buffer); 
     is.close(); 
     fOut.write(buffer); 
    } catch(Exception e) { 
     e.printStackTrace(); 
    } 
} catch (FileNotFoundException e) { 
    e.printStackTrace(); 
} finally { 
    try { 
     fOut.close(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

和你可以在處看到您的xml文件文件夾Thnx。希望這會幫助你。

+0

我對這裏有點困惑的唯一的東西是「你的xml文件名.xml」和「你的源文件」下的內容。如果我從網址拉下xml,是否應該在「您的xml文件名.xml」下輸入「http:// www .....」?如果是這樣,我應該把什麼放在「你的源文件」下? – Mxyk

+0

fOut = this.openFileOutput(「your xml file name.xml」,MODE_PRIVATE);你的xml文件name.xml是在data/data/packagename/file文件夾下創建的文件的名稱,意思是輸出文件名。並且InputStream = new FileInputStream(「你的源文件」);您的源文件意味着您想從網上讀取並寫入應用程序包的文件。您可以在inputstream中轉換文件然後使用它,或者如果文件已經存在於設備的外部存儲中,則使用其文件路徑。對不起,讓我們回答。 – user370305

1

如果您正在Java中或實際上在您的Android應用程序中運行XML解析,我並非100%確定。

如果您使用的是Java,請注意您的項目結構不在模擬器中 - 在運行之前,.apk已打包並安裝。在應用程序可以看到文件之前,您需要使用adb將文件推入模擬器(或您的Android設備)。

如果您正在訪問應用程序中的文件: 如果您使用諸如openFileOutput()之類的文件訪問方法,它將顯示在設備上的專用目錄中,這將是/ data/data // files/

但是,如果你使用「新建文件(」而非「context.openFileOutput」,那麼該文件是無論你把它。

相關問題