First of all, you may wish to have a look here, and setup a memory card in your project directory called my128MbCard if you want to use any of the scripts or have a look at the TraceViews of our application.

Starting the emulator from eclipse to the Android Home Screen: 1 minute 50 seconds+

Starting the emulator from the command line to the Android Home Screen: ~30 seconds.
(using this command: emulator -avd 1.5sdcard -skin G1 -sdcard my128MbCard)

That’s over 3 times faster!

Anyways give it a crack, YMMV.

I’ll be uploading a few shell scripts to the github repository that:

  • Start the emulator
  • Install the application to the emulator or device and then runs it
  • Uninstall the application from the emulator or device

Note: If you deploy using Eclipse, then uninstall using the command line, then try to deploy again from eclipse, you may encounter the situation where eclipse thinks the application is installed, but it isn’t, so you will enjoy the following infinite loop:

[blah] Application already deployed. No need to reinstall.
[blah] Starting activity com.candlelightproject.lifemap.LifeMap on device
[blah] ActivityManager: Starting: Intent { comp={com.candlelightproject.lifemap/com.candlelightproject.lifemap.LifeMap} }
[blaht] New package not yet registered with the system. Waiting 3 seconds before next attempt.

Simply do a Project->Clean in eclipse, and the deploy will work again.

I’m going to have a play around with TraceView and see if there are any places we can look to optimise in our current application as it stands.

Been having some trouble accessing the calendar data that will be stored on the phone for users of the Calendar application.

The root cause of this trouble is:

  • The Android v 1.1r1 SDK does not include the Calendar application or CalendarProvider (the preferred method of requesting information from another application on an Android phone.

Now, Android applications basically store their data as SQLite3 databases on the phone, so I attempted to pull my calendar database from my Android Dev Phone 1.  Turns out that it is a protected file and cannot be copied off the phone … So I tried to build and put the Calendar application and CalendarProvider functionality into the current Android v1.1r1 SDK, which almost seemed like it would work, until the Google Sign In utility hanged, so it wasn’t possible to setup the Calendar application at all (I was ultimately left with an empty calendar database).

So at this stage I’m left with a few options:

  1. Poke around the empty Calendar SQLite3 database, and use raw SQL commands to potentially create new calendars, events etc.
  2. Somehow get the current cupcake or master branch to compile with the Calendar application and the CalendarProvider functionality.  This would be ideal as using the CalendarProvider should hopefully make the end code more easily adaptable to any future changes in the source tree.
  3. Use the XML based Google Data API to create XML requests to be sent over HTTP to perform the desired functionality.  I’ve seen quite a few mentions of people having all sorts of difficulty getting this method to work on Android, so I’m a bit hesitant about heading down this path.

I’m thinking either option 1 or option 2 will be the way to go, so I will have to start looking into those options a bit more deeply.

In the meantime I might have a play around with the GUI side of things for a day, should be able to make a contribution or two in that aspect of the project.

Entry Marker

— more to come soon.

The Core Idea:

Android Sports Tracker is an application for the Android platform that is to provide functionality similar to the Nike+ adapter / software for the iPod. The similar functionality is that the application shall track how far you have run over time and provide the calories that you have burnt for each workout you perform. However, the Android Sports Tracker will also work for cyclists (calculating their expended calories) as well as saving and showing a plot of the route travelled during the workout using Google Maps.

Pros:

  • 80% of the idea has been proven to be achievable on the Android platform.
  • Makes use of Google Maps API and the GPS avaiable on the HTC G1.

Cons:

  • There already exist at least 2 applications (CardioTrainer, My Tracks) that are for the most part the same as this idea.
  • Difficult to do a live demo.

Extensions on the Core Idea:

  • Use previous metrics on workouts to provide feedback on the current workout during the workout. (i.e. At fixed intervals inform the user if they have travelled further / burnt more calories than the same point in the last workout)
  • Detect the BPM the user is jogging at by making use of the accelerometer, then provide feedback derived from that information. Perhaps this can be tied into the Android music player application thereby enabling the software to select songs that match the speed the user is running at.