Autore Topic: Problema con HttpUrlConnection  (Letto 1073 volte)

Offline Nemus

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S i9000
  • Sistema operativo:
    Windows Seven x64
Problema con HttpUrlConnection
« il: 21 Marzo 2011, 21:38:49 CET »
0
Salve a tutti,

sto tentando di stabilire una connessione con un sito internet per provare a scaricare tutto il contenuto testuale di una pagina (un XML in realtà).

Tuttavia non capisco per quale ragione non riesco ad ottenere HTTP_OK dall'oggetto conn.

Così ho provato a printare in una text view il response message per vedere cosa da, ma la textview resta vuota (a proposito, non esiste un metodo simile a trace() di actionscript per visualizzare variabili e oggetti nella console?)..

Idee?

Codice (Java): [Seleziona]
URL url = new URL(xxx);
                        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
                        TextView tv = (TextView) findViewById(R.TV.textView1);
                        tv.setText(conn.getResponseMessage());
                        if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) {
                                InputStream is = conn.getInputStream();
                               
                                //DocumentBuilderFactory, DocumentBuilder are used for
                                //xml parsing
                                DocumentBuilderFactory dbf = DocumentBuilderFactory
                                                .newInstance();
                                DocumentBuilder db = dbf.newDocumentBuilder();
       
                                //using db (Document Builder) parse xml data and assign
                                //it to Element
                                Document document = db.parse(is);
                                //tv.setText((CharSequence) document);
                        }
        } catch (Exception e) {
                        e.printStackTrace();
                }
                       

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Problema con HttpUrlConnection
« Risposta #1 il: 22 Marzo 2011, 10:28:15 CET »
0
hai provato a fare una conn.connect() prima di richiedere il response code?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline Nemus

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S i9000
  • Sistema operativo:
    Windows Seven x64
Re:Problema con HttpUrlConnection
« Risposta #2 il: 22 Marzo 2011, 11:29:11 CET »
0
Non dovrebbe essere il metodo openConnection() a stabilire la connessione?

Offline 7h38ugg3r

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 1200
  • Respect: +133
    • riccardofischetti
    • th38ugg3r
    • @7h38ugg3r
    • Mostra profilo
  • Dispositivo Android:
    Galaxy-S GT I-9000/ ASUS Eee Pad Transformer
  • Play Store ID:
    Riccardo Fischetti
  • Sistema operativo:
    OS X Lion / Linux Mint 11 (Katya)
Re:Problema con HttpUrlConnection
« Risposta #3 il: 22 Marzo 2011, 12:47:36 CET »
0
hai ragione.
pensavo stessi parlando di UrlConnection, non di HttpUrlConnection.

prova ad utilizare il logger di android, per tacciare quello che ti serve, anche se non credo che sia paragonabile al trace di actionscript.

Codice (Java): [Seleziona]
Log.i(TAG, stringa_che_vuoi);
il logcat è pulito? non ti da nessuna exception, vero?
7h38ugg3r<=>thebugger
Non conosci Java? Allora sei nel posto sbagliato!

http://www.androidpatterns.com/

Offline Nemus

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S i9000
  • Sistema operativo:
    Windows Seven x64
Re:Problema con HttpUrlConnection
« Risposta #4 il: 22 Marzo 2011, 19:43:22 CET »
0
non mi stampa nulla, nemmeno un tristissimo "ciao".

In teoria dovrei vedere questo messaggi nella console giusto?

Ecco il logcat:


[2011-03-22 19:34:45 - EveryEyeFeddReader] HOME is up on device 'emulator-5554'
[2011-03-22 19:34:45 - EveryEyeFeddReader] Uploading EveryEyeFeddReader.apk onto device 'emulator-5554'
[2011-03-22 19:34:46 - EveryEyeFeddReader] Installing EveryEyeFeddReader.apk...
[2011-03-22 19:35:30 - EveryEyeFeddReader] Success!
[2011-03-22 19:35:30 - EveryEyeFeddReader] Starting activity com.apps.EveryEyeFeedReader.EveryEyeFeedReader on device emulator-5554
[2011-03-22 19:35:33 - EveryEyeFeddReader] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.apps.EveryEyeFeedReader/.EveryEyeFeedReader }
« Ultima modifica: 22 Marzo 2011, 19:48:01 CET da Nemus »

Offline Nicola_D

  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:Problema con HttpUrlConnection
« Risposta #5 il: 22 Marzo 2011, 20:15:34 CET »
0
non mi stampa nulla, nemmeno un tristissimo "ciao".

In teoria dovrei vedere questo messaggi nella console giusto?

Ecco il logcat:


[2011-03-22 19:34:45 - EveryEyeFeddReader] HOME is up on device 'emulator-5554'
[2011-03-22 19:34:45 - EveryEyeFeddReader] Uploading EveryEyeFeddReader.apk onto device 'emulator-5554'
[2011-03-22 19:34:46 - EveryEyeFeddReader] Installing EveryEyeFeddReader.apk...
[2011-03-22 19:35:30 - EveryEyeFeddReader] Success!
[2011-03-22 19:35:30 - EveryEyeFeddReader] Starting activity com.apps.EveryEyeFeedReader.EveryEyeFeedReader on device emulator-5554
[2011-03-22 19:35:33 - EveryEyeFeddReader] ActivityManager: Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] cmp=com.apps.EveryEyeFeedReader/.EveryEyeFeedReader }

questo non è il logcat ma la console di eclipse... guarda la mia firma per il logcat...
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia

Offline Nemus

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S i9000
  • Sistema operativo:
    Windows Seven x64
Re:Problema con HttpUrlConnection
« Risposta #6 il: 22 Marzo 2011, 22:21:07 CET »
0
questo non è il logcat ma la console di eclipse... guarda la mia firma per il logcat...
mille grazie


03-22 21:13:50.034: INFO/ActivityManager(41): Start proc com.apps.EveryEyeFeedReader for activity com.apps.EveryEyeFeedReader/.EveryEyeFeedReader: pid=724 uid=10032 gids={1015}
03-22 21:13:51.193: WARN/System.err(724): java.net.SocketException: Permission denied
03-22 21:13:51.213: WARN/System.err(724):     at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocketImpl(Native Method)
03-22 21:13:51.213: WARN/System.err(724):     at org.apache.harmony.luni.platform.OSNetworkSystem.createStreamSocket(OSNetworkSystem.java:186)
03-22 21:13:51.213: WARN/System.err(724):     at org.apache.harmony.luni.net.PlainSocketImpl.create(PlainSocketImpl.java:265)
03-22 21:13:51.223: WARN/System.err(724):     at java.net.Socket.checkClosedAndCreate(Socket.java:873)
03-22 21:13:51.233: WARN/System.err(724):     at java.net.Socket.connect(Socket.java:1020)
03-22 21:13:51.233: WARN/System.err(724):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnection.<init>(HttpConnection.java:62)
03-22 21:13:51.243: WARN/System.err(724):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpConnectionPool.get(HttpConnectionPool.java:88)
03-22 21:13:51.243: WARN/System.err(724):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getHTTPConnection(HttpURLConnectionImpl.java:927)
03-22 21:13:51.253: WARN/System.err(724):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:909)
03-22 21:13:51.253: WARN/System.err(724):     at org.apache.harmony.luni.internal.net.www.protocol.http.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:1373)
03-22 21:13:51.263: WARN/System.err(724):     at java.net.HttpURLConnection.getResponseMessage(HttpURLConnection.java:394)
03-22 21:13:51.273: WARN/System.err(724):     at com.apps.EveryEyeFeedReader.EveryEyeFeedReader.onCreate(EveryEyeFeedReader.java:30)
03-22 21:13:51.273: WARN/System.err(724):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-22 21:13:51.283: WARN/System.err(724):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627)
03-22 21:13:51.283: WARN/System.err(724):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
03-22 21:13:51.293: WARN/System.err(724):     at android.app.ActivityThread.access$2300(ActivityThread.java:125)
03-22 21:13:51.303: WARN/System.err(724):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
03-22 21:13:51.303: WARN/System.err(724):     at android.os.Handler.dispatchMessage(Handler.java:99)
03-22 21:13:51.303: WARN/System.err(724):     at android.os.Looper.loop(Looper.java:123)
03-22 21:13:51.313: WARN/System.err(724):     at android.app.ActivityThread.main(ActivityThread.java:4627)
03-22 21:13:51.313: WARN/System.err(724):     at java.lang.reflect.Method.invokeNative(Native Method)
03-22 21:13:51.323: WARN/System.err(724):     at java.lang.reflect.Method.invoke(Method.java:521)
03-22 21:13:51.334: WARN/System.err(724):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
03-22 21:13:51.334: WARN/System.err(724):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
03-22 21:13:51.343: WARN/System.err(724):     at dalvik.system.NativeStart.main(Native Method)
03-22 21:13:51.614: INFO/ActivityManager(41): Displayed activity com.apps.EveryEyeFeedReader/.EveryEyeFeedReader: 1740 ms (total 1740 ms)
03-22 21:13:56.864: DEBUG/dalvikvm(189): GC_EXPLICIT freed 150 objects / 11144 bytes in 168ms
03-22 21:14:05.243: DEBUG/dalvikvm(258): GC_EXPLICIT freed 240 objects / 11512 bytes in 160ms
03-22 21:14:10.303: DEBUG/dalvikvm(115): GC_EXPLICIT freed 597 objects / 33472 bytes in 193ms
03-22 21:16:14.107: DEBUG/SntpClient(41): request time failed: java.net.SocketException: Address family not supported by protocol

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema con HttpUrlConnection
« Risposta #7 il: 22 Marzo 2011, 22:26:30 CET »
0
Magari dico una cosa troppo ovvia, hai inserito nel manifest il permesso ad usare la rete?

