2014-06-08 52 views
0

我希望我的Android應用程序在手機的內部存儲中創建公用文件夾。我想保存一些文本文件,即使在應用程序卸載後我也想保留這些文件。Android在interanl存儲中創建公共目錄,在卸載後仍然存在

目標是創建一些我想轉移到我的電腦進行進一步分析的TXT。 我想嘗試使用Environment.DIRECTORY_DOCUMENTS,但目標手機已老,並且沒有該文件夾。

我已閱讀文檔,但找不到任何解決方案。我也嘗試硬編碼文件夾,但仍然不會被創建。我只想擁有一個像照片相機文件夾的文件夾。我試過this但它不起作用。

這裏是我使用的代碼:

File file = new File("/folder to create here", "name of file here" + File.pathSeparator + "txt"); 
if (!file.mkdirs()) 
    Log.e(getClass().toString(), "Save Data -> Directoy not created"); 

try { 
    fos = new FileOutputStream(file); 
    fos.write(saveString.toString().getBytes()); 
    fos.flush(); 
    fos.close(); 
} 
catch (Exception e){ 
    if (e instanceof FileNotFoundException) { 
     Toast.makeText(getApplicationContext(), "Could not create file, please try again", Toast.LENGTH_LONG).show(); 
     e.printStackTrace(); 
    } 
    if (e instanceof IOException) { 
     Toast.makeText(getApplicationContext(), "Could not write in file, please try again", Toast.LENGTH_LONG).show(); 
     e.printStackTrace(); 
    } 
} 

有沒有辦法做到這一點。有許多像viber這樣的應用程序可以在根中創建文件夾。

在此先感謝您的幫助。

回答

0

據我所知,沒有這樣的機制來創建一個持久的世界可寫目錄。內部存儲中的應用程序數據目錄在卸載後將被刪除。

由於您的設備已連接到PC(對嗎?),這裏是我的建議。

當你的設備連接到您的PC,在PC上,使用adb工具來創建在/數據/本地/ tmp目錄

adb shell mkdir /data/local/tmp/public_write 
adb shell chmod 777 /data/local/tmp/public_write 

以及應用中的一個公共可寫目錄,寫上你想要的數據以保存到/data/local/tmp/public_wirte/data.txt

在您的電腦中,只要您的設備連接到您的電腦並且您的設備的USB調試是通過adb pull訪問文件啓用。

adb pull /data/local/tmp/public_write/data.txt 
相關問題