Archive for the ‘functions’ Category


WorkItOut 1.4.1 Screen Flow

December 19, 2009

Since the user guide within the application is pretty minimal, I have attached a screen flow to show users how to navigate through the application and displays the buttons and menu items that are available. Hopefully this clears up some questions regarding the UI.

WorkItOut 1.4.1 Screen Flow


WorkItOut 1.4 Update Coming Soon

August 3, 2009

Apologies to everyone for being so late on this update. Hoping to get it out by Friday.

This update will include Android 1.5 SDK support.

Bug fixes/features include…

More exercises (including cardio!)
No more black bar when you scroll a list
No more on-screen number pad
Ability to sort workouts by date
Ability to change the exercise date

Still working on….

Exercises in workouts being out of sync.
Empty workouts causing a force close
Clearing text field when it comes into focus

If there are any bugs I have missed, please let me know.


WorkItOut 1.3 (update) available on MarketPlace

April 12, 2009

Application Crashing on Launch

So seems as though many users had to uninstall and reinstall the application to get it to work.  Thanks to everyone’s input, we figured it out.  It was the desktop shortcut.  Since the new version was tab-based, I had to change the name of the launcher file (which is what the shortcut points to).  This was crashing Android and not the actual application.  But when you uninstall the app (and therefore get rid of the desktop shortcut), it works fine.

Import/Backup Functionality

The downfall to learning this the hard way was user’s losing months worth of data.  I spent the weekend adding Importing/Backup functionality, so hopefully this won’t happen again.  First of all, whenever you upgrade the app, it will automatically backup the data first to the SD card.  Also now the user has the ability to Email or Backup (to the SD card) their data.  It also brings the new dimension of importing data too. 



WorkItOut 1.2 Available on Marketplace

April 7, 2009

New Features

  • Home Page
  • Chart Progress (via Google Charts)
  • Tips
  • Negative/half-weights (added decimal on number pad)

Let me know if you find any bugs.



March 31, 2009

Originally I had hoped that users would not want to deal with the keyboard when in the gym, so I came up with a simple number pad to enter the workout data.  If the user wanted to open the keyboard the proportion of the screen made it so that the number pad was unreachable.  First fatal mistake – since the save button was on the number pad.  Anyway….WorkItOut 1.1 fixed that.

The goal in 1.1 was to show the number pad in portrait mode and hide the number pad in landscape mode when the keyboard slides out.

Here are the steps to achieve this:

1)  Go to the AndroidManifest

For the activity add android:configChanges=”keyboardHidden|orientation”

This allows the application to handle orientation changes and makes it so the app does not restart the activity on an orientation change.  I use it for the charts also so that the app doesn’t have to ping the Google Charts site every time you change screen orientation.

2)  Use onConfigurationChanged(Configuration change)

So now that the app is controlling the configuration changes, you have to set the behavior.  I just use an if statement with change.orientation == Configuration.ORIENTATION_LANDSCAPE

If it’s landscape hide the numpad, otherwise display it.

3)  Use getWindowManager().getDefaultDisplay().getMetrics(dm)

onConfigurationChanged only comes into play when you switch from one view to another within the activity.  But what if you enter the activity in landscape mode.  For that I used the WindowManager to get the screen dimension.  If dm.heightpixels==320 then I know I am in landscape mode.

So these steps cover all the bases for sliding the keyboard open or closing it.  Obviously there is more complexity if you want to use the accelerometer to determine which orientation the screen is currently in.


Google Charts Available End of March

March 17, 2009

Many users have asked for the ability to chart progress.  Luckily for the Google phone (and any web-enabled phone), we have the Google Charts API which magically much easier to use than I expected.  The tricky part was the data scaling especially since we are working with dates.  For example,  I worked out consistently for a couple of weeks and then skipped a month, I wouldn’t want the data to be displayed in equal intervals.  So how do you take dates and figure out the relative distance between them?  In this case I just converted everything to milliseconds which is pretty standard.  Although at first I tried to come up with my own way to convert dates to a number format which obviously didn’t end up working.  I have posted a link below and the chart.  Notice how the url contains all the information needed to create the chart, pretty nifty and its fast too!

Here’s a sample,1234512000000,1236927600000|10,13,14|1231833600000,1234512000000,1236927600000|11,14,15|1231833600000,1234512000000,1236927600000|12,15,16&chtt=Pullup&chdl=Set1|Set2|Set3&chxr=0,1231833600000,1236927600000|1,10,16,1&chds=1231833600000,1236927600000,10,16,1231833600000,1236927600000,10,16,1231833600000,1236927600000,10,16&chco=FF0000,00FF00,0000FF&chxt=x,y&chxl=0:|1-13-2009|2-13-2009|3-13-2009&chxp=0,1231833600000,1234512000000,1236927600000&chs=480×320&chxtc=1,-1236927600000



WorkItOut 1.1 Posted to Google Marketplace

February 2, 2009

New Functions

  • Update/Upgrade Notifier
  • Notes field
  • Quick add list for over 30 common exercises
  • Save function on menu (not just on the number pad)
  • Show/hide number pad
  • Set date for workouts
  • Choose number of sets ( 1-8 )
  • No more default 0’s displayed on a new exercise
  • Data saved when switching screen orientation