Как определить абсолютный путь для конкретного файла из активов? - PullRequest
5 голосов
/ 20 января 2011

В приложении для iPhone я просто пишу одну строку, чтобы получить полный путь к определенному файлу (как показано ниже).

NSString *strPath=[[NSBundle mainBundle] pathForResource:@"myjavascript" ofType:@"js"];

Мой вопрос: как получить полный путь для определенного файла, которыйнаходится в папке Assets в Android .

Образец изображения.

alt text

1 Ответ

7 голосов
/ 20 января 2011

Активы скомпилированы в файл .apk (в основном это zip-файл).Вы не можете получить системный путь в zip-файл.Вы должны вручную разархивировать .apk в какую-либо папку и получить путь файловой системы к папке asset и файлам внутри этой папки.

Но, похоже, вам не нужен путь к ресурсуфайлы.Вы должны изучить следующие функции:

Context.getAssets ()
AssetManager.open (String fileName)
AssetManager.openFd (String fileName)

Эти функции позволяют вам получить поток ввода или дескриптор файла для любого из ваших активов.Вот пример:

AssetManager assetManager = getAssets();
InputStream assetIn = assetManager.open("excanvas.js");
//do something with assetIn...  

Вам необходимо указать путь к вашему ресурсу относительно папки asset .

...