to develop such app you have to take into consideration the heterogeneity of the used devices and communication prortocols , for that many platforms are developoed but they steal remain set a lot of reconfugration and implimentation as needed , for example for andoird there was this pltfrom https://www.wyliodrin.com/
and many other depend on M2M protcols such as mqtt amqp coap using java library
the link below shows ddiffrenet tools used to ddevlop iot applications