I want to write an Android app which will do following in steps and I want you to help me find right APIs for them to speed up the process. The printer I am going to use support
I have been looking into this for a long time. There are almost no APIs out there, much less good APIs. The only one I have gotten to work so far is the Epson Android SDK.
This supports a number of wifi and bluetooth epson printers. With just a few lines of code, you can find the IP address of the printer you want to print with, and then add lines to the document to print. They also have a good sample app that has every kind of operation you might want to do.
You can manually write ESC commands, but it is very complecated. That is why things like JavaPos were developed, to attempt to abstract these details away. However, here is an Epson manual for ESC commands
UPDATE: the epson android sdk link is out of date. Here is an up-to-date link