Проблемы с загрузкой JPEG из Интернета - PullRequest
0 голосов
/ 02 мая 2011

Я использую следующий класс для загрузки изображения.URL-адрес, который я отправляю, правильный, но url.getContext () каждый раз возвращает ноль.Кто-нибудь знает почему?

package com.WasserSportLotse;

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;

import android.content.Context;
import android.graphics.drawable.Drawable;


class ImageDownloader {
    private Drawable d;

    public ImageDownloader(Context ctx, String url, String saveFilename) {
        try {
            InputStream is = (InputStream) this.fetch(url);
            d = Drawable.createFromStream(is, "src");
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public Drawable getImage(){
        return d;
    }

    public Object fetch(String address) throws MalformedURLException,IOException {

        URL url = new URL(address);
        Object content = url.getContent();
        return content;
    }
}

Ответы [ 2 ]

0 голосов
/ 03 мая 2011

Я немного изменил класс и нашел гораздо более простую версию

    private String path = "http://www.*YOURPATH.COM/SOMETHING*";
    private String file;
    private String url;

    public ImageDownloader(String file){
        this.file = URLEncoder.encode(file);
        url = path + this.file;

    }

    public Drawable getImage() throws IOException, MalformedURLException {
        return Drawable.createFromStream(((java.io.InputStream)new java.net.URL(url).getContent()), "name");
}
0 голосов
/ 02 мая 2011

вызов url.getContent() вернет изображение, если применимо, и только поток его не будет изображением или аудиоклипом.Хотя это не кажется вашей проблемой сейчас, это будет проблемой, как только вы поймете это.

Ваш код выглядит правильно.Единственное, о чем я могу думать, это то, что адрес не построен правильно.Он может работать в браузере, но класс URL может быть более требовательным, чем ваш браузер.Убедитесь, что вы используете полный URL-адрес формы с добавлением http: // (не только www)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...