If you're familiar with the Arduino then SparkFun's new IOIO for Android should get you really excited. A straightforward way to get I/O from an Android 1.5+ device's USB connection, the IOIO board uses a simple Java API to hook into your app and then allows you to link external sensors, inputs and other controls with your own software and the capabilities of the Android device itself.
Among the connectivity choices are Digital Input/Output, PWM, Analog Input, I2C, SPI and UARTcontrol. SparkFun have tested it with the T-Mobile G1, Google Nexus One and Nexus S, and Motorola's Droid X (along with an unspecified tablet) but it should play nicely with other Android devices too.
The firmware is all open-source and no modifications are necessary to the handset itself, so you shouldn't impact your warranty. It's available for pre-order now, priced at $49.95.