47 votes

Android, Drawable.createFromStream(is, srcname) : quelle est la signification du 2ème paramètre ?

Quelle est la signification du deuxième paramètre de la méthode Drawable.createFromStream() ?

À partir des API Android, je n'obtiens que :

public static Drawable createFromStream (InputStream is, String srcName)
Create a drawable from an inputstream

Dans tous les exemples que j'ai lus, je vois qu'ils utilisent la chaîne "src" : est-ce le nom du répertoire où le dessinable est mis en cache, par rapport au répertoire racine de mon application ?

Une question parallèle : où suis-je censé trouver les sources du noyau d'Android (par exemple de la méthode Drawable.createFromStream()...), pour éviter de telles questions idiotes, à l'avenir ?

47voto

Aleadam Points 25433

C'est fondamentalement inutile :

Sur la base de Froyo source Il est utilisé lors de la création d'images en neuf parties à partir de la ressource, mais pas lors de la création d'un bitmap ordinaire :

852 private static Drawable drawableFromBitmap(Resources res, Bitmap bm, byte[] np,
853         Rect pad, String srcName) {
854
855     if (np != null) {
856        return new NinePatchDrawable(res, bm, np, pad, srcName);
857     }
858
859     return new BitmapDrawable(res, bm);
860  }

Vous y arrivez en suivant le code Drawable :

createFromStream retours :

return createFromResourceStream(null, null, is, srcName, null);

qui utilise à son tour :

return drawableFromBitmap(res, bm, np, pad, srcName);

(np vient de Bitmap#getNinePatchChunk(); ) et cet appel :

return new NinePatchDrawable(res, bm, np, pad, srcName);

Enfin, vous arrivez à la déclaration de NinePatch :

public class NinePatch

Créez une projection dessinée à partir d'un bitmap à neuf patches.

Paramètres :

bitmap Le bitmap décrivant les patchs.

chunk Le chunk de données de 9 patchs décrivant comment le bitmap sous-jacent sous-jacente est divisée et dessinée.

Nom de la source Le nom de la source de l'image bitmap. Peut être nul .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X