Autore Topic: Rappresentare Immagine da String (url)  (Letto 520 volte)

Offline Pia12

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
Rappresentare Immagine da String (url)
« il: 04 Novembre 2013, 22:04:35 CET »
0
Salve a tutti, ho letto anche altri topic inerenti al mio problema ma non riesco a risolvere il problema...
Praticamente dalla rete ricevo un un immagine di tipo Image, tramite un metodo della classe riesco ad ottenere l'url dell'immagine poi ho provato questo metodo:
Codice (Java): [Seleziona]
private Bitmap getBitmapFromUrl(String url) {
                        Bitmap bitmap = null;

                        try {
                            URLConnection conn = new java.net.URL(url).openConnection();
                            conn.setConnectTimeout(CONNECT_TIMEOUT);
                            conn.setReadTimeout(READ_TIMEOUT);
                            bitmap = BitmapFactory.decodeStream((InputStream) conn.getContent());
                        } catch(Exception e) {
                            e.printStackTrace();
                        }

                        return bitmap;
                    }
per poter poi rappresentare questa immagine in un ImageView con setImageBitmap(...);

ricevo questo log:

Citazione
11-04 21:34:00.780: W/System.err(18343): android.os.NetworkOnMainThreadException
11-04 21:34:00.800: W/System.err(18343):    at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
11-04 21:34:00.800: W/System.err(18343):    at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
11-04 21:34:00.800: W/System.err(18343):    at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242)
11-04 21:34:00.800: W/System.err(18343):    at java.net.InetAddress.getAllByName(InetAddress.java:220)
11-04 21:34:00.800: W/System.err(18343):    at libcore.net.http.HttpConnection.<init>(HttpConnection.java:71)
11-04 21:34:00.800: W/System.err(18343):    at libcore.net.http.HttpConnection.<init>(HttpConnection.java:50)
11-04 21:34:00.810: W/System.err(18343):    at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpConnection.connect(HttpConnection.java:128)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.makeSslConnection(HttpsURLConnectionImpl.java:460)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpsURLConnectionImpl$HttpsEngine.connect(HttpsURLConnectionImpl.java:432)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:80)
11-04 21:34:00.820: W/System.err(18343):    at java.net.URLConnection.getContent(URLConnection.java:194)
11-04 21:34:00.820: W/System.err(18343):    at libcore.net.http.HttpsURLConnectionImpl.getContent(HttpsURLConnectionImpl.java:174)
11-04 21:34:00.820: W/System.err(18343):    at it.Pia12.friloc.HomeActivity.getBitmapFromUrl(HomeActivity.java:312)
11-04 21:34:00.820: W/System.err(18343):    at it.Pia12.friloc.HomeActivity.onConnected(HomeActivity.java:240)
11-04 21:34:00.820: W/System.err(18343):    at com.google.android.gms.internal.k.y(Unknown Source)
11-04 21:34:00.820: W/System.err(18343):    at com.google.android.gms.internal.k$f.a(Unknown Source)
11-04 21:34:00.820: W/System.err(18343):    at com.google.android.gms.internal.k$f.a(Unknown Source)
11-04 21:34:00.820: W/System.err(18343):    at com.google.android.gms.internal.k$b.D(Unknown Source)
11-04 21:34:00.820: W/System.err(18343):    at com.google.android.gms.internal.k$a.handleMessage(Unknown Source)
11-04 21:34:00.820: W/System.err(18343):    at android.os.Handler.dispatchMessage(Handler.java:99)
11-04 21:34:00.820: W/System.err(18343):    at android.os.Looper.loop(Looper.java:137)
11-04 21:34:00.820: W/System.err(18343):    at android.app.ActivityThread.main(ActivityThread.java:4424)
11-04 21:34:00.820: W/System.err(18343):    at java.lang.reflect.Method.invokeNative(Native Method)
11-04 21:34:00.820: W/System.err(18343):    at java.lang.reflect.Method.invoke(Method.java:511)
11-04 21:34:00.820: W/System.err(18343):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
11-04 21:34:00.820: W/System.err(18343):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
11-04 21:34:00.820: W/System.err(18343):    at dalvik.system.NativeStart.main(Native Method)

Se sapete qualche altro metodo per rappresentare l'immagine accetto consigli... Grz

Offline GabMarioPower

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 606
  • Respect: +152
    • Github
    • Google+
    • gabrielemariotti
    • GabMarioPower
    • Mostra profilo
  • Play Store ID:
    GAB+MARIO+DEV
  • Sistema operativo:
    Ubuntu 14.04 , Win 10
Re:Rappresentare Immagine da String (url)
« Risposta #1 il: 04 Novembre 2013, 22:10:34 CET »
0
Se cerchi nel forum troverai molte domande come questa.

android.os.NetworkOnMainThreadException viene lanciata quando si lancia una chiamata internet nel main principale.
NetworkOnMainThreadException | Android Developers.

Le alternative sono utilizzare Thread, AsyncTask o librerie specializzate come Picasso, Android-Universal-Image-Loader, Ion   e  Volley.
La prima due sono specializzate per le immagini,

Offline Pia12

  • Nuovo arrivato
  • *
  • Post: 17
  • Respect: 0
    • Mostra profilo
Re:Rappresentare Immagine da String (url)
« Risposta #2 il: 04 Novembre 2013, 22:27:56 CET »
0
sisi ok eseguito il codice nel asinctask e funziona ci ero arrivato solo