Que necesito aprender para programar aplicaciones en Android?

Buenas, a ver si podeis aclararme que necesito aprender para programacion en android, porque miro por google y no me aclaro nada, pensaba que java era un requisito y ya estaba mirando un curso para java, pero luego me han dicho que no es lo que necesito, asi que me puse a buscar y ya me hecho un lio, me a parecido entender que necesito aprender mas de un lenguaje incluso xD

En fin, lo dicho, a ver si me podeis aclarar el tema si hace alguien el favor [beer]
La primera pregunta, ¿sabes algún lenguaje de programación?

Lo ideal es aprender algún lenguaje de alto/medio nivel, Java ya esta bien aprenderlo por que supongo que es lo más extendido dentro de Android, pero también existen frameworks como Xamarin que puedes programar en C# (y en C++ me parece que también) para Android sin problema alguno.

Si no sabes programar y quieres ir a tu ritmo, tira por algún lenguaje como C#, Python, ..., y si te atreves a por C/C++ que te ayudarán a curtirte un poco más. Sino directamente a Java (a mi es un lenguaje que no me gusta, pero te abre muchas puertas y tienes recursos infinitos).

Además de que también tienes webframeworks como React, etc... Para Android tienes posibilidades por todos lados, seguramente es aquí donde te estás perdiendo. ¿Que necesidades reales tienes?
El lenguaje de programación en Android es Java. En segundo lugar (porque prácticamente nació para Android y en las guias del sitio para desarrolladores de Android se usa de forma prioritaria) Kotlin.
Fuera de esto pues es posible usar muchos lenguajes, frameworks...

Como te ha dicho @LuffyOPFan depende de si sabes programar o no. Personalmente te recomiendo java.
@LuffyOPFan @NiATiros Lo dejamos en que no se programar, se algunas tonterias que ni se tienen como un lenguaje de programación, pero vamos, nada.

Mis necesidades, es largo de explicar, pero muy resumido (resumo faltal yo xD), si tienes un niño con TEA y te recomiendan aplicaciones con digamos ciertos estimulos para el, te encuentras que literalmente salvo 1 no hay aplicaciones dirigidas a niños con TEA en toda la store de android, lo que quiero es crear algunas por el (y que le serviran a cualquier niño con TEA) con el apoyo ademas de centros porfesionales como Adansi y otro del sector de la logopedia donde asiste mi nene.

Los "sellos" suenan feos, TEA basicamente es un niño con autismo, pero no el autista que te viene a la cabeza, TEA es "Trastorno del Espectro del Autismo", mi nene tiene un grado minimo (siendo el maximo grado el autista que conoces) y probablemente no se lo notes si no le conoces un poco, pero tiene ciertas necesidades a la hora de enseñarle y requiere ciertos estimulos.

2 profesionales diferentes me recomendaron ponerle aplicaciones en una tablet que desarrollen algunos aspectos, el problema es que no vale cualquier cosa, y que solo una aplicacion en toda la store va dirigida a niños con TEA (Mita), mi idea es, y da igual el tiempo que me lleve, puedo aprender cualquier cosa que me haga falta, crear algunas aplicaciones que le den a mi nene lo que necesita en los ratos que le dejemos la tablet para ello, que tampoco es algo de lo que se tenga que abusar, vamos que no es plan que tenga una tabelt en mano todo el dia, sino un rato xD la aplicacion pues no solo seriviria para el, irá dirigida a niños con TEA basicamente, los "juegos" (llamemoslos asi) se harian contando con la ayuda de los centros mencionados, ya que ellos saben los estimulos que necesitan, que para puzzles y jueguecitos corrientes tienes de todo en la store, pero eso no les ayuda a este tipo de niños.

Basicamente eso [+risas] no conozco ningun lenguaje de programacion pero vamos, me atrevo con todo, tampoco creo que vaya a necesitar un nivelazo para crear algunas aplicaciones relativamente simples, si echais un vistazo a la aplicacion "Mita" en la store de android y veis de que va, sabreis a que me refiero, necesito aprender lo necesario, tampoco me importa extenderme un poco mas, y segun lo que me digais, buscar por aqui a ver si hay algun centro donde den las clases, no llevo bien las clases a distancia, necesito asistencia o me cuesta horrores concentrarme [+risas]

