Вопрос

Я использую Android 2.2. Я пытаюсь выполнить следующий код, чтобы запустить:

Uri uri=Uri.parse("http://bluediamondring-s.com/wp-content/uploads/2010/08/gold-ring.jpg");
File f=new File(uri.getPath());
image.setImageURI(Uri.parse(f.toString()));
image.invalidate();

Но изображение не видно на моем экране Android.

предложить что-то.

С уважением, Рахул

Это было полезно?

Решение

позвольте мне дать вам метод Utils

public class AsyncUploadImage extends AsyncTask<Object, Object, Object> {
private static final String TAG = "AsyncUploadImage ";
ImageView iv;
private HttpURLConnection connection;
private InputStream is;
private Bitmap bitmap;
public AsyncUploadImage(ImageView mImageView) {
    iv = mImageView;
}
@Override
protected Object doInBackground(Object... params) {
    URL url;
    try {
        url = new URL((String) params[0]);
        connection = (HttpURLConnection) url.openConnection();
        connection.setDoInput(true);
        connection.connect();
        is = connection.getInputStream();
        bitmap = BitmapFactory.decodeStream(is);
        is.close();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        try {
            if (is != null) {
                is.close();
            }
            if (connection != null) {
                connection.disconnect();
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    return bitmap;
}
@Override
protected void onPostExecute(Object result) {
    super.onPostExecute(result);
    if (null != result) {
        iv.setImageBitmap((Bitmap) result);
        Log.i(TAG, "image download ok!!!");
    }else {
        iv.setBackgroundResource(R.drawable.shuben1);
        Log.i(TAG, "image download false!!!");
    }
}

}

Когда адаптер для использования

так

new AsyncUploadImage(itemIcon).execute("http://temp/file/book/images/1325310017.jpg");

//http://temp/file/book/images/1325310017.jpg -> (это ваш URL изображения ..)

Другие советы

Вы не можете получить доступ к изображению через HTPP подобное. Вам необходимо сначала загрузить свое изображение в файл, поток или переменную.

Из этой темы: Кэширование изображений Android

Я использовал пример с кешем и приведя растровое изображение:

URL url = new URL(strUrl);
URLConnection connection = url.openConnection();
connection.setUseCaches(true);
Object response = connection.getContent();
if (result instanceof Bitmap) {
  Bitmap bitmap = (Bitmap)response;
} 

Я использовал решение, приведенное здесь:

http://asantoso.wordpress.com/2008/03/07/download-and-view-image-from-the-web/

С уважением, Рахул

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top