2014-11-07 71 views
1

我寫了一個小測試應用程序,通過NDK在Android上使用SDL2。它編譯並運行。但是,只要我嘗試打開文件,就會得到FileNotFound異常。我在我的eclipse workdir中添加了資產目錄並將文件放入其中。當我將項目導出到.apk文件時,我可以在7z中打開該文件,並看到有一個資產目錄中包含這些文件。但是,當代碼執行並嘗試打開assets/somefile.txt時,我得到一個FileNotFound異常。我如何打開我包含在apk中的文件?

谷歌到目前爲止告訴我,我可以把一個SD卡放在我的設備上,並且通過/ sdcard /訪問它。我想將這些文件包含在我的apk中。

如何訪問我放入資產的文件?或者我應該在哪裏放這些文件,我應該如何調整我的路徑,它可以在運行時訪問它們?

+1

它不是一個MVP的副本建議作爲問題涉及Java/SDK和我的C(++)/ NDK。 – marc40000 2014-11-07 01:31:25

+0

確實不是,但它是NDK問題的重複。基本上,apk內容不是文件系統文件,所以你的選擇基本上是使用assets api或者自己解析.apk zip結構。 – 2014-11-07 02:44:36

回答

-1

將在您的主要活動任何事情之前這段代碼 - >

if (Environment.getExternalStorageState(). equals (Environment.MEDIA_MOUNTED)) { 
File directory = new File (Environment.getExternalStorageDirectory() + + File.separator "YourFolderName"); 
directory.mkdirs(); 

    } 

給這個權限的清單XML - >

<uses-permission android: name = "android.permission.WRITE_EXTERNAL_STORAGE" /> 
+0

這到底是什麼?它是否將apk文件提取到外部存儲? – marc40000 2014-11-07 01:32:29

+0

這是第一步。使您可以創建目錄,以便用戶在設備上安排應用程序。現在,您將文件放入sdcard/yourfolder。你必須解釋什麼樣的表現會讓你的應用程序。你想如何打開這個文件。例如,爲了打開圖像,需要圖像視圖文本視圖並打開TXT文本。 – Kamuy 2014-11-07 02:11:04

+0

這不回答問題。 – 2014-11-07 02:46:52