I retrieve data from an external server for use with my android application. I would like this data to be only accessible with my app. I use a standard http connection to ge
Android requires that one should sign their app(signing authority or self signed) before it can be installed. We can utilize this to check whether requests are coming from your app or not.
Even in that case where someone tampers with your app, he has to sign it again before it can be installed, which would change the apps signature and our validation mechanism would simple reject all such requests.
This answer is based on this blog. Use https for app<->server communication.