как получить доступ к ресурсам в проекте библиотеки Android
Я строю проект библиотеки Android, которому нужны внутренние статические ресурсы (изображения / XML и т. Д.).
Тогда мне интересно, где я могу разместить эти ресурсы и как получить к ним доступ?
Так как я положил ресурсы вassets
папка. И я использую AssetManager для доступа к ресурсам:
public class DataProvider {
byte[] getDrawableData(int num) {
AssetManager am = Resources.getSystem().getAssets();
InputStream is = null;
try {
is = am.open("t.jpg");
} catch (IOException e) {
return "".getBytes();
}
if (is != null) {
Drawable dw = Drawable.createFromStream(is, null);
Bitmap bm = ((BitmapDrawable) dw).getBitmap();
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bm.compress(Bitmap.CompressFormat.JPEG, 100, stream);
return stream.toByteArray();
}
return "".getBytes();
}
}
Однако я получил ошибку:W/System.err(19583): java.io.FileNotFoundException: t.jpg
В чем проблема?
КакSankar V
сказал, что проект библиотеки не поддерживает необработанные активы. Тогда кажется, что я должен положить ресурсы подres
папка.
Но я пытался использоватьResources.getSystem().getResources()....
метод, который не может получить то, что я хочу. И люди сказали, что этот метод может получить только ресурсы уровня системы, а не ресурсы уровня приложения.
Если это правда. Означает ли это, что я должен держать ссылку наContext
возражать где-нибудь, я хочу получить какие-либо ресурсы?