Recently I started doing research into how the SmartDashboard software works because my team asked me to look into it as an alternative dashboard (we used to design our own LabView dashboard but our LabView programmer graduated).
Since I found it to be quite interesting and thought it had a ton of potential, I decided to start working on two projects: SmartDashboardLib and SmartDashboardDroid.
SmartDashboardLib is a wrapper library written in Java that allows anyone to easily use the NetworkTables 2.0 interface to create their own “SmartDashboard”, or at least a program that is compatible with it. With this library, you could use the normal SmartDashboard libraries on the robot and not have to worry about using NetworkTables directly.
SmartDashboardDroid is pretty much the SmartDashboard program ported to Android. I coded it from scratch using my SmartDashboardLib, and it does not have all the features that the desktop SmartDashboard has, but as I keep updating it I will continue adding more features. Currently it has the ability to connect to the robot, add/update fields according to whatever was changed over the network (be it from the robot, the SmartDashboard software, or another program that interfaces with it), and send data back if you change it in the app.
Both projects are hosted on FirstForge:
SmartDashboardLib: http://firstforge.wpi.edu/sf/projects/smartdashboardlib
SmartDashboardDroid: http://firstforge.wpi.edu/sf/projects/smartdashboarddroid
The apk (installer) for SmartDashboardDroid can be downloaded from www.animiku.com/dl/SmartDashboardDroid.apk or from the FirstForge file releases page.
Both projects are open-sourced and licensed under the GNU GPLv3. For more information look at COPYING.txt in the SVN repositories on FirstForge.