2013-07-01 4 views
2

Я действительно новичок в Android, Java и HTML. Так что я довольно много набит. Я просто пытаюсь получить данные из URL-адреса с помощью приложения Android. Я пробовал следующий код в java, и он отлично работает, поэтому я действительно зациклился на том, что с ним не так. я пытался прибегая к помощи и использовать различные варианты, такие как настройка времени соединенияAndroid - .getInputStream() продолжает сбой

URL url = new URL("http://www.google.com/"); 
    HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
    conn.setDoInput(true); 
    conn.setDoOutput(true); 
    try { 
     input = new InputStreamReader(conn.getInputStream()); 
     in =new BufferedReader(input); 
    } 

Я пробовал много разных версий, таких как добавление кучу вещей, как: urlConnection.setRequestProperty («Связь», «keep- в живых"); urlConnection.setRequestProperty ("ConnectionTimeout", "12000"); urlConnection.setRequestProperty ("Content-Length", "" + request.length);

Я думаю, что следующий пост имеет аналогичную проблему: IOException with URLConnection and getInputStream

я не получил IOException (ну по крайней мере я не думаю), но я получил это (и целая куча других)

07-01 23: 18: 33,870: E/AndroidRuntime (30713): java.lang.IllegalStateException: не удалось выполнить метод деятельности

и да, я добавить разрешение на INTERNET и ACCESS_NETWORK_STATE

<uses-permission android:name="android.permission.INTERNET" /> 
    <uses-permission android:name = "android.permission.ACCESS_NETWORK_STATE"/> 

Я использую Eclipse и запускаю свой Android-плеер HTC One X. Пожалуйста, помогите. Заранее спасибо!

Вот трассировки стека после того, как я добавил AsyncTask:

07-02 00:02:34.775: W/IInputConnectionWrapper(3799): getExtractedText on inactive InputConnection 
07-02 00:02:34.785: W/IInputConnectionWrapper(3799): getTextBeforeCursor on inactive InputConnection 
07-02 00:02:34.785: W/IInputConnectionWrapper(3799): getSelectedText on inactive InputConnection 
07-02 00:02:34.785: W/IInputConnectionWrapper(3799): getTextAfterCursor on inactive InputConnection 
07-02 00:02:34.790: W/IInputConnectionWrapper(3799): getExtractedText on inactive InputConnection 
07-02 00:02:34.795: W/IInputConnectionWrapper(3799): getTextBeforeCursor on inactive InputConnection 
07-02 00:02:34.795: W/IInputConnectionWrapper(3799): getExtractedText on inactive InputConnection 
07-02 00:02:34.795: W/IInputConnectionWrapper(3799): getTextBeforeCursor on inactive InputConnection 
07-02 00:02:34.800: W/IInputConnectionWrapper(3799): getSelectedText on inactive InputConnection 
07-02 00:02:34.800: W/IInputConnectionWrapper(3799): getTextAfterCursor on inactive InputConnection 
07-02 00:02:34.800: W/IInputConnectionWrapper(3799): getExtractedText on inactive InputConnection 
07-02 00:02:34.805: W/IInputConnectionWrapper(3799): getTextBeforeCursor on inactive InputConnection 
07-02 00:02:34.805: W/IInputConnectionWrapper(3799): getSelectedText on inactive InputConnection 
07-02 00:02:34.810: W/IInputConnectionWrapper(3799): getTextAfterCursor on inactive InputConnection 
07-02 00:02:34.810: W/IInputConnectionWrapper(3799): beginBatchEdit on inactive InputConnection 
07-02 00:02:34.815: W/IInputConnectionWrapper(3799): getExtractedText on inactive InputConnection 
07-02 00:02:34.815: W/IInputConnectionWrapper(3799): getTextBeforeCursor on inactive InputConnection 
07-02 00:02:34.820: W/IInputConnectionWrapper(3799): getSelectedText on inactive InputConnection 
07-02 00:02:34.820: W/IInputConnectionWrapper(3799): getTextAfterCursor on inactive InputConnection 
07-02 00:02:34.830: W/IInputConnectionWrapper(3799): getExtractedText on inactive InputConnection 
07-02 00:02:34.830: W/IInputConnectionWrapper(3799): getTextBeforeCursor on inactive InputConnection 
07-02 00:02:34.830: W/IInputConnectionWrapper(3799): getSelectedText on inactive InputConnection 
07-02 00:02:34.835: W/IInputConnectionWrapper(3799): getTextAfterCursor on inactive InputConnection 
07-02 00:02:34.845: W/IInputConnectionWrapper(3799): endBatchEdit on inactive InputConnection 
07-02 00:02:34.845: W/IInputConnectionWrapper(3799): getExtractedText on inactive InputConnection 
07-02 00:02:34.845: W/IInputConnectionWrapper(3799): getTextBeforeCursor on inactive InputConnection 
07-02 00:02:34.850: W/IInputConnectionWrapper(3799): getSelectedText on inactive InputConnection 
07-02 00:02:34.850: W/IInputConnectionWrapper(3799): getTextAfterCursor on inactive InputConnection 
07-02 00:02:34.855: W/IInputConnectionWrapper(3799): beginBatchEdit on inactive InputConnection 
07-02 00:02:34.855: W/IInputConnectionWrapper(3799): setComposingRegion on inactive InputConnection 
07-02 00:02:34.855: W/IInputConnectionWrapper(3799): endBatchEdit on inactive InputConnection 
07-02 00:02:34.865: W/IInputConnectionWrapper(3799): getExtractedText on inactive InputConnection 
07-02 00:02:34.865: W/IInputConnectionWrapper(3799): getTextBeforeCursor on inactive InputConnection 
07-02 00:02:34.870: W/IInputConnectionWrapper(3799): getSelectedText on inactive InputConnection 
07-02 00:02:34.870: W/IInputConnectionWrapper(3799): getTextAfterCursor on inactive InputConnection 
07-02 00:05:06.105: W/LoadedApk(5867): pakageInfo is null! try again 
07-02 00:05:06.105: W/LoadedApk(5867): packageInfo still null! 
07-02 00:05:06.110: D/LoadedApk(5867): dalvik.system.VMStack.getThreadStackTrace(Native Method) 
07-02 00:05:06.110: D/LoadedApk(5867): java.lang.Thread.getStackTrace(Thread.java:599) 
07-02 00:05:06.110: D/LoadedApk(5867): android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:388) 
07-02 00:05:06.110: D/LoadedApk(5867): android.app.LoadedApk.getClassLoader(LoadedApk.java:330) 
07-02 00:05:06.110: D/LoadedApk(5867): android.app.LoadedApk.makeApplication(LoadedApk.java:535) 
07-02 00:05:06.110: D/LoadedApk(5867): android.app.ActivityThread.handleBindApplication(ActivityThread.java:4803) 
07-02 00:05:06.110: D/LoadedApk(5867): android.app.ActivityThread.access$1300(ActivityThread.java:151) 
07-02 00:05:06.110: D/LoadedApk(5867): android.app.ActivityThread$H.handleMessage(ActivityThread.java:1401) 
07-02 00:05:06.110: D/LoadedApk(5867): android.os.Handler.dispatchMessage(Handler.java:99) 
07-02 00:05:06.110: D/LoadedApk(5867): android.os.Looper.loop(Looper.java:155) 
07-02 00:05:06.110: D/LoadedApk(5867): android.app.ActivityThread.main(ActivityThread.java:5493) 
07-02 00:05:06.110: D/LoadedApk(5867): java.lang.reflect.Method.invokeNative(Native Method) 
07-02 00:05:06.110: D/LoadedApk(5867): java.lang.reflect.Method.invoke(Method.java:511) 
07-02 00:05:06.110: D/LoadedApk(5867): com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028) 
07-02 00:05:06.110: D/LoadedApk(5867): com.android.internal.os.ZygoteInit.main(ZygoteInit.java:795) 
07-02 00:05:06.110: D/LoadedApk(5867): dalvik.system.NativeStart.main(Native Method) 
07-02 00:05:09.565: I/dalvikvm-heap(6053): Grow heap (frag case) to 5.448MB for 1705652-byte allocation 
07-02 00:05:09.810: I/dalvikvm-heap(6053): Grow heap (frag case) to 8.340MB for 3034580-byte allocation 
07-02 00:05:09.905: I/MediaPlayer(6053): setLPAflag() in 
07-02 00:05:09.905: I/MediaPlayer(6053): mContext is null, can't getMirrorDisplayStatus!!! 
07-02 00:05:09.905: I/MediaPlayer(6053): setLPAflag() out 
07-02 00:05:09.910: W/MediaPlayer(6053): info/warning (1, 902) 
07-02 00:05:09.915: D/MediaPlayer(6053): [DLNA]contentType = 902 
07-02 00:05:09.915: D/MediaPlayer(6053): doStart() in 
07-02 00:05:09.915: D/MediaPlayer(6053): getIntParameter = 902 
07-02 00:05:10.190: D/MediaPlayer(6053): Mediaplayer receives message, message type: 200 
07-02 00:05:10.190: I/MediaPlayer(6053): Info (1,902) 
07-02 00:05:10.190: D/MediaPlayer(6053): Mediaplayer receives message, message type: 5 
07-02 00:05:10.190: D/MediaPlayer(6053): Mediaplayer receives message, message type: 1 
07-02 00:05:10.295: E/(6053): file /data/data/com.nvidia.NvCPLSvc/files/driverlist.txt: not found! 
07-02 00:05:10.295: I/(6053): Attempting to load EGL implementation /system/lib//egl/libEGL_tegra_impl 
07-02 00:05:10.485: I/(6053): Loaded EGL implementation /system/lib//egl/libEGL_tegra_impl 
07-02 00:05:10.595: I/(6053): Loading GLESv2 implementation /system/lib//egl/libGLESv2_tegra_impl 
07-02 00:05:11.080: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:11.140: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:11.430: I/dalvikvm-heap(6053): Grow heap (frag case) to 10.851MB for 2731536-byte allocation 
07-02 00:05:11.830: I/MediaPlayer(6053): setLPAflag() in 
07-02 00:05:11.830: I/MediaPlayer(6053): mContext is null, can't getMirrorDisplayStatus!!! 
07-02 00:05:11.830: I/MediaPlayer(6053): setLPAflag() out 
07-02 00:05:11.845: W/MediaPlayer(6053): info/warning (1, 902) 
07-02 00:05:11.870: W/IInputConnectionWrapper(6053): getSelectedText on inactive InputConnection 
07-02 00:05:11.875: D/MediaPlayer(6053): Mediaplayer receives message, message type: 200 
07-02 00:05:11.875: I/MediaPlayer(6053): Info (1,902) 
07-02 00:05:11.875: D/MediaPlayer(6053): Mediaplayer receives message, message type: 5 
07-02 00:05:11.875: D/MediaPlayer(6053): Mediaplayer receives message, message type: 1 
07-02 00:05:12.025: W/IInputConnectionWrapper(6053): getTextAfterCursor on inactive InputConnection 
07-02 00:05:12.600: D/MediaPlayer(6053): [DLNA]contentType = 902 
07-02 00:05:12.600: D/MediaPlayer(6053): doStart() in 
07-02 00:05:12.600: D/MediaPlayer(6053): getIntParameter = 902 
07-02 00:05:12.645: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:12.940: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:12.945: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:12.950: W/IInputConnectionWrapper(6053): getSelectedText on inactive InputConnection 
07-02 00:05:12.955: W/IInputConnectionWrapper(6053): getTextAfterCursor on inactive InputConnection 
07-02 00:05:12.960: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:12.965: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:12.980: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:12.980: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:12.985: W/IInputConnectionWrapper(6053): getSelectedText on inactive InputConnection 
07-02 00:05:12.985: W/IInputConnectionWrapper(6053): getTextAfterCursor on inactive InputConnection 
07-02 00:05:12.995: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:13.000: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:13.000: W/IInputConnectionWrapper(6053): getSelectedText on inactive InputConnection 
07-02 00:05:13.005: W/IInputConnectionWrapper(6053): getTextAfterCursor on inactive InputConnection 
07-02 00:05:13.005: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:13.010: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:13.010: W/IInputConnectionWrapper(6053): getSelectedText on inactive InputConnection 
07-02 00:05:13.010: W/IInputConnectionWrapper(6053): getTextAfterCursor on inactive InputConnection 
07-02 00:05:13.015: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:13.015: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:13.015: W/IInputConnectionWrapper(6053): getSelectedText on inactive InputConnection 
07-02 00:05:13.015: W/IInputConnectionWrapper(6053): getTextAfterCursor on inactive InputConnection 
07-02 00:05:13.015: W/IInputConnectionWrapper(6053): beginBatchEdit on inactive InputConnection 
07-02 00:05:13.020: W/IInputConnectionWrapper(6053): endBatchEdit on inactive InputConnection 
07-02 00:05:13.020: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:13.020: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:13.020: W/IInputConnectionWrapper(6053): getSelectedText on inactive InputConnection 
07-02 00:05:13.020: W/IInputConnectionWrapper(6053): getTextAfterCursor on inactive InputConnection 
07-02 00:05:13.025: W/IInputConnectionWrapper(6053): beginBatchEdit on inactive InputConnection 
07-02 00:05:13.025: W/IInputConnectionWrapper(6053): setComposingRegion on inactive InputConnection 
07-02 00:05:13.025: W/IInputConnectionWrapper(6053): endBatchEdit on inactive InputConnection 
07-02 00:05:13.025: W/IInputConnectionWrapper(6053): getExtractedText on inactive InputConnection 
07-02 00:05:13.025: W/IInputConnectionWrapper(6053): getTextBeforeCursor on inactive InputConnection 
07-02 00:05:13.025: W/IInputConnectionWrapper(6053): getSelectedText on inactive InputConnection 
07-02 00:05:13.025: W/IInputConnectionWrapper(6053): getTextAfterCursor on inactive InputConnection 
07-02 00:05:13.165: E/SpannableStringBuilder(6053): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
07-02 00:05:13.165: E/SpannableStringBuilder(6053): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
07-02 00:05:13.295: D/MediaPlayer(6053): Mediaplayer receives message, message type: 2 
07-02 00:05:16.440: W/System.err(6053): java.io.FileNotFoundException: http://www.google.com/ 
07-02 00:05:16.445: W/System.err(6053):  at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:177) 
07-02 00:05:16.445: W/System.err(6053):  at aiti.mit.edu.sa.wu.calculator.MyAsynTask.doInBackground(ActivityHi.java:139) 
07-02 00:05:16.445: W/System.err(6053):  at aiti.mit.edu.sa.wu.calculator.MyAsynTask.doInBackground(ActivityHi.java:1) 
07-02 00:05:16.445: W/System.err(6053):  at android.os.AsyncTask$2.call(AsyncTask.java:287) 
07-02 00:05:16.445: W/System.err(6053):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
07-02 00:05:16.445: W/System.err(6053):  at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
07-02 00:05:16.445: W/System.err(6053):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
07-02 00:05:16.445: W/System.err(6053):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
07-02 00:05:16.450: W/System.err(6053):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
07-02 00:05:16.450: W/System.err(6053):  at java.lang.Thread.run(Thread.java:864) 
07-02 00:05:16.450: W/dalvikvm(6053): threadid=12: thread exiting with uncaught exception (group=0x40c392d0) 
07-02 00:05:16.460: E/AndroidRuntime(6053): FATAL EXCEPTION: AsyncTask #1 
07-02 00:05:16.460: E/AndroidRuntime(6053): java.lang.RuntimeException: An error occured while executing doInBackground() 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at android.os.AsyncTask$3.done(AsyncTask.java:299) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at java.util.concurrent.FutureTask$Sync.innerSetException(FutureTask.java:273) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at java.util.concurrent.FutureTask.setException(FutureTask.java:124) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:307) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at java.util.concurrent.FutureTask.run(FutureTask.java:137) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at java.lang.Thread.run(Thread.java:864) 
07-02 00:05:16.460: E/AndroidRuntime(6053): Caused by: java.lang.NullPointerException 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at aiti.mit.edu.sa.wu.calculator.MyAsynTask.doInBackground(ActivityHi.java:153) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at aiti.mit.edu.sa.wu.calculator.MyAsynTask.doInBackground(ActivityHi.java:1) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at android.os.AsyncTask$2.call(AsyncTask.java:287) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 
07-02 00:05:16.460: E/AndroidRuntime(6053):  ... 5 more 
07-02 00:05:19.770: D/Process(6053): killProcess, pid=6053 
07-02 00:05:19.800: D/Process(6053): dalvik.system.VMStack.getThreadStackTrace(Native Method) 
07-02 00:05:19.800: D/Process(6053): java.lang.Thread.getStackTrace(Thread.java:599) 
07-02 00:05:19.800: D/Process(6053): android.os.Process.killProcess(Process.java:944) 
07-02 00:05:19.800: D/Process(6053): com.android.internal.os.RuntimeInit$UncaughtHandler.uncaughtException(RuntimeInit.java:108) 
07-02 00:05:19.800: D/Process(6053): java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:693) 
07-02 00:05:19.800: D/Process(6053): java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:690) 
07-02 00:05:20.290: I/dalvikvm-heap(6336): Grow heap (frag case) to 5.287MB for 1536016-byte allocation 
07-02 00:05:20.375: I/dalvikvm-heap(6336): Grow heap (frag case) to 7.890MB for 2731536-byte allocation 
07-02 00:05:20.590: I/MediaPlayer(6336): setLPAflag() in 
07-02 00:05:20.590: I/MediaPlayer(6336): mContext is null, can't getMirrorDisplayStatus!!! 
07-02 00:05:20.590: I/MediaPlayer(6336): setLPAflag() out 
07-02 00:05:20.590: W/MediaPlayer(6336): info/warning (1, 902) 
07-02 00:05:20.635: D/MediaPlayer(6336): Mediaplayer receives message, message type: 200 
07-02 00:05:20.635: I/MediaPlayer(6336): Info (1,902) 
07-02 00:05:20.635: D/MediaPlayer(6336): Mediaplayer receives message, message type: 5 
07-02 00:05:20.635: D/MediaPlayer(6336): Mediaplayer receives message, message type: 1 
07-02 00:05:20.685: E/(6336): file /data/data/com.nvidia.NvCPLSvc/files/driverlist.txt: not found! 
07-02 00:05:20.685: I/(6336): Attempting to load EGL implementation /system/lib//egl/libEGL_tegra_impl 
07-02 00:05:20.735: I/(6336): Loaded EGL implementation /system/lib//egl/libEGL_tegra_impl 
07-02 00:05:20.820: I/(6336): Loading GLESv2 implementation /system/lib//egl/libGLESv2_tegra_impl 
07-02 00:05:21.215: E/SpannableStringBuilder(6336): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
07-02 00:05:21.215: E/SpannableStringBuilder(6336): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
07-02 00:05:22.575: E/SpannableStringBuilder(6336): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 
07-02 00:05:22.575: E/SpannableStringBuilder(6336): SPAN_EXCLUSIVE_EXCLUSIVE spans cannot have a zero length 

