url.openConnection()失败

时间:2018-02-24 19:31:04

标签: android android-bitmap

当我尝试从URL创建一个位图并将其显示在ImageView上时,我正处于我的智慧之中,但我尝试的所有内容都失败了。

这是我的代码:

mPictureView = (ImageView)findViewById(R.id.image_view_picture);
String pictureToShowPath = getIntent().getStringExtra(EXTRA_PICTURE);

//The URL is http://upload.wikimedia.org/wikipedia/commons/4/4e/Buddha_statue.jpg
URL url = new URL(pictureToShowPath);

//I also tried with BitmapFactory.decodeStream((InputStream)url.getContent())
Bitmap bitmap = BitmapFactory.decodeStream(url.openConnection().getInputStream()); 

mPictureView.setImageBitmap(bitmap);

此代码位于try块内。在url.openConnection().getInputStream()处抛出空异常,因此永远不会创建位图。异常是null所以我甚至不知道它是哪种异常。 我已经在我的手机上使用KitKat和我的平板电脑和Nougat测试了这个代码,它不适用于所有这些代码。我的设备已连接到WiFi,应用会请求这些权限:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

我已经尝试过其他方法来首先下载图像,例如使用带有URL的HttpURLConnectionBufferedInputStream,问题似乎总是相同的:每次尝试连接时都为null抛出异常。

0 个答案:

没有答案