Posted on by | Posted in Developer Blog, Mobile Blog, Tutorial | Tagged , , , ,


In my previous post, I showed you the basic setup for android with maven using the android-maven-plugin. Now I'll show you how to configure it to make releases with maven, and how to configure the plugins to save you some work.

Configuring the keystore data

If you have used the release archetype like in the previous post, most of the work is already done. The necessary plugins are configured and only need some additional data, like the data for your release keystore.


Posted on by | Posted in Developer Blog, Mobile Blog, Tutorial | Tagged , , , , ,


Building and managing Android projects with maven is not as easy as it could be. So in this blog, I'll show you how we managed to get it work nicely.

In this example, we'll create a parent project with an app module and a separate instrumentation tests module.


Posted on by | Posted in Mobile Blog, Tutorial | Tagged , , , , , , ,


We had a case in an internal app, where on Phones only the Portrait mode should be possible and on Tablets only the Landscape mode. So I googled a bit and tried out some things, and here is the solution I found for this problem.

First, in each Activiy in the AndroidManifest (or each Activity that should have this behaviour, but I prefer a consistent behaviour for the whole app), declare the following:


Posted on by | Posted in Mobile Blog, Tutorial | Tagged , , , , , ,


Within the scope of some Android R&D I took a look at Google's Cloud Message Service, GCM.

Well, the starter guide at http://developer.android.com/google/gcm/gs.html is almost all you need to get started, so I'll explain my setup and some further instructions for a small test case.

In case you already decided to setup GCM for yourself: make sure to do the guide above until you reach the 'Writing the Android Application' part.


Posted on by | Posted in Mobile Blog, Tutorial | Tagged , , , , , , ,


In today's tutorial I'd like to show you how to implement a ListView, that only displays a limited number of entries. With a button at the end of the list, the user can load more entries.

To achieve this goal, we first need to implement a basic Adapter that provides our ListView with the entries:


Posted on by | Posted in Developer Blog, Open Source Blog, synyx Blog, Tutorial


It is hard to imagine a web project without JavaScript code today. JavaScript is an easy to learn and very performant script language. In the past we have used JavaScript mostly for eye-candy and form validation. Recently we have been asked more often to implement complex user interfaces with trees, sortable tables and things like that. So we decided to rely more on JavaScript to improve the feedback of the website to user actions.


Posted on by | Posted in Mobile Blog, Tutorial | Tagged , , , ,


In a recent project I encountered a problem with SQLite on android 2.1. On later versions, my code worked perfectly, but on 2.1 it crashed every time when trying to get a column from a cursor.

Here's the simplified code:


Posted on by | Posted in Mobile Blog, Tutorial | Tagged , , ,


In my last project I needed to implement a ListView with rounded corners, because the app had to be supplied for Android and iPhone and they needed to look somewhat alike.
In this blogpost, I want to show you how I've implemented it and hopefully help some people who also want to use ListViews with rounded corners:

First off, we need the drawables for the backgrounds of the Lists entries:


Posted on by | Posted in Mobile Blog, Tutorial | Tagged , , , ,


One of the most impressive talks for me at WWDC 2010 was session 306 - "Automating Use Interface Testing with Instruments". I've been wanting to check it out ever since iOS 4 was released. A couple of weeks ago, I finally had a chance to give it a test ride using our very own App "I think I spider".


Posted on by | Posted in Mobile Blog, Tutorial | Tagged , , ,


When prototyping Android activities with a lot of view elements, the onCreate method can quickly become cluttered. Setup code that simply retrieves the views from the declarative layout (by using findViewById(int id)) quickly fills up your code. Similar, small helper classes need to be instantiated and configured, though this code is not -- strictly speaking -- part of the actual functionality of your activity class. Time to refactor and make your activity concentrate on it's actual task again!