Android openRawResource() не работает для рисования

Я пытаюсь создать поток ввода, делая это

InputStream is = (InputStream) getResources().openRawResource(R.drawable.image1);

но мне встречается ошибка "Ожидаемый ресурс типа raw" в отношении моего файла с возможностью рисования (R.drawable.image1). image1 - это png и в моей папке res/drawable.

Любые идеи???

Ответ 1

@Broatian В настоящее время у меня нет папки res/raw. Я нашел альтернативное решение: is = context.getResources().openRawResource(+ R.drawable.image1); + показывает дополнительные папки. Спасибо за помощь!

Ответ 2

Если вы хотите открыть свой png с помощью этого метода, вы должны поместить его в папку res/raw. Затем вы сможете получить доступ к png, используя R.raw.image1.

Другой вариант - сохранить его в папке с возможностью переноса, а затем преобразовать drawable в InputStream. См. Как читать удобочитаемые биты как InputStream

Я предполагаю, что вы знаете, как получить обратный код в противном случае в документации по ресурсам.

Ответ 3

Это потому, что они ожидают ресурс raw-типа, и вы передаете одноразовый тип. сделайте необработанную папку в папке res, а затем поместите свое изображение в необработанную папку.