Check out this neat way to control your Arduino from Android: RLCD Arduino Demo on YouTube
It's an Android app that shows a virtual LCD driven by the Arduino. Programming only for Arduino you can display a text-based UI on the RLCD app on Android. RLCD sends touch events to the Arduino so the Arduino can take action.
This allows you to easily program a UI custom to your Arduino application that can show values, initiate processes, or change settings (unlike apps that just let you flip I/O lines). Best of all you write the UI in Arduino code without writing any Android code. [Check out the Arduino code link below.]
This is a new open source project that is just getting started called Remote LCD. The code for the Android app, RLCD, is available as are examples for Arduino, Spark Core, and devices that run Python. Communication can be over Bluetooth or WiFi. The Remote LCD project home page is https://sourceforge.net/projects/rlcd
As a new project there are plenty of opportunities for contributions. We don't yet have an Arduino library, and there could even be additional libraries that add buttons, sliders, and other UI elements. The Remote LCD protocol is open and simple (a handful of commands) and we would love to have an iPhone app if anyone is up to the challenge.
Please try it out and share your experiences. The RLCD app can be downloaded directly from the project here: http://sourceforge.net/projects/rlcd/files/binaries/RLCD-v0.2.apk/download Update: The Arduino library is here: RLCD Arduino Library and it includes a really simple to use example.
Please share your thoughts or ask any questions.