Compartir a través de


Introducción al desarrollo nativo de Android en Windows

Esta guía le ayudará a empezar a usar Windows para crear aplicaciones nativas de Android. Si prefiere una solución multiplataforma, consulte Introducción al desarrollo de Android en Windows para obtener un breve resumen de algunas opciones.

La forma más sencilla de crear una aplicación nativa de Android es usar Android Studio con Java o Kotlin, aunque también es posible usar C o C++ para el desarrollo de Android si tiene un propósito específico. Las herramientas del SDK de Android Studio compilan el código, los datos y los archivos de recursos en un paquete android de archivo, archivo .apk. Un archivo APK contiene todo el contenido de una aplicación Android y es el archivo que usan los dispositivos Android para instalar la aplicación.

Instalar Android Studio

Android Studio es el entorno de desarrollo integrado oficial para el sistema operativo Android de Google. Descargue la última versión de Android Studio para Windows.

  • Si descargó un archivo .exe (recomendado), haga doble clic para iniciarlo.
  • Si descargó un archivo .zip, desempaquete el archivo ZIP, copie la carpeta android-studio en la carpeta Archivos de programa y, a continuación, abra la carpeta papelera de android-studio > e inicie studio64.exe (para máquinas de 64 bits) o studio.exe (para máquinas de 32 bits).

Siga el asistente para la instalación en Android Studio e instale los paquetes del SDK que recomienda. A medida que las nuevas herramientas y otras API estén disponibles, Android Studio le notificará con un elemento emergente o buscar actualizaciones seleccionando Ayuda>Buscar actualizaciones.

Crear un nuevo proyecto

Seleccione Archivo>Nuevo>Nuevo proyecto.

En la ventana Elegir el proyecto, podrá elegir entre estas plantillas:

  • Actividad básica: crea una aplicación sencilla con una barra de aplicaciones, un botón de acción flotante y dos archivos de diseño: uno para la actividad y otro para separar el contenido de texto.

  • Actividad vacía: crea una actividad vacía y un único archivo de diseño con contenido de texto de ejemplo.

  • Actividad de navegación inferior: crea una barra de navegación inferior estándar para una actividad. Para obtener más información sobre esto, consulta la sección Componente de navegación inferior de las directrices de diseño de materiales de Google.

  • Las plantillas se suelen usar para agregar actividades a módulos de aplicaciones nuevos y existentes. Por ejemplo, para crear una pantalla de inicio de sesión para los usuarios de la aplicación, agregue una actividad con la plantilla Actividad de inicio de sesión. Para obtener más información sobre cómo seleccionar una actividad y cómo agregar código de una plantilla, consulte guía para desarrolladores de Android de Google.

Nota:

El sistema operativo Android se basa en la idea de los componentes y usa los términos actividad e intención para definir interacciones. Una actividad representa una sola tarea centrada que un usuario puede realizar. Una actividad proporciona una ventana para compilar la interfaz de usuario mediante clases basadas en la clase Vista. Hay un ciclo de vida para las actividades en el sistema operativo Android, definidas por seis devoluciones de llamada: onCreate(), onStart(), onResume(), onPause(), onStop() y onDestroy(). Los componentes de actividad interactúan entre sí mediante objetos de intención. La intención define la actividad que se va a iniciar o describe el tipo de acción que se va a realizar (y el sistema selecciona la actividad adecuada para usted, que incluso puede ser de una aplicación diferente). Obtenga más información sobre las actividades, el ciclo de vida de la actividad y las intenciones en la guía para desarrolladores de Android de Google.

Java o Kotlin

Java se convirtió en un lenguaje en 1991, desarrollado por lo que entonces era Sun Microsystems, pero que ahora es propiedad de Oracle. Se ha convertido en uno de los lenguajes de programación más populares y poderosos con una de las comunidades de apoyo más grandes del mundo. Java está basado en clases y orientado a objetos, diseñado para tener el menor número posible de dependencias de implementación. La sintaxis es similar a C y C++, pero tiene menos instalaciones de bajo nivel que cualquiera de ellas.