и это AsyncTank ...

protected String doInBackground(String... arg0) { 

    try { 
     URL url = new URL("http://www.google.com/"); 
     HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
     conn.setDoInput(true); 
     conn.setDoOutput(true); 
     input = new InputStreamReader(conn.getInputStream()); 
     in =new BufferedReader(input); 
     System.out.println("HELLO"); 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
    finally { 
     conn.disconnect(); 
    } 
    return null; 
} 
+2

Вставить полную трассировку стека в качестве редактирования на ваш вопрос. –

+0

Не публикуя трассировку стека, никто не может ничего сделать, кроме угадывания. –

+0

Что находится на ActivityHi.java строке 153? – DigCamara

ответ

1

То, что вы опубликовали в AsyncTask, делает проблему очевидной. Комментирование 153 просто скрывает ошибку.

Вы объявляете и назначаете conn внутри блока try (HttpURLConnection conn = (HttpURLConnection) url.openConnection();) и отсоединяетесь в своем finally.

Но к conn, к которому вы подключены, не видно из блока finally. Это означает, что у вас, вероятно, есть переменная-член с тем же именем. Вместо этого вы пытаетесь отключить это.

Вы получаете NullPointerException потому что член нуль.

Для начала я предлагаю изменить conn на что-то еще, например conn2, чтобы сделать проблему более очевидной (вы получите ошибку компиляции в строке 153).

Правильное решение состоит в том, чтобы переместить объявление и присвоение conn за пределы блока try, чтобы он был видимым для блока finally, и, по мере необходимости, блокируйте блоки catch. Что-то вроде (я не проверял это):

protected String doInBackground(String... arg0) { 

    try { 
     URL url = new URL("http://www.google.com/"); 
     HttpURLConnection conn = (HttpURLConnection) url.openConnection(); 
     try { 
      conn.setDoInput(true); 
      conn.setDoOutput(true); 
      input = new InputStreamReader(conn.getInputStream()); 
      in =new BufferedReader(input); 
      System.out.println("HELLO"); 
     } 
     finally { 
      conn.disconnect(); 
     } 
    } catch (MalformedURLException e) { 
     e.printStackTrace(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

    return null; 
} 
+0

Мне пришлось добавить a}, прежде чем, наконец, чтобы запустить его, но это полностью работает! Спасибо! – Merelda

0

Я думаю, ваша проблема в том, что вы пытаетесь сделать это на Майне UI Thread, вы не можете сделать это на ICS или Jellybean, вам нужно сделать это внутри AsyncTask, и таким образом вы должны быть в порядке.

+0

Если вы имеете в виду StrictMode - он будет вызывать android.os.NetworkOnMainThreadException, а не FileNotFoundException. – manyobject

0

Кажется, что если вы посмотрите at the docs на developer.android.com, вы получите код, чтобы работать.

Их образец выглядит следующим образом:

URL url = new URL("http://www.google.com/"); 
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
    try { 
    InputStream in = new BufferedInputStream(urlConnection.getInputStream()); 
    readStream(in); 
    finally { 
    urlConnection.disconnect(); 
    } 

Это похоже на вашу, но журнал вы вывесили жалуется, что

07-02 00:05:16.440: W/System.err(6053): java.io.FileNotFoundException: http://www.google.com/ 

, который ведет к этому исключения нулевого указателя

07-02 00:05:16.460: E/AndroidRuntime(6053): Caused by: java.lang.NullPointerException 

, который, я думаю, находится на этой линии

conn.setDoInput(true); 
+0

Я попытался прокомментировать эту строку, но это не помогает даже после того, как я добавил метод readStream(). Мой мозг слишком набит прямо сейчас, вернется к нему завтра утром. Спасибо за помощь, очень благодарен! – Merelda

+0

О, в любом случае, похоже, у меня все еще есть данные! Действительно ли необходимо добавить .disconnect()? – Merelda

+1

Да. Просто проверьте, является ли оно нулевым до вызова функции разъединения (см. Ответ моего комментария на ваш вопрос). – manyobject

Смежные вопросы