Dec
14

Social Apps on Android

At this year’s Devoxx, Google’s Tim Bray gave a thought-provoking keynote which covered several areas but what stood out for me were his comments around writing applications for Android. In summary his message was “give software away and sell a service” and “make it social”.

Giving software away and selling a service is a whole other discussion which I intend to address separately. With regards to making it social, this is fine provided that there is a significant social angle to your application.

Sep
22

Android, Grails and Heroku

Having published a first Android application Audio Clock in the Android Market my attention has turned to developing something new. Audio Clock was simple but this new application is on a whole other scale. Read the rest of this entry »

Jun
19

Galaxy Tab 10.1 USB File Transfer Issues Explained

Having struggled, cursed, been derided by iPad owners and got really irked over the synchronisation issues with the Galaxy Tab 10.1 I have spent some more time in the last few days looking into the problem in more detail. I was prompted to do this by the arrival, over the air, of Android 3.1 – which singularly failed to address the problem – so it must be a Mac software issue. As Samsung have started selling the Galaxy Tab I thought perhaps they would have made sure this issue was addressed.

Read the rest of this entry »

May
16

Samsung Galaxy Tab 10.1 (Google I/O Edition) – First Impressions

At Google I/O this year I was lucky enough to receive a Samsung Galaxy Tab 10.1, one of the latest Android tablets to ship with Android 3.0 (Honeycomb). However, being a Samsung item it does have its downsides. Samsung for some reason known only to themselves have endowed it with Samsung Kies, a synchronisation utility which requires a piece of proprietary software to run on your PC or Mac in order to transfer files over the USB cable. Kies is actually a layer on top of MTP (Media Transfer Protocol). Samsung introduced MTP in earlier versions of Android and with the Galaxy Tab 10.1, there is no other way to transfer files over USB.

Read the rest of this entry »

May
05

Using Maven for Android Development

As a habitual Maven user I’ve got used to the ease with which I can run through a build and test process and get a deployable artefact out at the end of it. I’ve been playing with Android for some time, and now I’m ready to do some serious development it is only natural that I want the same level of convenience. Here’s how to get going with Maven, based on chapter 14 of Sonatype’s Maven reference published here.

Read the rest of this entry »

Jan
08

OS X Account Migration Sleight of Hand

I recently discovered that my MacBook Pro had developed a fault whereby the DVD drive would read any DVD I cared to insert but would no longer accept blank DVDs. This turned out to be a known issue with certain brands of drive that Apple use, or just dirt on the lens (take your pick but I’m not putting a lens cleaning disc through that narrow slot). As the extended warranty on it runs until April I took it in to my local Apple store where they agreed to fix it under warranty. Somewhat caught out (I was travelling home after a few days away) I bought a Western Digital My Passport and copied my home directory, all 150Gb of it, so that I had a backup.

Arriving home I now needed to ‘restore’ my account onto my Mac Mini to get access to, well, everything. At first I wasn’t sure how easy this would be but after a search on the Apple forums I came up with the following approach which worked a treat.

First I logged in as an administrator and created an empty folder, ‘phil’, which matched the existing username on my Macbook Pro, un the /Users folder.

I then copied over the Applications and Library folders from the My Passport drive to the new folder.

Finally I used System Preferences to create a new account, ‘phil’. Seeing the existing folders I was asked if I wanted to (a) use them or (b) delete them. Choosing option (a) left me with a usable account after a few moments.

Logging in to the ‘new’ account it was like I’d never been away – everything moved across seamlessly; desktop layout, email, calendar, address book… everything I needed. Obviously I was missing some software but this can be rectified. The main thing is that there is an easy way to migrate an account, and all its setttings, between Macs when you need to do so unexpectedly, and without Migration Assistant or a Time Machine backup.

When I get my laptop back in about a week I can simply reverse the process. All my activity in email (and everywhere else) will move back and it’ll be like I never lost my good old MacBook Pro. It may be almost three years old, I may be starting to dream about a new Core i7 laptop sometime next year, but it will be missed this week. Just not as much as I expected.

Nov
12

Android 2.2.1 – No Release Notes, No Install

When Android 2.2.1 was pushed to my Nexus One I was reluctant to install it immediately. So I googled for release notes and found none. This did nothing to soothe my (perhaps irrational) concern that I was upgrading to an unknown quantity. Eventually I upgraded and of course there were no dramas.

My curiosity however continued and with the impending release of Gingerbread I decided I wanted to dig in enough to find out exactly what had changed. With still no release notes available I opted to do the only thing I could – look at the source code. So I had a dig around through the Android source code repository and noticed that Google had applied a tag, android-2.2.1_r1. This prompted me to download the Android repository and have a proper dig through.

Read the rest of this entry »

Nov
12

Writing a simple Android widget

A widget in Android is something that sits on the home screen and does something more than just allow you to start an application. Android ships with some built-in widgets and many applications provide widgets of their own. In this post, and its associated download, I aim to demonstrate that widgets can actually achieve a fairly useful function and yet still be simple and compact.

Although widgets might seem to be more involved than a ‘standard’ Android application, they are actually very simple to write. As an exercise in understanding the basics of widgets I thought I’d write a simple one that displayed the status of the wifi connection, and allowed you to change the status by touching the widget. If you are interested in finding out more about Android programming and widgets in particular, download the complete Eclipse project and keep reading. I should stress that this is not a ‘start from nothing’ tutorial – you should read into Android and widgets on developer.android.com before proceeding.

Read the rest of this entry »

Nov
10

Eclipse Keyboard Shortcuts

Being a regular Eclipse user I’ve been somewhat slow to learn all of the really useful keyboard shortcuts. Hunting around for a cheat sheet the only one I can find is this one from the Eclipse-Tools project on sourceforge.

The only downside to this fairly comprehensive cheat sheet is that it appears not to have been updated since Eclipse 3.1 in 2005, and does not cater for Mac users like myself. Still, it’s a starting point, and perhaps I’ll put out my own cheat sheet for all those Mac users out there.

Sep
18

Get Your Act Together, Google

Having purchased and immediately returned one Android tablet because it lacked the Android Marketplace I’ve been doing some research into exactly what is available, or will shortly be available, in tablet form. There are a few promising things on the horizon or already here from some relatively big names – Samsung with the Galaxy Tab, Archos with tablets in several sizes, and Toshiba with a 10″ tablet due by the looks of it for Christmas. However there are problems.

Read the rest of this entry »

Older posts «