2011-07-19 14 views

回答

6

那麼,你有機會獲得stdio.h中。所以,如果它在一個已知的地方(比如在SD卡上),你可以將它當作路徑使用。網絡上有很多關於使用stdio(fopen,fclose等)的熱門教程。

問題是你綁定到apk本身的資源(無論是在res/raw還是資產中),安裝後都會保留在apk中。更糟糕的是,默認情況下,它們將被壓縮,這使得閱讀不可行。這可以避免,最簡單的方法是將資產重命名爲具有.mp3擴展名(或其他)。這是因爲默認情況下.mp3不壓縮,不管它是否是mp3文件)。如果您不想使用.mp3命名所有資產,還可以使用其他擴展名以及告訴工具不要壓縮數據的方法。

所以,你有幾種選擇在這裏:

  1. 從網上下載你的資源,你的第一個跑,把它們放在一個不顯眼的地方(這可能是最好的從SDK獲取路徑,當你做下載),並使用它。

  2. 將您的資源存儲在apk中(記住資產文件夾中的.mp3擴展名)。在第一次運行時,將資產提取到您有權訪問的文件夾(並且不會惹惱用戶),並從那裏使用資源。

  3. (我所做的)將你的資源存儲在apk中(.mp3),並使用jni直接從apk中讀取。是的,jni有點慢,但不管怎麼說,你都不應該從文件系統讀取數據,當然也不是在性能臨界點。 Nvidia有一些非常有用的代碼可以使用,你可以找到它here,如果我還記得它在示例代碼中。在libs文件夾裏有一些很好的通用庫,你可以用它來匹配stdio,除了它也從apk本身讀取。

希望它有幫助。

+0

聽起來不錯。我現在需要的只是一個目錄結構,通常可以找到照片,視頻,音樂等。我的意思是,當您與手機拍照時,它通常會轉到哪個文件夾? – Emmanuel

1

我沒有使用這一招一次:

mv $file lib/lib%${file}.so 
相關問題