Я превращаю свое приложение в несколько похожих приложений и используя проект базовой библиотеки. Я хочу загрузить видео, которое будет в res/raw/welcome.m4a
в зависимых приложениях.Как ссылаться на ресурс не в проекте библиотеки, а только в зависимом проекте приложения?
Это как делается перед использованием проекта библиотеки:
vv.setVideoURI(Uri.parse("android.resource://"+getPackageName()+"/"+R.raw.welcome));
Это производит ошибку в моей библиотеке проекта, потому что res/raw/welcome.m4v
не существует, он будет только в папке App Project res/
, и будет отличаться для каждого приложения.
Моим текущим обходным путем является создание манекена res/raw/welcome.m4v
в проекте базовой библиотеки, чтобы он не стал жаловаться.
Итак, мой вопрос: как мне получить код в проекте библиотеки, который ссылается на ресурсы, которых нет в проекте библиотеки?
Я рекомендую передать хостинг-приложение в путь, который будет использоваться в вашем проекте библиотеки. IMHO, проект библиотеки не должен знать и не заботиться о том, где находится видео: исходный ресурс, локальный файл, URL-адрес rtsp, URL-адрес http и т. Д. – CommonsWare
Как мне это сделать? Сам код активности находится в проекте библиотеки. Мне нужно было бы настроить это внешне на активность. Я бы сделал это в файле строк? – pixelearth
Где-то проект хоста должен быть подключен к этой библиотеке. Где бы это ни было, передайте значение. Например, добавьте его в дополнение к «Intent», используемому для передачи управления этой активности из библиотеки. – CommonsWare