【发布时间】:2012-12-20 02:22:53
【问题描述】:
我无法根据以下答案从 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"/>
当我运行该应用程序时,它在尝试运行connection.connect() 时崩溃并显示null 详细信息。单步执行我看到它试图从StrictMode.class 抛出这个错误:
if ((mPolicyMask & PENALTY_DEATH_ON_NETWORK) != 0) {
throw new NetworkOnMainThreadException();
}
这是我尝试制作 Android 应用的第一天,所以我可能会犯一个明显的错误。我正在使用模拟器和Win7。
【问题讨论】:
标签: android android-emulator bitmap