AsyncTask ImageView из веб-изображений с помощью setImageBitmap

У меня проблема с отображением этого изображения в моем интернете. Я понятия не имею, как заставить это работать. Я новичок в Android.

Проблема в том, что часть ...

imView = (ImageView) findViewById(R.id.imageView1); 
imView.setImageBitmap(bm); //error

Спасибо.

мой код

public class CarregaImagem extends AsyncTask{
    String imageUrl = "http://www.cuboweb.com.br/android/images/logoconsulfarma.png";
    private ProgressDialog progress;
    private Activity activity;
    Bitmap bmImg;

    public CarregaImagem(Activity activity){
        this.activity = activity;
    }

    protected void onPreExecute() {
        progress = new ProgressDialog(activity);
        progress.setTitle("Aguarde...");
        progress.setMessage("Carregando..."); 
        progress.show();    
    }

    protected String doInBackground(String... params) { 
        // TODO Auto-generated method stub
        try { 
            URL aURL = new URL(imageUrl);
            final URLConnection conn = aURL.openConnection(); 
            conn.connect();
            final BufferedInputStream bis = new BufferedInputStream(conn.getInputStream());
            final Bitmap bm = BitmapFactory.decodeStream(bis);
            BitmapFactory.decodeStream(new URL(imageUrl).openConnection().getInputStream()); 
            bis.close();
        } catch (IOException e) { 
            imageUrl = "";
        } catch(Exception f){
            imageUrl = "";
        }
        return imageUrl;        
    }

    protected void onPostExecute(String imageUrl) {

        if(!imageUrl.equals("")){
            imView = (ImageView) findViewById(R.id.imageView1); 
            imView.setImageBitmap(bm); //error 
        } else{
            Toast.makeText(activity, "Não foi possível obter resultados", Toast.LENGTH_LONG).show();
        }           
        progress.dismiss();         
    }   
}
 itsbruce26 окт. 2012 г., 13:37
Какую ошибку дает вторая строка?
 Dipak Keshariya26 окт. 2012 г., 14:44
@Flip_novidade Пожалуйста, смотрите мой ответ, это решит вашу проблему
 Flip_novidade29 окт. 2012 г., 11:35
правильный ... идеальный ... спасибо

Ответы на вопрос(3)

эта ссылка была очень полезной, Также вы можете обратиться кобсуждение стека

Очевидно, что подключение к Android 3 и выше является строгим, следовательно, подключение к сети не удается

Ура!

и отображения в режиме просмотра изображений.

public class MainActivity extends Activity {

    ImageView mImgView1;
    static Bitmap bm;
    ProgressDialog pd;
    String imageUrl = "https://www.morroccomethod.com/components/com_virtuemart/shop_image/category/resized/Trial_Sizes_4e4ac3b0d3491_175x175.jpg";
    BitmapFactory.Options bmOptions;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        mImgView1 = (ImageView) findViewById(R.id.mImgView1);
        pd = ProgressDialog.show(MainActivity.this, "Aguarde...",
                "Carregando...");
        new ImageDownload().execute("");
    }

    public class ImageDownload extends AsyncTask<string, void,="" string=""> {

        protected String doInBackground(String... params) {
            // TODO Auto-generated method stub
            bmOptions = new BitmapFactory.Options();
            bmOptions.inSampleSize = 1;
            loadBitmap(imageUrl, bmOptions);
            return imageUrl;
        }

        protected void onPostExecute(String imageUrl) {
            pd.dismiss();
            if (!imageUrl.equals("")) {
                mImgView1.setImageBitmap(bm);
            } else {
                Toast.makeText(MainActivity.this,
                        "Não foi possível obter resultados", Toast.LENGTH_LONG)
                        .show();
            }
        }

    }

    public static Bitmap loadBitmap(String URL, BitmapFactory.Options options) {
        InputStream in = null;
        try {
            in = OpenHttpConnection(URL);
            bm = BitmapFactory.decodeStream(in, null, options);
            in.close();
        } catch (IOException e1) {
        }
        return bm;
    }

    private static InputStream OpenHttpConnection(String strURL)
            throws IOException {
        InputStream inputStream = null;
        URL url = new URL(strURL);
        URLConnection conn = url.openConnection();

        try {
            HttpURLConnection httpConn = (HttpURLConnection) conn;
            httpConn.setRequestMethod("GET");
            httpConn.connect();

            if (httpConn.getResponseCode() == HttpURLConnection.HTTP_OK) {
                inputStream = httpConn.getInputStream();
            }
        } catch (Exception ex) {
        }
        return inputStream;
    }
}
</string,>
 Dipak Keshariya27 окт. 2012 г., 06:39
@Flip_novidade Если мой ответ поможет вам, пожалуйста, примите его.
 Flip_novidade26 окт. 2012 г., 15:48
получил спасибо большое отлично ... следующий шаг - сделать галерею с веб-изображениями
 Flip_novidade26 окт. 2012 г., 15:03
Какие разрешения я должен иметь в манифесте?

которое никогда не используете. Вместо этого верните растровое изображение и используйте его в onPostExecute.

 Sunny Kumar Aditya26 окт. 2012 г., 14:02
@olivier добавьте код в ответ, отредактируйте его.
 Olivier C26 окт. 2012 г., 13:33
в doInBackground: return BitmapFactory.decodeStream (новый URL (url) .openConnection (). getInputStream ()); в onPostExecute: imView.setImageBitmap (результат);
 Flip_novidade26 окт. 2012 г., 13:28
как? могли бы показать мне?

Ваш ответ на вопрос