java - android.os.NetworkOnMainThreadException 进入 AsyncTask

标签 java android

我有以下类(class):

class CargaImgsParaAmpliar extends AsyncTask<Void, Void, Bitmap> {

        final ProgressDialog progressDialog = new ProgressDialog(imagen.this);

        protected void onPreExecute() {
            progressDialog.setTitle("");
            progressDialog.setMessage("Cargando Imagen...");
            progressDialog.show();
        }

        protected Bitmap doInBackground(Void... params) {
            Bitmap mIcon1 = null;
            URL url_value;
            try {
                url_value = new URL(StrUrl);
                mIcon1 = BitmapFactory.decodeStream(url_value.openConnection().getInputStream());
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }           
            return mIcon1;
        }

        protected void onPostExecute(Bitmap imagen) {
            m_imageView.setImageBitmap(urlImageToBitmap(StrUrl));
            progressDialog.dismiss();
        }       
    }

我正在 AsyncTask 中执行互联网放电过程,但它仍然给我异常 android.os.NetworkOnMainThreadException

如何解决这个问题?

最佳答案

在我看来,urlImageToBitmap 访问网络,但是是从 onPostExecute (在 UI 任务上运行)执行的。

而且您似乎没有对 onPostExecute 中的 imagen 参数执行任何操作。所以在doInBackground中检索到的图像基本上丢失了。

关于java - android.os.NetworkOnMainThreadException 进入 AsyncTask,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11675988/

相关文章:

java - CrudRepository 过滤器 List<String> 属性中的字符串值

android - 策略/角色扮演游戏源代码 Android/Java

android - 在 ScrollView 屏幕底部定位按钮并设置比例宽度

java - 如何减少 Firestore 集合中的读取次数?

JButton 上的 Java ImageIcon 重复图像

java - 在多个标签中包含标签的 XML

java - 将公共(public) Maven 存储库用于库而不是本地的优点

android - 如何在改造中传递参数

java - HttpResponse 在 Android 和 Java 中不同

java - 尝试访问文件作为资源时不支持的协议(protocol) : jndi with Websphere 6. 1