IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Afficher WEBP depuis URL


Sujet :

Android

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 64
    Points : 53
    Points
    53
    Par défaut Afficher WEBP depuis URL
    Salut,

    Ca fait une journée que je suis sur ce problème, je commence à désespéré ...

    J'essaye de récupérer et d'afficher des icones du playStore : Genre le top jeux

    Ces icones sont de type WEBP.

    J'ai essayer en récupérant les données et en les décodant directement avec BitmapFactory (fonctionne de temps en temps ...), j'ai aussi essayé en utilisant la lib libwebp, mais quand je compare les données récupérés avec la fonction "WebPGetInfo" de la lib, ca me renvoit zéro (comme quoi les données ne sont pas du type webp ...)*

    Voici un des codes que j'utilise (celui avec webp) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    public static Bitmap getBitmapFromURL(String src) {
    			HttpURLConnection connection = null;
    			Bitmap bmp = null;
    		    try {
    		        connection = (HttpURLConnection) new URL(src).openConnection();
    		        connection.setRequestMethod("GET");
    		        connection.setUseCaches(false);
    		        connection.setDoInput(true);
    		        connection.setDoOutput(true);
    		        connection.setRequestProperty("Content-Type", 
    		 	           "image/webp");
    		        connection.connect();
     
    		      //Send request
    			      DataOutputStream wr = new DataOutputStream (
    			                  connection.getOutputStream ());
    			      wr.writeBytes ("");
    			      wr.flush ();
    			      wr.close ();
     
    			      //Get Response	
    			      BufferedReader rd = new BufferedReader(new InputStreamReader(connection.getInputStream()));
     
    		        ByteArrayOutputStream baos = new ByteArrayOutputStream();
     
    		        byte[] buf = new byte[4096];
    		        while(true) {
    		        	String n = rd.readLine();
    		        	if(n == null)break;
    		        	baos.write(n.getBytes(), 0, n.getBytes().length);
    		        	baos.write('\n');
    		        }
     
    		        byte data[] = baos.toByteArray();
                            // From the lib's exemple 
    		        int[] width = new int[] { 0 };
    		        int[] height = new int[] { 0 };
     
    		        int test = libwebp.WebPGetInfo(data, data.length, width, height); // test = 0 ! ! !
     
    		        byte[] decoded = libwebp.WebPDecodeARGB(data, data.length, width, height); 
     
    		        int[] pixels = new int[decoded.length / 4];
    		        ByteBuffer.wrap(decoded).asIntBuffer().get(pixels);
     
    		        bmp = Bitmap.createBitmap(pixels, width[0], height[0], Bitmap.Config.ARGB_8888);
    		    } catch (IOException e) {
    		        e.printStackTrace();
    		    }
     
    		    return bmp;
     
    		}
    Merci d'avance pour votre aide

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Bonjour,

    Tout d'abord avec compressFormat ca devrait fonctionner d'après la doc : http://developer.android.com/referen...essFormat.html

    Un lien intéressant qui utilise la lib "libwebp" : http://stackoverflow.com/questions/7...bp-for-android

    Enfin voici ce que dit Wikipedia : http://en.wikipedia.org/wiki/WebP#Support

  3. #3
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 64
    Points : 53
    Points
    53
    Par défaut
    Entre ce que Google promet aux devs dans JellyBean et ce qu'on a vraiment
    Le lien vers StackOverflow date d'il ya 2 ans(2 versions plus bas), maintenant il y'a la doc google
    https://developers.google.com/speed/...ndroid_project

    J'etais en train de tous refaire en suivant ces étapes ... maintenant j'ai une NoDefClassFoundError quand je veux utiliser la lib ... impossible de m'en débarrasser ><

  4. #4
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    En général c'est que c'est pas la bonne version de la lib. Effectivement, si le post date de 2 ans, il est possible que le code n'est plus d'actualiser pour les nouvelle version de la lib.

  5. #5
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 64
    Points : 53
    Points
    53
    Par défaut
    Avec la version d'il ya deux ans, j'arrivais a accéder aux fontions mais elle ne renvoyait aps ce qu'il faut, c'est avec la version d'aujourd'hui que j'ai la NoClassDefFoundError ...

  6. #6
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Points : 2 808
    Points
    2 808
    Par défaut
    Dans ce cas, il faut que tu remplaces la fonction qui n'existe plus (NoClassDefFound) par la nouvelle de ta bibliothèque...
    Quelle est cette fonction?

  7. #7
    Membre du Club
    Inscrit en
    Janvier 2008
    Messages
    64
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 64
    Points : 53
    Points
    53
    Par défaut
    Toutes
    Il ya peut etre un probleme lors de la compilation avec NDK, je connais aps bien cet outil.
    J'ai bien tout ajouté, il trouve la lib à la compilation ... peut être un clean mal fait ...

    EDIT : Si ca peut aider, mon debbuger s'arrete avant de passer dans le code. Il s'arrete dans BaseDexClassLoader.class (dans android.jar donc je n'ai aps le code) Me disant : The source attachement does not contain the source for the file BaseDexClassLoader.class
    J'vais chercher par là.

Discussions similaires

  1. [technique] Cacher la vrai URL et afficher une autre URL ?
    Par schnito dans le forum Général Conception Web
    Réponses: 21
    Dernier message: 04/01/2012, 12h54
  2. [MySQL] Insertion Image depuis url en PHP
    Par Tillow dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 07/10/2007, 14h29
  3. [ImageMagick] Miniature d'image depuis URL
    Par VFone dans le forum Bibliothèques et frameworks
    Réponses: 3
    Dernier message: 10/09/2007, 15h46
  4. Réponses: 1
    Dernier message: 23/08/2006, 09h26
  5. recuperer argument depuis url
    Par jejam dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 06/01/2006, 11h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo