Android, как получить идентификатор ресурса из растрового изображения / рисования в памяти? - PullRequest
0 голосов
/ 26 ноября 2011

Я работаю с архивистом, который загружает файлы, на которые есть ссылки из RSS-канала.Я не думаю, что в данный момент он когда-либо сохраняется на диск.

  1. Если я не сохраню на диск, действительно ли у меня даже будет идентификатор ресурса?
  2. Если да, то как мне его найти?

обязательный пример кода:

URL url = new URL("http://someurl.com/rss");
            DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
            DocumentBuilder db = dbf.newDocumentBuilder();
            Document doc = db.parse(new InputSource(url.openStream()));
            NodeList postList = doc.getElementsByTagName("item");
            thumbIds = new Integer[postList.getLength()];
            for (int i = 0; i < postList.getLength(); i++) {
                // extract post
                Node post = postList.item(i);
                Element postElement = (Element) post;
                NodeList titleList = postElement.getElementsByTagName("media:thumbnail");
                Element titleElement = (Element) titleList.item(0);
                String myUrl = titleElement.getAttribute("url").toString();
                if(myUrl != null) {

                    thumbs.add(new BitmapDrawable(fetchBitmap(myUrl)));
                }
            }
public static Bitmap fetchBitmap(String url) {

        URL newurl = null;
        try {
            newurl = new URL(url);
        } catch (MalformedURLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        Bitmap returnBitmap = null;
        try {
            returnBitmap = BitmapFactory.decodeStream(newurl.openConnection()
                    .getInputStream());
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return returnBitmap;
    }

заранее спасибо!

1 Ответ

2 голосов
/ 26 ноября 2011

Боюсь, ответ - нет.

Вы получаете идентификатор ресурса только для файлов, которые объявлены в папке / res. Если вы загружаете растровые изображения в свое приложение и хотите сохранить их, единственные решения, о которых я сейчас могу подумать, - это сохранить их в виде файлов (кеш или внешний) или в базе данных.

...