【问题标题】:The image did not appear at all图像根本没有出现
【发布时间】:2019-06-20 07:44:52
【问题描述】:

图像根本没有出现,有异常总是被try catch捕捉到并且图像从未出现过

URL url = null;
try {
    url = new URL(currentBook.getImageLink());
    Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream());
    bookImageView.setImageBitmap(bmp);
} catch (MalformedURLException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}

【问题讨论】:

  • 总有一个异常被try catch捕获哪个异常??
  • 我想你得到NetworkOnMainThreadException 对吧?请查看此帖子stackoverflow.com/q/6343166/7666442
  • 你为什么不用滑翔?
  • 为什么要在 UI 线程上执行网络操作?您阅读过任何 Android 指南吗?
  • 谢谢詹斯。谢谢所有评论,我解决了我的问题

标签: java android


【解决方案1】:

我在 mainifest 文件中使用了这行代码

android:usesCleartextTraffic="true"

这是我使用后台线程的代码解决方案

私有类 imageAsyncTask 扩展 AsyncTask{ @覆盖 受保护的位图 doInBackground(String... url) { if (url.length

    URL realyUrl = null;
    try {

            realyUrl = new URL(url[0]);
            bmp = BitmapFactory.decodeStream(realyUrl.openConnection().getInputStream());


    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }


    return bmp;
}

@Override
protected void onPostExecute(Bitmap bitmap) {

    if (bitmap != null){

        bookImageView.setImageBitmap(bitmap);
    }
} }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-20
    • 1970-01-01
    • 2014-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多