Android

ScrollView’s handy trick

ScrollView's handy trick

ScrollView is one of Android’s most commonly used widget and is also one of the easiest to use. When something is too big to fit on screen, drop it inside a ScrollView and you’re done. You can’t even get it wrong since a ScrollView accepts only one child at a time. There is, however, one [...]


Android to Photoshop

Android to Photoshop

Android 2.2 was unveiled a few days ago at Google I/O and the SDK is now available for download. Android 2.2 offers numerous improvements and new features and there is one I would like to talk about in detail, the new Capture PSD tool. Capture PSD can be found in HierarchyViewer and requires an emulator [...]


Android Party

Android Party

Nexus One live wallpapers

Nexus One live wallpapers

You are probably aware that our new Nexus One Android phone comes loaded with live wallpapers. I had the chance to work on some of them and I wanted to share with you high-resolution images of Grass and Galaxy. These two wallpapers were prototyped as desktop applications and you can see below what they look [...]


Nexus One wallpapers

Nexus One wallpapers

Now that Nexus One is available, I can share with you the high resolution versions of several of the wallpapers that ship on the phone. The photos are available in resolutions up to 22 Mpixels. Enjoy!


Android at Devoxx 09

I will be at Devoxx from November the 16th to the 20th to talk about Android. My session will explain how to write resolution independent applications. I will also introduce you to a new exciting graphics technology we’ve been working on.


Google I/O videos available

Google I/O and JavaOne are finally over and it’s a good thing, because after 5 sessions and 1 keynote, I was getting a bit tired :) The good news for you is that all of the Android sessions we gave at Google I/O are available online. You can watch the entire video recording of each [...]


Drawable mutations

Android’s drawables are extremely useful to easily build applications. A Drawable is pluggable drawing container that is usually associated with a View. For instance, a BitmapDrawable is used to display images, a ShapeDrawable to draw shapes and gradients, etc. You can even combine them to create complex renderings. Drawables allows to easily customize the rendering [...]


Upcoming conference talks

The next few weeks will be quite busy for me. I’ll be at Google I/O the last week of May in San Francisco to give a talk on Android entitled Turbo-charge your UI. If you want to learn cool techniques on how to improve the performance of your Android applications, that’s where you want to [...]


Android 1.5 is available

Android 1.5 is finally available! You can get the brand new SDK as well as a new system image for the Android Developer Phone 1.


Android Layout Tricks #4: Optimize, Part 2

Sharing and reusing layouts is very easy with Android thanks to the <include /> tag, sometimes even too easy and you might end up with user interfaces that contain a large number of views, some of which are rarely used. Thankfully, Android offers a very special widget called ViewStub, which brings you all the benefits [...]


Speed up your Android UI

Some Android applications require to squeeze every bit of performance out of the UI toolkit and there are many ways to do so. In this article, you will discover how to speed up the drawing and the perceived startup time of your activities. Both these techniques rely on a single feature, the window’s background drawable. [...]


Android Layout Tricks #3: Optimize, Part 1

In the previous installment of Android Layout Tricks, I showed you how to use the <include /> tag in XML layout to reuse and share your layout code. I also mentioned the <merge /> and it’s now time to learn how to use it. The <merge /> was created for the purpose of optimizing Android [...]


Android Layout Trick #2: Include to Reuse

Android comes with a wide variety of widgets, small visual construction blocks you can glue together to present the users with complex and useful interfaces. However applications often need higher level visual components. A component can be seen as a complex widget made of several simple stock widgets. You could for instance reuse a panel [...]


Android Layout Tricks #1

The Android UI toolkit offers several layout managers that are rather easy to use and, most of the time, you only need the basic features of these layout managers to implement a user interface. Sticking to the basic features is unfortunately not the most efficient way to create user interfaces. A common example is the [...]


Faster Screen Orientation Change with Android

Android is a mobile operating system meant to be run on a wide array of devices, with very different hardware configurations. Some devices, like the T-Mobile G1, can change their hardware configuration at runtime. For instance, when you open the keyboard, the screen change from the portrait orientation to the landscape orientation. To make Android [...]


Track memory allocations on Android

Despite the impressive hardware of the first Android phones (T-Mobile G1 and ADP1) writing efficient mobile applications is not always straightforward. Android applications rely on automatic memory management handled by Dalvik’s garbage collector which can sometimes cause performance issues if you are not careful with memory allocations. In a performance sensitive code path, like the [...]


Shelves, an Open Source Android application

A few months ago, I showed Shelves, an application to manage a collection of books on Android powered phones. I am an avid user of Delicious Library on MacOS X and I since no similar application existed at the time for Android, I decided to write my own. Needless to say, Shelves was largely inspired [...]


Why is my list black? An Android optimization

ListView is one of Android’s most widely used widgets. It is rather easy to user, very flexible and incredibly powerful. ListView can also be difficult to understand at times. One of the most common issues with ListView happens when you try to use a custom background. By default, like many Android widgets, ListView has a [...]


Avoid memory leaks on Android

Android applications are, at least on the T-Mobile G1, limited to 16 MB of heap. It’s both a lot of memory for a phone and yet very little for what some developers want to achieve. Even if you do not plan on using all of this memory, you should use as little as possible to [...]


Android: Can I use this Intent?

Android offers a very powerful and yet easy to use tool called intents. An intent can be use to turn applications into high-level libraries and make code re-use something even better than before. The Android Home screen and AnyCut use intents extensively to create shortcuts for instance. While it is nice to be able to [...]


Devoxx 08 Wrapup

Devoxx is unfortunately over but it was, as usual, awesome! Congratulations once again to the Devoxx team for their hard work and a fantastic result. I am really glad where the conference is going as this year it wasn’t only about Java. We thus got sessions on Flex, Silverlight, Groovy, Android… I can’t wait to [...]


Official Android Development Phones

As of today, developers can buy an Android development phone. What is so great about it? It is not SIM-locked and you can flash the firmware with the Open Source Android code base. These developments phones are basically what the Android team uses every day. They’re even better because they are based on the final [...]


IntelliJ IDEA 8

I’ve been using IntelliJ IDEA 8 since its recent release and I love it. There are not many new features I will use but the UI and performance improvements are most welcome. Congratulations to the JetBrains team for another excellent release!