7 copy & paste snippets for Android

I listed seven common tasks that Android developers often face, it’s the kind of stuff that interrupts your train of tought and makes you think “Oh God.. this is boring and I have other things to do, let’s google for some code”.
And here it is. In no particular order.
Just copy and paste, no questions asked.

How to rotate a Bitmap in Android

This will rotate any Bitmap to the desired angle, in degrees.

How to copy a file in Android

The smart way, without that nasty new buffer[1024] thing.

How to delete a directory in Android

Yes, the directory itself and all the files and subdirectories recursively.

How to convert a byte array into an hexadecimal String

I will probably google this in the future and find my own post.

How to convert Android dps to pixels

You are welcome.

How to copy a directory in Android

Again yes, the directory itself and all the files and subdirectories recursively.

How to extract a zip archive in Android

This will extract any zip archive to the desired location on the filesystem.


Using BitmapShader in Android

Recently I had to implement some custom UI controls for one of our customers, and some of these controls involved drawing Bitmaps with rounded corners.
Android provides a handy approach to this problem, all the magic can be done with a little help from a class named BitmapShader.

With BitmapShader you can draw bitmaps in any shape and even more, here’s an example:


What BitmapShaderdoes is basically providing a pixel source to a Paint object, when you draw something on a Canvasyou have to specify the Paintinstance that will be used to paint your stuff, if that Paintis bound to a BitmapShader you’ll get your stuff painted using the Bitmap that the BitmapShaderwas created with.

Here’s how to create a BitmapShaderobject:

With the BitmapShaderin place you can now draw anything you want using a Paint which is bound to the shader, the binding can be achieved with the setShader() method of the Paint class:

Now everything is in place and you can start drawing your bitmaps, following is a list of what I did in the example screenshot above and the code I used to achieve each sample, also note that in order to draw on a Canvas I created a custom View subclass and I added the drawing code inside the onDraw() method, in a real scenario however try to avoid allocating stuff inside the onDraw() method.

Rounded corners


Bottom corners rounded


Top corners rounded




Narrow oval


Wide oval