I'd like to write an custom keyboard which should work on all devices that are running Android 4.0 and up. So first I searched the net but didn't found anything about that. So how can I create an app which replaces the stock keyboard of Android?

What I'd like to know:

  1. Is there a good tutorial out there? Do you guys have sample code?
  2. Do I need root to do this?
  3. What's the structure behind it? (Is it just a regular Activity with a Service??)
  4. Is it possible to read out the Inputbox within the keyboard?
Edit
Report