Фон
Мне нужно получить несколько изображений с сайта. У меня есть ссылки, хранящиеся в массиве String (tds []). В основном я получаю входной поток из URL и преобразовываю его в Drawable (у меня также есть массив для этого).
Проблема
Мое приложение падает, удаление цикла делает все нормально, но почему? Я даже создаю массив для URLConnection
и InputStream
, чтобы он не мешал друг другу, но все равно не работает.
for(int i = 0; i < 10; i++){
mainurl[i] = new URL(tds[i]);
maincon[i] = mainurl[i].openConnection();
maincon[i].setDoInput(true);
maincon[i].setDoOutput(true);
maincon[i].setAllowUserInteraction(true);
maincon[i].setRequestProperty("Connection", "keep-alive");
maincon[i].setRequestProperty("Accept-Encoding", "gzip,deflate");
maincon[i].setRequestProperty("Accept-Charset", "windows-1251,utf-8;q=0.7,*;q=0.7");
maincon[i].setRequestProperty("Referer", "referer here");
maincon[i].setRequestProperty("Cookie", "cookie here");
maincon[i].setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");
maincon[i].setRequestProperty("Accept-Language", "ru,en-us;q=0.7,en;q=0.3");
maincon[i].setRequestProperty("User-Agent", "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.12) Gecko/20080201 Firefox");
maincon[i].setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=utf-8");
maincon[i].setRequestProperty("Pragma", "no-cache");
mainis[i] = (InputStream) maincon[i].getContent();
d[i] = Drawable.createFromStream(mainis[i], "src name");
}
Я уверен, что делаю код Ходжи, но есть ли другой метод? Я использую URlCOnnection, потому что мне нужно перенести некоторое RequestProperty на сервер, чтобы получить мое изображение.
Вот что у меня есть в LogCat
03-05 07:07:16.650: E/AndroidRuntime(862): FATAL EXCEPTION: main
03-05 07:07:16.650: E/AndroidRuntime(862): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.package.myactivity}: java.lang.NullPointerException
03-05 07:07:16.650: E/AndroidRuntime(862): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-05 07:07:16.650: E/AndroidRuntime(862): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-05 07:07:16.650: E/AndroidRuntime(862): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-05 07:07:16.650: E/AndroidRuntime(862): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-05 07:07:16.650: E/AndroidRuntime(862): at android.os.Handler.dispatchMessage(Handler.java:99)
03-05 07:07:16.650: E/AndroidRuntime(862): at android.os.Looper.loop(Looper.java:123)
03-05 07:07:16.650: E/AndroidRuntime(862): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-05 07:07:16.650: E/AndroidRuntime(862): at java.lang.reflect.Method.invokeNative(Native Method)
03-05 07:07:16.650: E/AndroidRuntime(862): at java.lang.reflect.Method.invoke(Method.java:507)
03-05 07:07:16.650: E/AndroidRuntime(862): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-05 07:07:16.650: E/AndroidRuntime(862): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-05 07:07:16.650: E/AndroidRuntime(862): at dalvik.system.NativeStart.main(Native Method)
03-05 07:07:16.650: E/AndroidRuntime(862): Caused by: java.lang.NullPointerException
03-05 07:07:16.650: E/AndroidRuntime(862): at ru.jiznenno.MyComic.onCreate(MyClass.java:90)
03-05 07:07:16.650: E/AndroidRuntime(862): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-05 07:07:16.650: E/AndroidRuntime(862): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-05 07:37:03.139: E/AndroidRuntime(1163): ... 11 more