Android supports a variety of keyboard devices including special function keypads (volume and power controls), compact embedded QWERTY keyboards, and fully featured PC-style external keyboards.
In addition to the on-screen input methods, Android also supports hardware keyboards, so it's important that Android app optimize its user experience for interaction that might occur through an attached keyboard.