Send data with ESP8266 to android app

If you want to send a lot of real-time sensor data over WiFi, consider using the WebSocket protocol. I've used it successfully for sending real-time controls to an ESP8266 vehicle and for receiving real-time wireless "oscilloscope" data from the analog input of the ESP. I had a team member write most of the java (Android Studio) code but I remember having trouble connecting at first. Specifying the protocol version ("Draft 17", IIRC) in the Android app solved it, and it worked great.

You could probably use cellular data, and set up a WiFi hotspot on the phone. Then have the ESP connect (as a station) to that hotspot. You'll have to check if Android apps have direct network access to stations connected to the hotspot. There's going to be some NAT involved.

A Beginner's Guide to the ESP8266

Pieter