Kotlin fue anunciado por primera vez como un nuevo lenguaje de código abierto por JetBrains en 2011 y se ha incluido como alternativa a Java en Android Studio desde 2017. En mayo de 2019, Google anunció Kotlin como lenguaje preferido para los desarrolladores de aplicaciones Android, por lo que a pesar de ser un lenguaje más reciente, también tiene una comunidad de soporte técnico fuerte y se ha identificado como uno de los lenguajes de programación de crecimiento más rápido. Kotlin es multiplataforma, se escribe estáticamente y está diseñado para interoperar completamente con Java.

Java se usa más ampliamente para una gama más amplia de aplicaciones y ofrece algunas características que Kotlin no, como excepciones comprobadas, tipos primitivos que no son clases, miembros estáticos, campos no privados, tipos de caracteres comodín y operadores ternarios. Kotlin está diseñado específicamente para Android y recomendado por este. También ofrece algunas características que Java no, como referencias nulas controladas por el sistema de tipos, sin tipos sin procesar, matrices invariables, tipos de función adecuados (en lugar de las conversiones SAM de Java), varianza de sitio-uso sin caracteres comodín, conversiones inteligentes, etc. Encontrará una comparación más detallada con Java en la documentación de Kotlin.

Nivel mínimo de la API

Deberá decidir el nivel de API mínimo para la aplicación. Esto determina qué versión de Android admitirá la aplicación. Los niveles de API inferiores son más antiguos y, por lo tanto, suelen admitir más dispositivos, pero los niveles de API más altos son más recientes y, por tanto, proporcionan más características.

Pantalla de selección de API mínima de Android Studio

Seleccione el vínculo Ayudarme a elegir para abrir un gráfico de comparación que muestra la distribución de compatibilidad del dispositivo y las características clave asociadas a la versión de la plataforma.

Pantalla de comparación de LA API mínima de Android Studio

Compatibilidad con aplicaciones instantáneas y artefactos Androidx

Puede observar una casilla para admitir aplicaciones instantáneas y otra para usar artefactos androidx en las opciones de creación del proyecto. No se comprueba la compatibilidad con las aplicaciones instantáneas y androidx se comprueba como valor predeterminado recomendado.

Las aplicaciones instantáneas de Google Play proporcionan una manera para que los usuarios prueben una aplicación o un juego sin instalarla primero. Estas aplicaciones instantáneas se pueden mostrar en Play Store, Google Search, redes sociales y en cualquier lugar en el que comparta un vínculo. Al activar la casilla Compatibilidad con aplicaciones instantáneas, pide a Android Studio que incluya el SDK de desarrollo instantáneo de Google Play con el proyecto. Obtenga más información sobre las aplicaciones instantáneas de Google Play en la guía para desarrolladores de Android.

Los artefactos de AndroidX representan la nueva versión de la biblioteca de compatibilidad de Android y proporcionan compatibilidad con versiones anteriores en versiones de Android. AndroidX proporciona un espacio de nombres coherente a partir de la cadena androidx para todos los paquetes disponibles.

Nota:

AndroidX es ahora la biblioteca predeterminada. Para desactivar esta casilla y usar la biblioteca de soporte técnico anterior, es necesario quitar la versión más reciente de Android Q SDK. Consulte Desmarcar el uso de artefactos Androidx en StackOverflow para obtener instrucciones, pero tenga en cuenta que los paquetes anteriores de la biblioteca de soporte técnico se han asignado a los paquetes androidx.* correspondientes. Para obtener una asignación completa de todas las clases antiguas y compilar artefactos en los nuevos, consulte Migración a AndroidX.

Archivos de proyecto

La ventana Proyecto de Android Studio contiene los siguientes archivos (asegúrese de que la vista de Android está seleccionada en el menú desplegable):

app > java > com.example.myfirstapp > MainActivity

La actividad principal y el punto de entrada de la aplicación. Al compilar y ejecutar la aplicación, el sistema inicia una instancia de esta actividad y carga su diseño.

app > res > layout > activity_main.xml

Archivo XML que define el diseño de la interfaz de usuario (UI) de la actividad. Contiene un elemento TextView con el texto "Hola mundo"

app > manifests > AndroidManifest.xml

Archivo de manifiesto que describe las características fundamentales de la aplicación y cada uno de sus componentes.

