Cómo entender la tecnología, en este caso Android

La tecnología y la programación son dos entidades diferentes. Puede implementar sus ideas de muchas maneras. Además, muchos lenguajes de programación son similares y solo la sintaxis es diferente. La selección del idioma varía de persona a persona. Algunos buscan uno más fácil de codificar y entienden dónde algunos buscan la última tecnología. También depende de la actitud de la persona para entregarlo rápido o entregar lo mejor.

En cuanto a su problema, cualquiera que tenga conocimiento de Java puede aprender la codificación de Android con poco esfuerzo. No habrá grandes obstáculos en su camino.

Para que la aplicación de Android interactúe con el servidor, debe escribir servicios web. Para lograr esto, debe tener un servidor (comprar dominio y espacio de alojamiento) o al menos debe tener una configuración local para probarlos. (puede usar XAMP en sus ventanas)

Para escribir servicios web, puede escribir en C # o Java o PHP o Perl o Python, etc. Pero, de nuevo, depende del entorno de alojamiento con el que vaya. Por ejemplo, si tiene un entorno de alojamiento de Windows, puede usar C #. Pero si el entorno de alojamiento es Lunux, no puede usar C #. Así que primero toma una decisión al respecto.

PHP es el lenguaje simple para preparar servicios web. Según la complejidad, puede ir con Python o Scala para implementarlos. Junto con ellos, debe saber acerca de SQL para acceder a la base de datos. Sin eso, la mayoría de los servicios web pueden no ser útiles para las aplicaciones de Android.

Avísame si aún tienes preguntas.