2012-02-23 60 views
0

我是一個Android新手,並在將內存存儲到內存時遇到了問題。我在android文檔中閱讀了關於它的教程並複製了代碼。如果我在模擬器中運行該應用程序,則會創建該文件並且一切正常,但是如果我在真實手機上運行它,我找不到該文件?當我使用openFileOutput()它應該被保存在Android/data/myApp/...應用程序的文件夾中,但實際上我的應用程序的這個文件夾不存在...:/在android手機上存儲文件

任何人都可以幫助我嗎?

這裏是我的代碼:

String FILENAME = "hello_file"; 
    String string = "hello world!"; 

    FileOutputStream fos; 
    try { 
     fos = openFileOutput(FILENAME, Context.MODE_PRIVATE); 
     fos.write(string.getBytes()); 
     fos.close(); 
    } catch (FileNotFoundException e1) { 
     // TODO Auto-generated catch block 
     e1.printStackTrace(); 
    }catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

+1

您是否已將此文件包含到清單文件中:\t''? –

+0

我得到,因爲我只寫信給內部存儲器 – user1086105

+0

oh noooo,現在我明白了,我搞砸了。當然Access_fine的位置是完全不同的!謝謝你的評論!現在它工作正常:) – user1086105

回答

0

的數據文件夾對所有用戶都是不可見的,除了用戶帳戶您的應用程序在運行時,您將需要root權限查看該文件夾的內容。

出於測試目的,您可以將其另存爲MODE_READ_WORLD(或其他),然後您應該可以看到它。不過,建議您在發佈應用時將其恢復爲MODE_PRIVATE。

+0

哦對不起,這是一個複製粘貼錯誤。它對MODE_WORLD_WRITEABLEMODE_WORLD_WRITEABLE不起作用... – user1086105

+0

您無法在/ data目錄中看到您的應用程序的文件夾,但您仍然可以使用cd命令更改它。 – ramdroid

+0

這也不起作用。其實我應該更精確:當我在虛擬模擬器中運行應用程序時,一切正常,文件已創建,我可以看到它...如果我使用usb調試模式在手機上運行應用程序,我甚至無法看到在eclipse的文件瀏覽器中運行應用程序時,至少在那裏我應該看到它的權利? – user1086105

0

在真實手機中,您無法訪問數據文件夾。只有電話根源可以訪問數據文件夾,但您可以在模擬器中檢查文件是否已創建

+0

所以我不能通過我的應用程序創建的文件瀏覽器訪問文件的模式世界可寫?我的情況是,我想在手機上錄製一些數據,將其保存到文件中,然後將其複製到我的電腦中... – user1086105

相關問題