Gradle Scripts > build.gradle

Hay dos archivos con este nombre: "Project: My First App", para todo el proyecto y "Module: app", para cada módulo de aplicación. Un nuevo proyecto solo tendrá inicialmente un módulo. Use el archivo build.file del módulo para controlar cómo el complemento Gradle compila la aplicación. Obtenga más información sobre cómo configurar la compilación en la guía para desarrolladores de Android.

Uso de C o C++ para el desarrollo de juegos android

El sistema operativo Android está diseñado para admitir aplicaciones escritas en Java o Kotlin, que se benefician de herramientas insertadas en la arquitectura del sistema. Muchas características del sistema, como la interfaz de usuario de Android y el control de intenciones, solo se exponen a través de interfaces de Java. Hay algunas instancias en las que es posible que desee usar código de C o C++ a través del Kit de desarrollo nativo de Android (NDK) a pesar de algunos de los desafíos asociados. El desarrollo de juegos es un ejemplo, ya que los juegos suelen usar la lógica de representación personalizada escrita en OpenGL o Vulkan y beneficiarse de una gran cantidad de bibliotecas de C centradas en el desarrollo de juegos. El uso de C o C++ también puede ayudarle a exprimir el rendimiento adicional de un dispositivo para lograr una baja latencia o ejecutar aplicaciones con un uso intensivo de cálculo, como simulaciones físicas. Sin embargo, el NDK no es adecuado para la mayoría de los programadores principiantes de Android. A menos que tenga un propósito específico para usar el NDK, se recomienda seguir usando Java, Kotlin o uno de los marcos multiplataforma.

Para crear un nuevo proyecto con compatibilidad con C/C++:

  • En la sección Elegir el proyecto del asistente de Android Studio, seleccione el tipo de proyecto nativo de C++*. Seleccione Siguiente, complete los campos restantes y, a continuación, seleccione Siguiente de nuevo.

  • En la sección Personalizar compatibilidad con C++ del asistente, puede personalizar el proyecto con el campo Estándar de C++. Use la lista desplegable para seleccionar qué estandarización de C++ quiere usar. Al seleccionar Valor predeterminado de la cadena de herramientas, se usa la configuración predeterminada de CMake. Seleccione Finalizar.

  • Una vez que Android Studio crea el nuevo proyecto, puede encontrar una carpeta cpp en el panel Proyecto que contiene los archivos de origen nativos, encabezados, scripts de compilación para CMake o ndk-build y bibliotecas precompiladas que forman parte del proyecto. También puede encontrar un archivo de código fuente de C++ de ejemplo, native-lib.cpp, en la carpeta src/main/cpp/ que proporciona una función sencilla stringFromJNI() que devuelve la cadena "Hello from C++". Además, debería ver un script de compilación de CMake, CMakeLists.txt, en el directorio raíz del módulo necesario para compilar la biblioteca nativa.

Para obtener más información, consulte la guía para desarrolladores de Android sobre cómo agregar código de C y C++. Para encontrar ejemplos de NDK de Android con la integración de C++, consulte el repositorio de ejemplos de NDK de Android en GitHub. Para compilar y ejecutar un juego en C++ en Android, use la API de servicios de juego de Google Play.

Guías de diseño

Los usuarios de dispositivos esperan que las aplicaciones se vean y se comporten de una manera determinada... ya sea deslizando o pulsando o usando controles de voz, los usuarios mantendrán expectativas específicas sobre el aspecto de la aplicación y cómo usarla. Estas expectativas deben ser coherentes para reducir la confusión y la frustración. Android ofrece una guía para estas expectativas sobre plataformas y dispositivos que combina la base del Diseño Material de Google para los patrones visuales y de navegación, junto con directrices de calidad para la compatibilidad, el rendimiento y la seguridad.

Obtenga más información en la documentación de diseño de Android.

Fluent Design System para Android

Microsoft también ofrece instrucciones de diseño con el objetivo de proporcionar una experiencia sin problemas en toda la cartera de aplicaciones móviles de Microsoft.

El sistema Fluent Design para Android diseña y construye aplicaciones personalizadas que son nativas de Android sin dejar de ser exclusivamente Fluent.

Recursos adicionales