Some tips:
- Read this tutorial: Creating an Input Method
- clone this repo: LatinIME
About your questions:
An inputMethod is basically an Android Service, so yes, you can do HTTP and all the stuff you can do in a Service.
You can open Activities and dialogs from the InputMethod. Once again, it’s just a Service.
I’ve been developing an IME, so ask again if you run into an issue.