I recommend POST + JSON . I would use these technologies. Send by event (depending on your project). On energy consumption, I think that the picture will not be very different. That is, with different options ( GET , POST , Socket ) in time of discharge, I think that the picture will be approximately the same. It even affects not so much the connection as the launch of the 3G Internet connection services. That is, the most economical picture of energy consumption can be seen with a minimum number of requests (for example, if you send a request every 5 seconds or 10, the difference will be significant). That is, if the Internet service (3G) went to sleep (for example), we very much save the battery. For significant energy savings, it is necessary to proceed from the change in the sensor value (if possible), but this depends on the type of sensor. It is possible, depending on the sensor changes in the response itself from the JSON server (for example) to insert a variable after how many seconds to send the next request , this will make it possible to minimize the number of requests and create significant battery savings (if the sensor parameters have not changed for three minutes, then why do polling every three seconds). That is, to reduce the amount of launch of the Internet service Android .
If the type of sensor and the project itself makes it possible to reduce the number of requests (and the use of the Android Internet service), then this will significantly increase the battery life. If you just need to transfer one variable every strictly 3 seconds, then you will not see a significant difference with different connections, for an android system, it’s still the same as you launch the Internet (it matters a lot how many times per minute or hour, in terms of power consumption).