Codice (XML): [Seleziona]
<uses-permission android:name="android.permission.INTERNET" />
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store

Offline Nemus

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S i9000
  • Sistema operativo:
    Windows Seven x64
Re:Problema con HttpUrlConnection
« Risposta #8 il: 22 Marzo 2011, 22:34:17 CET »
0
Magari dico una cosa troppo ovvia, hai inserito nel manifest il permesso ad usare la rete?

Codice (XML): [Seleziona]
<uses-permission android:name="android.permission.INTERNET" />

Era proprio questo -.-

Beh, grazie a tutti!

Offline Nemus

  • Nuovo arrivato
  • *
  • Post: 39
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    Galaxy S i9000
  • Sistema operativo:
    Windows Seven x64
Re:Problema con HttpUrlConnection
« Risposta #9 il: 23 Marzo 2011, 14:12:19 CET »
0
Ora vorrei chiedere una cosa che ho notato così, a posteriori.

In Actrionscript il loading di dati da una sorgente esterna veniva fatto tramite l'oggetto URLLoader/Loader. Queste classi disponevano di una serie di eventi che permettevano di monitorare lo stato del trasferimento. Grazie a questi potevo quindi far comparire dei messaggi di attesa o mostrare l'avanzamento del download.

Con le API di android è possibile fare una cosa simile?
« Ultima modifica: 23 Marzo 2011, 14:29:48 CET da Nemus »

Offline bradipao

  • Moderatore globale
  • Utente storico
  • *****
  • Post: 4043
  • keep it simple
  • Respect: +567
    • Github
    • Google+
    • bradipao
    • Mostra profilo
  • Dispositivo Android:
    Nexus 5
  • Play Store ID:
    Bradipao
  • Sistema operativo:
    W7
Re:Problema con HttpUrlConnection
« Risposta #10 il: 23 Marzo 2011, 14:21:20 CET »
+1
Ora vorrei chiedere una cosa che o notato così, a posteriori.

In Actrionscript il loading di dati da una sorgente esterne veniva fatta tramite l'oggetto URLLoader/Loader. Queste classi disponevano di una serie di eventi che permettevano di monitorare lo stato del trasferimento. Grazie a questi potevo quindi far comparire dei messaggi di attesa o mostrare l'avanzamento del download.

Con le API di android è possibile fare una cosa simile?

Il discorso è un po' più complesso che chiamare un'API. Ti consiglio di dare un'occhiata a questo: [facile] HttpBookSearch: AsyncTask, HttpClient, XML parsing, ProgressDialog - Android Developers Italia
NON rispondo a domande nei messaggi privati
Bradipao @ Play Store