我无法根据此答案从 Android 上的 url 加载位图:https ://stackoverflow.com/a/8993175/1062794
我已将案例简化到最低限度:
public void loadBitmap(View view) {
Bitmap b = getBitmapFromURL("http://upload.wikimedia.org/wikipedia/en/7/70/Example.png");
}
public Bitmap getBitmapFromURL(String src) {
try {
URL url = new URL(src);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoInput(true);
connection.connect();
InputStream input = connection.getInputStream();
Bitmap myBitmap = BitmapFactory.decodeStream(input);
return myBitmap;
} catch (IOException e) {
e.printStackTrace();
return null;
}
}
我在清单中启用了互联网访问(我相信):
<uses-permission android:name="android.permission.INTERNET"/>
null
当我运行该应用程序时,它会在尝试运行时崩溃并显示详细信息connection.connect()
。单步执行,我看到它试图从以下位置抛出此错误StrictMode.class
:
if ((mPolicyMask & PENALTY_DEATH_ON_NETWORK) != 0) {
throw new NetworkOnMainThreadException();
}
这是我尝试制作 Android 应用程序的第一天,所以我可能会犯一个明显的错误。我正在使用模拟器和Win7。