P.D: Esto solo seria un pequeño apoyo mas claro, el tiene sus apoyos en el colegio (va a infantil todavia, tiene 4 años), 2 veces por semana al logopeda y tiene revisiones cada X meses con otros profesionales para ver los avances (lo que nos piden, no son privados vamos (el logopeda si por recomendacion de los otros), son las citas que nos dan para ver su evolucion), pero que todo va de maravilla, ademas es un niño muy inteligente (la insistencia en esto ultimo por parte de la orientadora del colegio es abrumadora xD), cualquier cosa que ve u oye se le graba a fuego, aprende mas cosas solo de las que nos gustaria (no deja bien enseñarse, cuando quieres hacerlo se frustra (todavia es muy pequeño, que no ayuda xD) pero va el solito y aprende cualquier cosa por su parte, lo que nos frustra a nosotros, que estas ahi dandolo todo para que luego lo haga el solito, es pa matarlo [qmparto]

Gracias chic@s [beer]

Edito: Bueno entonces me lanzo primero a C# y Python sabiendo que no se programar para al menos tener unas bases, y luego Java? o C y C++ despues de lo otro y finalizo con Java? tampoco quiero tirarme 3 años, me gustaria ayudar a mi chico lo antes posible, cuando son pequeños es cuando mas apoyo necesitan y aun que mi idea es bastante secundaria para su desarrollo, todo apoyo es bueno, si tengo que meterme en todo eso y me lleva tiempo pues que asi sea, pero si hay prioridades y puedo dejar algo de eso para despues para ir haciendo algo pues mucho mejor, no se si me explico jeje
Pues principalmente buscaria lenguajes de alto nivel y fácil aprendizaje (C# o Java son buenos candidatos y con cientos de recursos), y que te armes de paciencia, mucha paciencia.

C/C++ son lenguajes un poco más puñeteros pero te sirven para entender un poco más como interactúa una máquina, y ya si hablamos de lenguaje ensamblador, etc... es otra historia xD

Si quieres hacer pequeñas aplicaciones, o mejor dicho, una aplicación que contenga todas esas pequeñas lo que te recomendaría es aprender a utilizar Unity. Puedes programar en C# y encontrar millones de recursos gráficos y tutoriales (tanto gratis como de pago), además de ser un lenguaje limpio, fácil de entender y cada vez tiene más soporte.

Con Unity tienes muchas, pero que muchas posibilidades, tanto como utilizar matemáticas básicas como muy complejas, comerte la cabeza con mil puzzles, ... así que prueba a aprender lo más básico de programación (estructuras, funciones, bucles, ...) y peleate contigo mismo.

Por último te voy a dar el mejor consejo: cuando te pete compilando, hayas utilizado mal alguna función, etcétera... prueba a darte un paseo por Google.

Suerte con el proceso y con el chaval, que poco a poco irá viendo tus lindezas [oki]
@LuffyOPFan Ok, entonces empiezo por C#, hay que empezar por algun lado, hay cursos por aqui de varios lenguajes, el problema va ser ahora que ni dios da clases, me toca esperar un par de semanas (y espero que no mas xD) porque está todo cerrado, ya sabes porque [qmparto] [qmparto] a ver que tal se da el tema, puedo decirte que entiendo como funciona por ejemplo JSON (de ahi a conocerlo en profundidad hay un trecho, pero tengo manejo), y de hecho edito archivos escritos en ellos para hacer lo que yo quiero que hagan por ejemplo en (Starbound, que para modding usa JSON y LUA y me manejo bastante bien al final, que creo que está basado en Javascript, tambien entiendo y he hecho mis cosillas en LUA, batch no lo cuento porque es demasiado basico, es bastante util eso si, para hacer chorradillas que te faciliten la vida en pequeñas tareas XD

Asi que bueno a ver como se da el tema, muchas gracias por todo, en cuanto se abra la veda y vuelva a haber normalidad y haya cursos disponibles de nuevo (supuestamente 15 dias va durar esto de cerrar todo xD), vamos a tope con ello [beer]
Con c# podrás programar en unity, que compila para android. Es una opción perfectamente válida.
Te facilitará el paso a java si decides aprenderlo más tarde, aunque usando unity no te haría falta.

Suerte con ello (y un abrazo al crio).
Hola:

Haz tus primeros pinitos desde el Pc. Hoy en día el lenguaje C# es más fácil. Sin saber programar, puedes mirar esto.

Crear una interfaz de C# y una dll en C++ Win32 y que lo lea.

Tutorial.
https://es.slideshare.net/Metaconta/cre ... interfaz-c

Saludos.
Lo primero es paciencia y tesón jaja

Empezar por Java es un suicidio, pero bueno, se podría.

https://developer.android.com/studio/intro
En la propia web de Android Studio (el debate de qué IDE es mejor se lo dejo a los demás) tienes una guía muy buena para hacer tus pinitos con la primera app para Android y entender cómo funciona el layout.

Te la paso en inglés, y no es accidental, suele ser de gran ayuda no buscar cosas en español, si tienes el nivel suficiente.
Buenas @davoker

Antes de nada, mucho ánimo con el propósito que tienes. Me parece muy loable el esfuerzo que quieres hacer.

Si no tienes conocimientos previos de programación, y viendo el tipo de aplicaciones que quieres realizar, te recomendaría otra opción:

- Cordova + HTML5

De forma resumida: Cordova es un producto (de uso libre) que te permite encapsular un proyecto html (una pequeña página web simplificando...) y convertirlo en una aplicación móvil que puedes ejecutar en Android e incluso en iOS.

Para tí tendría la ventaja de que puedes encontrar muchas librerías de uso libre de javascript orientadas a la gestión de gráficos o juegos , con lo que una vez entiendas como funcionan, te puedes centrar en el funcional que quieres desarrollar.

Este escenario puedes complicarlo tanto como quieras. Cordova tiene plugins para acceder a la cámara del móvil, a la ubicación... todo de uso libre.
Y librerías de javascript hay para parar un tren...

Para mi sería un comienzo más razonable, y si más adelante quieres dar el salto a Android Studio (Java) o Xamarin (C#) la sintaxis aprendida en Javascript te servirá como punto de partida.

Si necesitas más info, estoy a tu disposición.

Saludos
11 respuestas