この回答に基づいて、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を使用しています。