So, after some long effort. I made one android app, very simple app which can send data to any server ip address I load at a defined port.

I also attached one PIC with a wifi module which can do the same as the app i.e send data to a server IP at specified port. I want to take my app anywhere outside and be able to communicate with my PIC.

What I have learned upto now is that I need a fixed IP for this, app and PIC can both communicate to this fixed IP and exchange messages with each other. Can someone please explain what exactly is required to make this possible? I read about fixed IP, but no one mentions more than this like providers, what to look for in a provider, approximate costs, any other software needed etc