URL에서 이미지를 삽입하는 데 문제가 있습니다. I는 BitmapFactory로부터 스트림을 디코딩 할 때, 애플리케이션은BitmapFactory 및 HTTPUrlConnection 문제
온 클릭 방법
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Bundle extras = getIntent().getExtras();
String temp = (String) extras.get("temp");
String ikona = (String) extras.get("ikony");
URLs = "http://openweathermap.org/img/w/"+ikona+".png";
Log.d("asd",URLs);
try {
URL url = new URL(URLs);
Bitmap bmp = BitmapFactory.decodeStream(url.openConnection().getInputStream()); // here is the problem
imageView1.setImageBitmap(bmp);
} catch (MalformedURLException e) {
Log.d("asd","malformedURLException");
e.printStackTrace();
} catch (IOException e) {
Log.d("asd","IOException");
e.printStackTrace();
}
}
});
문제점 맵 BMP = BitmapFactory.decodeStream에 충돌 (url.openConnection().는 getInputStream())
04-18 21:38:55.049: E/AndroidRuntime(26374): FATAL EXCEPTION: main
04-18 21:38:55.049: E/AndroidRuntime(26374): android.os.NetworkOnMainThreadException
04-18 21:38:55.049: E/AndroidRuntime(26374): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1144)
04-18 21:38:55.049: E/AndroidRuntime(26374): at java.net.InetAddress.lookupHostByName(InetAddress.java:385)
04-18 21:38:55.049: E/AndroidRuntime(26374): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:236)
04-18 21:38:55.049: E/AndroidRuntime(26374): at java.net.InetAddress.getAllByName(InetAddress.java:214)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:70)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:340)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:87)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:316)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpEngine.connect(HttpEngine.java:311)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:290)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:240)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:282)
04-18 21:38:55.049: E/AndroidRuntime(26374): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177)
04-18 21:38:55.049: E/AndroidRuntime(26374): at pl.pawelfrydrych.realweather.Szczegoly$1.onClick(Szczegoly.java:55)
04-18 21:38:55.049: E/AndroidRuntime(26374): at android.view.View.performClick(View.java:4475)
04-18 21:38:55.049: E/AndroidRuntime(26374): at android.view.View$PerformClick.run(View.java:18786)
04-18 21:38:55.049: E/AndroidRuntime(26374): at android.os.Handler.handleCallback(Handler.java:730)
04-18 21:38:55.049: E/AndroidRuntime(26374): at android.os.Handler.dispatchMessage(Handler.java:92)
04-18 21:38:55.049: E/AndroidRuntime(26374): at android.os.Looper.loop(Looper.java:137)
04-18 21:38:55.049: E/AndroidRuntime(26374): at android.app.ActivityThread.main(ActivityThread.java:5419)
04-18 21:38:55.049: E/AndroidRuntime(26374): at java.lang.reflect.Method.invokeNative(Native Method)
04-18 21:38:55.049: E/AndroidRuntime(26374): at java.lang.reflect.Method.invoke(Method.java:525)
04-18 21:38:55.049: E/AndroidRuntime(26374): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1187)
04-18 21:38:55.049: E/AndroidRuntime(26374): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1003)
04-18 21:38:55.049: E/AndroidRuntime(26374): at dalvik.system.NativeStart.main(Native Method)
문제에 대해 자세히 알려주십시오. –