Which is the meaning of the second parameter of Drawable.createFromStream() method?
From开发者_开发百科 Android APIs I only get:
public static Drawable createFromStream (InputStream is, String srcName)
Create a drawable from an inputstream
In all examples I have read I see they use the string "src": is it the name of the directory where the drawable is cached, relative to my application's root dir?
One parallel question: where am I supposed to find Android core sources (for example of Drawable.createFromStream() method...), to avoid such silly questions, in future?
It's basically useless:
Based on Froyo source, it is used when creating nine-patch images from the resource, but not when creating a regular Bitmap:
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 }
You get there by following the Drawable code:
createFromStream
returns:
return createFromResourceStream(null, null, is, srcName, null);
which in turn uses:
return drawableFromBitmap(res, bm, np, pad, srcName);
(np comes from Bitmap#getNinePatchChunk();
) and this calls:
return new NinePatchDrawable(res, bm, np, pad, srcName);
Finally, you get to the NinePatch declaration:
public class NinePatch
Create a drawable projection from a bitmap to nine patches.
Parameters:
bitmap The bitmap describing the patches.
chunk The 9-patch data chunk describing how the underlying bitmap is split apart and drawn.
srcName The name of the source for the bitmap. Might be null.
精彩评论