Building Android UIs with Custom Views

After few more months working at nights, while commuting and weekends, I managed to write a book specialised on Android Custom Views.

It covers several topics: first it explains the reasons why we need to build custom views and what are the benefits and drawbacks of using them and then, describes how to start drawing our first shapes, add animations and user interactions and do some more complex rendering or create 3D custom Views in OpenGL ES. Finally, it also shows how to share and publish our custom View and how to optimize it for performance.

It’s available as ebook and printed format and, if you’re interested, you can grab a copy in amazon:

or alternatively:

This is a rather advanced book and requires some basic knowledge of how Android works. If you want to learn how to develop applications for Android I recommend to start with my previous book:

Learning Android Application Development

These last months I’ve been very busy writing a book about Android development. It covers from the very basics to application testing and using third party libraries to make your life as a developer easier.

It’s available both in ebook and printed format, if you’re interested, grab a copy!








Speaking at mobile development conferences

These last months I’ve been speaking in some mobile conferences:

Mobiconf (Krakow – Poland)
Droidcon UK (London)
Droidcon NL (Amsterdam)

Here is a video recording of my presentation at Droidcon UK: (you can create a free account with skills matter if you don’t have one)

And here is a link to the slides, with a nice summary made by the Droidcon NL organisers:


Big thanks to Eric Lafortune for the mention in their blog!

BcnDevCon Presentation – Improving Java & Dalvik Code Performance

Last week I did a presentation at BcnDevCon about improving Java Code Performance. The focus of the presentation was showing some examples of compiled java sources and evaluate the performance impact of different ways of looping, string concatenation or using Java 1.5 features as autoboxing or foreach loops. According to java the performance optimizations are always left to the JVM, but we will see we can do many things to improve our code performance by knowing how the compiler works.

Some of these examples are also shown on Davlvik bytecode and performance tests are executed on both a computer and an android device. Even if Dalvik is register based and standard java bytecode is stack base in general terms what works for standard java can be also applied for Android apps.

On future posts I will explain in more detail the performance graphs and other topics I didn’t had time to include in the presentation.

Screen Shot 2013-11-15 at 00.51.53

Outcome BlackBerry 10 presentation

Last thursday I did an introduction to BlackBerry10 for Android developers. I focused most on the current limitations and possibilities of the Android Runtime of BlackBerry10 and I’ve also used some slides explaining how to convert a binary .apk file to a BlackBerry10 .bar file and sign using command line tools. There are, of course, easier tools (eclipse plugin, online repackager) but those don’t really need an explanation. At the end there is also a very quick introduction to QML/Qt and native vs cascades development.


Something we learned about the event is people is really tired after 4 days of Mobile World Congress and gets a bit lazy if it’s raining pretty heavily. Luckily the event was live-streamed and there is a recording of the whole presentation.

Find below some links of the event:
Pictures of the event at Google+
Slides (.pdf)
Video capture of the whole presentation

Please stay tuned for the next BlackBerry Group meeting in early April.

Few Android applications I've been working on…

I live in a rather small and calm city called Vilanova i la Geltrú, close to Barcelona and to other touristic places like Sitges, most of the time goes completely unnoticed. What applies to tourists also applies to some terms like technology, companies, … As an example, few months ago there wasn’t that much movement about mobile technologies but now seems that, slowly, companies and individuals are talking more and more about mobile apps, mobile web, mobile marketing, … As I already said, some times people doesn’t know what they need until you show them what are the options or opportunities of this “new” technology and then a new need is created for these people.

This is, of course, a very slow process. Last time I checked we weren’t yet at Silicon Valley. In Barcelona there are lot of companies, business, technological groups and, in general, global awareness about mobile technologies. Thanks in part because of the Mobile World Congress and the Mobile Wold Capital. I started noticing graphical designers are getting some small (or not that small) mobile projects, web development companies are starting to think how to provide mobile web solutions, and even some mobile app development companies are sprouting (some of them quite promising and some others not really).

My small contribution to start creating this conscience of mobile apps and mobile technology has been creating, in my free time, some small Android applications for my hometown. Give them a try, they’re a bit different (in UX/UI than most of the standard Android apps). Here is the list:

– RSS Reader of ‘Diari de Vilanova’ (Newspaper)

QR Code:

– Fira Novembre (November Fair of Vilanova i la Geltrú)

QR Code:

– Festa Major (Local Festivities of Vilanova i la Geltrú)

QR Code: