Anuncio publicitario
Bienvenido a la guía de MakeUseOf para crear su propia aplicación de Android. En esta guía, veremos por qué desea crear una aplicación de Android propia, algunas opciones que tiene para crearla y cómo ponerla a disposición de otros.
Introducción al desarrollo de Android
Hay dos formas principales de desarrollar una aplicación para Android. La primera es escribirlo desde cero, probablemente en Java. Pero esto, por supuesto, asume que ya saber Java o ten paciencia para aprenderlo Entonces, ¿quieres desarrollar aplicaciones para Android? He aquí cómo aprenderDespués de tantos años, uno pensaría que el mercado móvil ahora está saturado con todas las aplicaciones imaginables para el hombre, pero ese no es el caso. Hay muchos nichos que aún necesitan ... Lee mas antes de sumergirse. Pero, ¿y si tiene ganas de empezar de inmediato?
La otra opción es uno de los creadores de aplicaciones de apuntar y hacer clic en el mercado. Muchos de estos usuarios empresariales se dirigen (y vienen con una etiqueta de precio empresarial). Pero el MIT ofrece su "App Inventor", una herramienta en línea que le permite crear su aplicación visualmente. Puede lograr algunas cosas interesantes con App Inventor, que lo mantendrá ocupado hasta que pueda profundizar en Java y acceder a todas las potentes funciones de la plataforma Android.
En las secciones siguientes, crearemos una versión prototipo de una aplicación simple de "bloc de notas", que almacenará el texto que escriba en ella. Primero haremos esto en App Inventor y obtendremos una vista previa de los resultados en un emulador de Android. Luego, ampliaremos esta aplicación con la capacidad de seleccionar entre varios archivos, convirtiéndola en un "bloc de notas". Para este tipo de mejora, necesitaremos sumergirnos en Java y Android Studio.
¿Listo? Hagámoslo.
¿Por qué desarrollar para Android?
Existen varias razones por las que desea crear su propia aplicación de Android, que incluyen:
- Necesidad: Es la madre de la invención, después de todo. Tal vez después de buscar en Play Store la aplicación de sus sueños, se dé cuenta de que es algo que necesitas construirte a ti mismo 4 preguntas que debe hacerse antes de aprender a codificarAprender un lenguaje de programación es popular. ¿Pero es para todos? Antes de comprometerse con él, hágase las siguientes preguntas y sea honesto. Lee mas porque nadie más lo ha hecho todavía.
- Comunidad: Desarrollar algo útil y ponerlo a disposición de forma gratuita (especialmente como código abierto) es una excelente manera de participar en la comunidad de Android y / o FOSS ¿Por qué la gente contribuye a los proyectos de código abierto?El desarrollo de código abierto es el futuro del software. Es excelente para los usuarios porque el software de código abierto generalmente está disponible de forma gratuita y, a menudo, es más seguro de usar. Pero, ¿qué obliga a los desarrolladores a contribuir con código de forma gratuita? Lee mas . Sin contribuciones de código abierto, no habría Linux y sin Linux no habría Android ¿Es Android realmente de código abierto? ¿Y siquiera importa?Aquí exploramos si Android es realmente de código abierto o no. Después de todo, ¡está basado en Linux! Lee mas (o al menos no Android como lo conocemos). ¡Así que considere retribuir!
- Aprendiendo: Hay pocas formas mejores de comprender una plataforma que desarrollarla. Podría ser para la escuela o tu propia curiosidad. Y bueno, si al final puedes ganar un par de dólares, mucho mejor.
- Monetización: Por otro lado, tal vez esté haciendo esto para ganar dinero desde el principio. Si bien Android se consideró una vez el distrito de ingresos por aplicaciones de "alquiler bajo", esto ha ido cambiando lentamente. Business Insider reportado en marzo que se espera que los ingresos de Android superen a iOS por primera vez en 2017.
- Añadir: Los desarrolladores suelen crear aplicaciones en general como una forma de promocionar, acceder o complementar un producto o servicio existente, como aplicaciones complementarias de la consola Obtenga más de su consola con aplicaciones móviles complementariasUn controlador de juegos no es un control remoto terrible, pero tampoco es excelente. Una tableta o, en algunos casos, un teléfono inteligente proporciona una mejor manera de acceder a las funciones de la consola. Lee mas y Aplicación propia de MakeUseOf.

Cualquiera sea su razón, el desarrollo de aplicaciones desafiará sus habilidades de diseño, técnicas y lógicas. Y el resultado de este ejercicio (una aplicación funcional y útil para Android) es un gran logro que puede servir como pieza de cartera.
Existen muchas vías para crear su aplicación, incluidos diferentes conjuntos de herramientas, lenguajes de programación Los mejores lenguajes para el desarrollo de aplicaciones móviles en 2016El mundo del desarrollo de aplicaciones móviles sigue siendo tan fuerte como siempre. Si quieres empezar, ¡no es demasiado tarde! Estos son los idiomas que debería pensar en aprender. Lee mas , y medios de publicación Google Play vs. Amazon Appstore: ¿Cuál es mejor?Google Play Store no es su única opción cuando se trata de descargar aplicaciones, ¿debería probar la Amazon Appstore? Lee mas . En un nivel alto, estos se dividen en las siguientes dos categorías.
Aplicaciones de apuntar y hacer clic
Si es un novato en el desarrollo, existen entornos que le permiten crear una aplicación de Android de la misma manera que crearía una presentación de Powerpoint. Puede seleccionar controles como botones o cuadros de texto, colocarlos en una pantalla (como se muestra en la imagen a continuación) y proporcionar algunos parámetros sobre cómo deben comportarse. Todo sin escribir ningún código.

Este tipo de aplicaciones tienen la ventaja de una curva de aprendizaje poco profunda. Por lo general, puede saltar directamente y al menos comenzar a diseñar su pantalla. También eliminan mucha complejidad de la aplicación, ya que están diseñados para manejar detalles técnicos (como tipos de objetos o manejo de errores) detrás de escena. Por otro lado, esa simplicidad significa que está a merced del creador de la herramienta en cuanto a qué funciones son compatibles. Además, muchas de estas herramientas están dirigidas a grandes empresas y pueden resultar caras.
Una excepción es la aplicación web App Inventor del MIT, que es funcional y gratuita. Después de iniciar sesión con una cuenta de Google, puede hacer clic en una aplicación en un par de minutos y obtener una vista previa en su teléfono o mediante un emulador de Android.
Escribir desde cero
La otra opción es escribir tu aplicación desde cero. Probablemente esto sea diferente de lo que estás imaginando: es no como las películas lo representan Hollywood Hacks: el mejor y el peor hackeo en las películasHollywood y la piratería no se llevan bien. Si bien la piratería en la vida real es difícil, la piratería de películas a menudo implica simplemente golpear un teclado como si sus dedos estuvieran pasando de moda. Lee mas .
Es escribir el código una línea a la vez en los archivos de origen, luego compilándolos Cómo compilar su propio kernel de LinuxCompilar tu propio kernel de Linux es una de esas cosas técnicas y geek, ¿verdad? Ya hemos cubierto algunas razones por las que es posible que desee hacer esto: ¡ahora es el momento de probarlo usted mismo! Lee mas en una aplicación ejecutable. Si bien puede parecer aburrido, en realidad, dedica mucho más tiempo a la programación en diseñoo pensando en cómo deberían funcionar las cosas. Pregúntele a la mayoría de los desarrolladores y le dirán que solo dedican del 10 al 15% de su tiempo a la entrada de código. Por lo tanto, pasará la mayor parte del tiempo soñando despierto (productivamente) sobre lo que debería hacer su aplicación.

Usted puede codificar aplicaciones de Android de un par de formas diferentes Los mejores lenguajes para el desarrollo de aplicaciones móviles en 2016El mundo del desarrollo de aplicaciones móviles sigue siendo tan fuerte como siempre. Si quieres empezar, ¡no es demasiado tarde! Estos son los idiomas que debería pensar en aprender. Lee mas . La forma "estándar" es escribir aplicaciones en Java, uno de los lenguajes más populares del mundo, aunque Google está agregando Kotlin como otra opción. Para las aplicaciones de alto rendimiento, como los juegos, tiene la opción de escribir en un idioma "nativo" como C ++. Estas aplicaciones se ejecutan directamente en el hardware de su dispositivo Android, a diferencia de las aplicaciones "normales" basadas en Java que se ejecutan en Dalvik. Máquina virtual ¿Qué es la máquina virtual Java y cómo funciona?Aunque no es estrictamente necesario saber que funciona para programar en Java, es bueno saberlo porque puede ayudarte a convertirte en un mejor programador. Lee mas . Por último, hay formas de "cerrar" las aplicaciones web (utilizando kits de herramientas como Xamarin de Microsoft o Reacción nativa de Facebook Los 7 mejores tutoriales gratuitos para aprender a reaccionar y crear aplicaciones webLos cursos gratuitos rara vez son tan completos y útiles, pero hemos encontrado varios cursos de React que son excelentes y lo ayudarán a comenzar con el pie derecho. Lee mas ) para su distribución como aplicaciones móviles que parecen "nativas".
Tiempo entornos de desarrollo integrados (IDE) Editores de texto vs. IDE: ¿Cuál es mejor para los programadores?Elegir entre un IDE avanzado y un editor de texto más sencillo puede resultar complicado. Ofrecemos información para ayudarlo a tomar esa decisión. Lee mas Si maneja algunos de los elementos rutinarios de la programación, comprenda que la curva de aprendizaje de este método es empinada. Independientemente del idioma que elija, deberá estar versado en sus conceptos básicos. Invertir este tiempo por adelantado es un inconveniente de este método, en el sentido de que no podrá comenzar a desarrollar su aplicación de inmediato. Pero es una ventaja a largo plazo, ya que las habilidades que aprende se pueden aplicar en otros lugares. Aprende Java Entonces, ¿quieres desarrollar aplicaciones para Android? He aquí cómo aprenderDespués de tantos años, uno pensaría que el mercado móvil ahora está saturado con todas las aplicaciones imaginables para el hombre, pero ese no es el caso. Hay muchos nichos que aún necesitan ... Lee mas , y puede desarrollar para aplicaciones de escritorio y del lado del servidor (incluidas las basadas en la web) además de las aplicaciones de Android.
¿Qué opción es mejor para su proyecto?
Entonces, ¿qué avenida es la "mejor"? Esto es demasiado subjetivo para responder a todos, pero podemos generalizarlo de la siguiente manera. Si tiene curiosidad pero simplemente está "jugando", quédese con los creadores de aplicaciones de apuntar y hacer clic. Te ayudarán a eliminar esa picazón creativa sin requerir ningún "trabajo de curso". Pero si la idea de que el trabajo del curso no le asusta, considere tomar el camino más largo y aprender una programación idioma. La inversión dará sus frutos de muchas otras formas en el futuro.
Además, ¡considere usar ambos! Los constructores de apuntar y hacer clic son una manera excelente de armar rápidamente un prototipo o "prueba de concepto". Úselos para trabajar con algunos de los detalles (como el diseño y el flujo de la pantalla), ya que son mucho más rápido para moverse en un entorno controlado por mouse. Luego, vuelva a implementarlos en Java si es necesario para aprovechar su flexibilidad.
Adoptaremos precisamente ese enfoque en esta guía. Lo haremos:
- Prototipo nuestra aplicación, un "bloc de notas" que almacenará texto en un archivo para usted, utilizando App Inventor del MIT.
- Reimplementar esto en Java (con un poco de ayuda del IDE de Android Studio de Google), luego continúe con ampliar la aplicación para permitirle seleccionar entre varios archivos, por lo que es más un "bloc de notas".
Muy bien, basta de hablar. En la siguiente sección, nos prepararemos para codificar.
Preparándose para crear su aplicación
No se sumerja de lleno todavía, primero necesita algunos conocimientos y algo de software.
Conocimiento que necesitará
Antes de comenzar a instalar algún software, debe tener algunos conocimientos antes de comenzar. Lo primero y más importante es "¿Qué se supone que debe hacer?" Esperar hasta tener un concepto claro para su aplicación antes de comenzar el desarrollo puede parecer un hecho, pero se sorprenderá. Así que tómate un tiempo para trabajar en este concepto, incluso tomando algunas notas sobre el comportamiento y dibujando algunas pantallas ¿Qué es una estructura metálica de un sitio web y cómo puede ayudarlo a desarrollar su sitio web?A nivel técnico, un sitio web moderno no es solo una cosa. Es una sopa compleja de tecnologías interactivas, como HTML (el marcado que ves en la página), JavaScript (el lenguaje que se ejecuta en tu navegador, ... Lee mas . Primero, tenga una imagen relativamente completa de su aplicación.
A continuación, mire en lo que es posible. Por ejemplo, imagina que la imagen ideal de tu aplicación es algo que te permita grabar en video toda tu vida para la posteridad. usted pueden crea una aplicación que capture video. usted hipocresía cree uno que almacene cada momento de su vida en su dispositivo (almacenamiento insuficiente). Sin embargo, tu pueden Intente descargar parte de este almacenamiento en la nube, aunque llevará tiempo desarrollarlo, y eso tiene sus propias limitaciones (¿qué sucede cuando no tiene acceso a la red?). Aquí es donde examinará algunos de los detalles técnicos y podrá informar decisiones como si codificará desde cero o no.
Por último, vale la pena conocer que hay ahí fuera ya. Si solo busca aprender o contribuir a la comunidad, ¿existe un proyecto de código abierto como el suyo? ¿Podrías bifurcar ese proyecto como punto de partida? O mejor aún, ¿desarrollar tu mejora y aportarla? Si está buscando ganar dinero, ¿cómo es su competencia? Si escribe una aplicación de reloj de alarma simple y espera ganar un millón de dólares con ella, será mejor que traiga algo especial a la mesa.
Como se explicó, crearemos un bloc de notas simple, que recopila y guarda parte del texto que ingresa. Y al hacerlo, estaremos rompiendo las reglas anteriores, ya que existen muchas aplicaciones para tomar notas de Android, tanto abierto Las 5 mejores aplicaciones de toma de notas de código abierto para Android¿Te encanta el software de código abierto y quieres tomar notas? Te tenemos cubierto. Lee mas y fuente cerrada ¿Cuál es la mejor aplicación gratuita para tomar notas para Android?¿Quiere tomar notas en su teléfono o tableta Android? Aquí están las mejores aplicaciones gratuitas para tomar notas para Android. Lee mas . Pero supongamos que esto se convertirá en una aplicación mucho más compleja más adelante. Tienes que empezar por alguna parte.
Ahora obtendremos parte del software que necesitará.
Preparación para desarrollar con App Inventor
No es necesario instalar nada para utilizar la herramienta App Inventor. Es una aplicación web y puede acceder a ella por completo a través del navegador. Cuando visite el sitio, verá un botón en la esquina superior derecha para ¡Crea aplicaciones! Si actualmente no ha iniciado sesión en una cuenta de Google, al hacer clic en este, se le dirigirá a una página de inicio de sesión.

De lo contrario, debe ir directamente a la aplicación Inventor Mis proyectos página.

En este punto, considere dónde desea probar su aplicación. Si eres aventurero, puedes probarlo en tu teléfono o tableta instalando la aplicación Companion de Play Store. Entonces ya está todo listo. Necesitará un proyecto en ejecución para ver realmente cualquier cosa en su dispositivo, pero llegaremos a eso más tarde.
Alternativamente, puede usar el emulador para probar su aplicación en su computadora. Descargue e instale el emulador para su sistema operativo desde esta página. La siguiente imagen muestra la instalación de la aplicación en Linux, pero la versión apropiada debería instalarse sin problemas también en Windows o Mac.

Puede iniciar el emulador ejecutando el comando "aiStarter". Esto comienza un proceso de fondo Cómo controlar los demonios y los servicios de inicio de LinuxLinux ejecuta muchas aplicaciones "en segundo plano" que quizás ni siquiera conozca. He aquí cómo tomar el control de ellos. Lee mas que conecta su emulador (local) al App Inventor (basado en la nube). Los sistemas Windows le proporcionarán un acceso directo, mientras que se iniciará automáticamente para los usuarios de Mac al iniciar sesión. Los usuarios de Linux deberán ejecutar lo siguiente en una terminal:
/ usr / google / appinventor / commands-for-appinventor / aiStarter &
Una vez que se esté ejecutando, puede probar la conexión haciendo clic en el Emulador artículo en el Conectar menú. Si ves que el emulador gira (como se muestra en la imagen a continuación), estás listo para comenzar.

Instalación de Android Studio
Si planea desarrollar algunos programas simples, App Inventor puede ser todo lo que necesite. Pero después de jugar con él por un tiempo, puede chocar contra una pared o puede que sepa que usará algunas funciones que App Inventor no admite (como la facturación dentro de la aplicación). Para ello, necesitará tener instalado Android Studio.
Ahora, el entorno de desarrollo oficial aprobado por Google, Android Studio es una versión del IntelliJ IDEA IDE de Java de JetBrains. Puede descargar una copia para su sistema operativo desde La página de desarrollador de Android de Google aquí. Los usuarios de Windows y Mac pueden iniciar el instalador usando un archivo EXE o una imagen DMG Así es como funcionan los instaladores de software en Windows, macOS y LinuxLos sistemas operativos modernos le brindan métodos sencillos para configurar nuevas aplicaciones. Pero, ¿qué sucede realmente cuando ejecuta ese instalador o emite ese comando? Lee mas , respectivamente.
Los usuarios de Linux pueden usar el archivo ZIP, descomprimirlo donde quieran y ejecutar Android Studio desde allí (los usuarios de Windows / Mac también pueden hacer esto). De lo contrario, puede utilizar Marca de Ubuntu para descargar e instalar el paquete por usted. Si tiene la versión LTS más reciente (16.04 en el momento de redactar este documento), deberá agregar el Ubuntu Hacer PPA ¿Qué es un PPA de Ubuntu y por qué querría usar uno? [Explicación de la tecnología] Lee mas a su sistema para obtener acceso a Android Studio:
sudo add-apt-repository ppa: ubuntu-desktop / ubuntu-make
Luego actualice su sistema con lo siguiente.
actualización de sudo apt
Por último, instale Ubuntu Make con este comando:
sudo apt install umake
Una vez instalado, puede indicarle a Ubuntu Make que instale Android Studio por usted con el siguiente comando:
umake android android-studio

Después de mostrar el acuerdo de licencia, comenzará a descargar e instalar la aplicación base. Una vez que se complete e inicie Android Studio, un asistente lo guiará a través de otros dos pasos.
En primer lugar, podrá elegir si desea una instalación "Estándar" o algo personalizado. Seleccione la instalación estándar aquí, le permitirá comenzar más rápido.

Luego, recibirá un mensaje que le indicará que necesita descargar algunos componentes adicionales, y probablemente llevará algún tiempo.

Una vez que todo esté instalado, aparecerá una pequeña pantalla de presentación que le permitirá crear un nuevo proyecto, abrir uno existente o acceder a su configuración.

Sé que estás listo para ensuciarte las manos. Sin más preámbulos, construyamos algo.
Construyendo un Bloc de Notas de Android simple
Debido a que (por supuesto) nos sentamos y pensamos esto antes de saltar, sabemos que nuestra aplicación de Android constará de dos pantallas.
Uno permitirá al usuario "editar ahora" o salir, y el otro hará la edición real. La primera pantalla puede parecer inútil, pero puede resultar útil más adelante a medida que agreguemos funciones. El texto capturado en la pantalla "editar" se guardará en un archivo de texto sin formato, porque reglas de texto sin formato Todo lo que necesita saber sobre los formatos de archivo y sus propiedadesUsamos el archivo de Word indistintamente: música, imagen, hoja de cálculo, presentación de diapositivas, etc. Pero, ¿qué hace que un archivo sea un "archivo"? Intentemos comprender esta parte fundamental de la informática. Lee mas . Los siguientes wireframes nos dan un buen punto de referencia (y solo nos tomó 5 minutos prepararlos):

En la siguiente sección, lo crearemos con App Inventor del MIT.
Introducción a MIT App Inventor
El primer paso es crear un nuevo proyecto. Inicie sesión en App Inventor, luego haga clic en el Iniciar nuevo proyecto botón de la izquierda (también disponible en el Proyectos menú).

Aparecerá un cuadro de diálogo para darle un nombre.

Pero ahora está en la vista de diseñador de App Inventor y hay mucho que asimilar. Dediquemos un momento a examinar cada sección.

- La barra de título en la parte superior muestra el nombre de su proyecto (muoScratchpad); le permite agregar, eliminar y cambiar entre las pantallas de su aplicación (p. ej. Pantalla 1); y alterna entre App Inventor Diseñador y Bloques vistas en el extremo derecho.
- los Paleta a la izquierda contiene todos los controles y widgets que usará. Están divididos en secciones como Interfaz de usuario y Almacenamiento; usaremos ambos en nuestra aplicación. Veremos cómo Paleta contiene diferentes elementos en el Bloques vista.
- los Espectador le muestra lo que está construyendo en estilo WYSIWYG.
- Componentes es una lista de elementos que forman parte de la pantalla actual. A medida que agregue botones, cuadros de texto, etc., aparecerán aquí. Algunos elementos "ocultos", como referencias a archivos, también se mostrarán aquí, aunque en realidad no forman parte de la interfaz de usuario.
- los Medios de comunicación La sección te permite subir activos que usarás en tu proyecto, como imágenes o clips de sonido. (No necesitaremos este).
- Finalmente, el Propiedades El panel le permite configurar el widget seleccionado actualmente. Por ejemplo, si está seleccionando un widget de imagen, puede cambiar su altura y ancho.
Disposición de su primera pantalla: "Pantalla principal"
Vamos a juntar el diseño de la pantalla "principal" en Designer antes de continuar. Al mirar el boceto, necesitaremos una etiqueta para el nombre de la aplicación, una línea de texto de ayuda, un botón para pasar a la pantalla "editar" y un botón para salir. Puedes ver el Interfaz de usuario paleta tiene todos los elementos que necesitamos: dos Etiquetas, y dos Botones. Arrástrelos a una columna vertical en la parte superior de la pantalla.

A continuación, configuraremos cada uno. Para las etiquetas, puede establecer elementos como cuál debería ser el texto, el color de fondo y la alineación. Centraremos ambas etiquetas, pero estableceremos el fondo del nombre de la aplicación en negro con texto blanco.

Es hora de ver cómo se ve realmente en un dispositivo. Cuando esté construyendo cosas, hágalo en pequeños pasos. No puedo enfatizar esto lo suficiente.

No cree una gran lista de cosas en su aplicación de una sola vez, porque si algo se rompe, se necesita un largo es hora de averiguar por qué. Si desea realizar la prueba en un teléfono real, puede iniciar su aplicación AI2 Companion y conectarse a App Inventor con el código QR o el código de seis caracteres proporcionado.

Para obtener una vista previa usando el emulador, asegúrese de haber iniciado el programa aiStarter descrito anteriormente, luego seleccione el Emulador artículo de nuevo del Conectar menú. De cualquier manera, después de una breve pausa, debería ver su aplicación en movimiento, luciendo algo parecido a lo que tiene en el Visor (el diseño real puede depender de las dimensiones de su dispositivo y emulador).

Dado que el título se ve bien, cambiemos el texto de los demás también y alineemos en el centro (esta es una propiedad de la pantalla, AlinearHorizontal, no el texto / botones). Ahora puede ver uno de los aspectos realmente interesantes de App Inventor: ¡todos sus cambios se realizan en tiempo real! Puede ver el cambio de texto, los botones ajustan su alineación, etc.
Haciéndolo funcional
Ahora que el diseño está listo, agreguemos algunas funciones. Haga clic en el Bloques botón en la parte superior izquierda. Verá un diseño similar al de la vista de diseñador, pero tendrá algunas opciones diferentes organizadas en categorías. Estos son conceptos de programación en lugar de controles de interfaz, pero al igual que la otra vista, usará la función de arrastrar y soltar para unirlos como parte de su aplicación.

La paleta de la izquierda contiene categorías como Control, Texto, y Variables en la categoría "Integrado". Los bloques en esta categoría representan funciones que ocurrirán en gran parte detrás de escena, como el Matemáticas elementos que pueden realizar cálculos. Debajo de esta hay una lista de los elementos en su (s) pantalla (s), y los bloques disponibles aquí afectarán a esos elementos. Por ejemplo, al hacer clic en una de nuestras etiquetas se muestran bloques que pueden cambiar el texto de esa etiqueta, mientras que los botones tienen bloques para definir lo que sucede cuando haces clic en ellos.
Además de su categoría (representada por color), cada bloque también tiene una forma que representa su propósito. Estos se pueden dividir a grandes rasgos de la siguiente manera:
- Puede pensar en elementos con un gran espacio en el medio, como el bloque "si-entonces" que se muestra arriba, como elementos que manejan eventos. Cuando algo ocurre dentro de la aplicación, se ejecutarán las otras cosas dentro de ese espacio.
- Los bloques planos con conectores son una de dos cosas. Los primeros son declaraciones, que son equivalentes a los comandos, los elementos que encajarán en los flujos anteriores. En el ejemplo anterior, el Hacer una lista bloque es una declaración, como es Cierra la aplicación.
- La otra opcion es expresiones, que difieren solo ligeramente de las declaraciones. Donde una declaración podría decir "establezca esto en '42 ′", una expresión sería algo así como "sume 22 a 20 y devuélvame el resultado". En lo anterior, está en la lista es una expresión que se evaluará como verdadera o falsa. Las expresiones también son bloques planos, pero es probable que tengan una pestaña en el lado izquierdo y una muesca en el derecho.
- Finalmente, valores incluya números (“17” y “42” arriba), cadenas de texto (“Cosa 1” y “Cosa 2”) o verdadero / falso. Por lo general, solo tienen una pestaña a la izquierda, ya que son algo que proporciona a una declaración o expresión.
Ciertamente puede pasar por todos los guías y tutoriales en App Inventor. Sin embargo, está diseñado para que empieces a hacer clic y (literalmente) veas lo que encaja. En nuestra página inicial, tenemos dos elementos que necesitan atención (los botones), así que veamos qué se nos ocurre. Uno de estos (Botón2) cerrará la aplicación al hacer clic. Dado que se trata de una interacción con el botón. Podemos buscar bloques de botones y encontrar uno que comience con cuando Button2.click (o cuando se hace clic en el Botón 1). Esto es exactamente lo que queremos, así que lo arrastraremos al visor.

Ahora, cuando se hace clic en él, queremos que la aplicación se cierre, lo que parece una función de flujo general de la aplicación. Echando un vistazo al Integrado> Control sección, de hecho vemos una Cierra la aplicación Cuadra. Y arrastrándolo al espacio en el primer bloque, encaja en su lugar. ¡Éxito!

Ahora, cuando haga clic en el botón, la aplicación se cerrará. Probémoslo en el emulador. Nos muestra un error que indica que cerrar la aplicación no es compatible con el entorno de desarrollo, pero ver esto significa que funciona.

Construcción de la segunda pantalla: pantalla del editor
Ahora dirijamos nuestra atención a Button1.
Se supone que esto abrirá nuestro editor, ¡así que será mejor que nos aseguremos de que exista ese editor! Volvamos al diseñador y creemos una nueva pantalla con la misma etiqueta que la primera pantalla, una Caja de texto (establecido en "llenar principal" para Ancho, 50% para Altura, y con Multilínea habilitado) para mantener nuestro contenido, y otro Botón (etiquetado como "<< Guardar"). ¡Ahora revisa ese diseño en el emulador!

Antes de seguir adelante, sabemos que querremos ocultar el contenido del TextBox, que suena como Almacenamiento. Efectivamente, hay un par de opciones allí.
De estos, Expediente es el más sencillo y, dado que queremos texto sin formato, estará bien. Cuando pones esto en el Visor, notarás que no aparece. Expediente es un no visible componente, ya que funciona en segundo plano para guardar el contenido en un archivo en el dispositivo. El texto de ayuda le da una idea de cómo funciona esto, pero si desea que estos elementos estén visibles, simplemente marque la casilla Mostrar componentes ocultos en el Visor caja.

Cambie a la vista Bloques ahora: es hora de programar. El único comportamiento que necesitamos es cuando se hace clic en el botón "<< Guardar", por lo que tomaremos nuestro cuando Button1.click Cuadra. Aquí es donde App Inventor realmente comienza a brillar.
Primero, guardaremos el contenido del TextBox tomando el llamar File1.saveFile block, y proporcionándole el texto que queremos (usando TextBox1's TextBox1.text, que recupera su contenido) y un archivo para almacenarlo (solo proporcione una ruta y un nombre de archivo con un bloque de texto; la aplicación creará el archivo por usted si no existe).
También configuremos la pantalla para que cargue el contenido de este archivo cuando se abra (Editor> cuando Editor.initialize Cuadra). Debería llamar File1.ReadFrom que apunta a nuestro nombre de archivo. Podemos capturar el resultado de leer el archivo de texto usando Archivo> cuando File1.GotText, asigne ese contenido al TextBox usando el TextBox> establecer TextBox. Texto a bloquear, y entregarle el recibir texto valor. Por último, después de guardar, queremos que un clic de Button1 nos envíe de regreso a la pantalla principal (un cerrar pantalla Cuadra).

El último paso es volver a la pantalla principal y programar el primer botón. Queremos que nos envíe a la pantalla del Editor, que es pan comido con el Control> abre otra pantalla bloque, especificando "Editor".

¿Que viene despues?
Ahora que tiene algo que funciona, ¿qué sigue? ¡Para potenciarlo por supuesto! App Inventor le brinda acceso a una amplia gama de funciones de Android. Más allá de las pantallas simples que acabamos de crear, puede agregar capacidades que incluyen reproducción de medios, envío de mensajes de texto o incluso una vista web en vivo a su aplicación.
Una de las primeras mejoras que me viene a la mente es la posibilidad de seleccionar entre varios archivos. Pero un rapido busqueda de internet revela que esto requiere algo de piratería informática suprema en App Inventor. Si queremos esta función, tendremos que profundizar en Java y el entorno de Android Studio.
Desarrollo en Java con Android Studio
Las siguientes secciones describirán, en un nivel muy alto, el desarrollo de nuestra aplicación scratchpad en Java. Vale la pena repetirlo nuevamente: si bien puede generar grandes dividendos en el futuro, aprender Java y Android Studio requiere una importante inversión de tiempo.
Así que no habrá tanta explicación de lo que significa el código a continuación, ni debería preocuparse mucho por ello. La enseñanza de Java está más allá del alcance de este artículo. Lo que servirá es examinar qué tan cerca está el código Java de las cosas que ya hemos creado en App Inventor.
Comience por iniciar Android Studio y seleccione el Iniciar un nuevo proyecto de Android Studio artículo. Serás guiado por un mago que te preguntará un par de cosas. La primera pantalla solicita un nombre para su aplicación, su dominio (esto es importante si envía a la tienda de aplicaciones, pero no si solo está desarrollando para usted) y un directorio para el proyecto.

En la siguiente pantalla, configurará la versión de Android Una guía rápida para las versiones y actualizaciones de Android [Android]Si alguien te dice que está ejecutando Android, no está diciendo tanto como crees. A diferencia de los principales sistemas operativos de computadoras, Android es un sistema operativo amplio que cubre numerosas versiones y plataformas. Si te gustaria... Lee mas apuntar. Si selecciona una versión más reciente, podrá incluir las funciones más nuevas de la plataforma, pero podría excluir a algunos usuarios cuyos dispositivos no están actualizados. Esta es una aplicación simple, por lo que podemos quedarnos con Ice Cream Sandwich.

A continuación, seleccionaremos el predeterminado Actividad para nuestra aplicación. Las actividades son un concepto central en el desarrollo de Android, pero para nuestros propósitos, podemos definirlas como pantallas. Android Studio tiene un número que puede seleccionar, pero comenzaremos con uno en blanco y lo crearemos nosotros mismos. La pantalla posterior le permite darle un nombre.


Una vez que se lance el nuevo proyecto, tómate un momento para familiarizarte con Android Studio.

- La barra de herramientas superior tiene botones para una amplia variedad de funciones. El que es más importante para nosotros es el Correr, que compilará la aplicación y la lanzará en el emulador. (Adelante, pruébelo, funcionará bien). Hay otros como Ahorrar y Encontrar, pero funcionan a través de los atajos de teclado a los que estamos acostumbrados (Ctrl + S y Ctrl + F, respectivamente).
- La mano izquierda Proyecto El panel muestra el contenido de su proyecto. Puede hacer doble clic en ellos para abrirlos y editarlos.
- La región central es su editor. Dependiendo de lo que esté editando precisamente, esto puede estar basado en texto o gráfico, como veremos en un momento. Esto también puede mostrar otros paneles, como el panel Propiedades de la derecha (nuevamente, como App Inventor).
- Los bordes derecho e inferior tienen una selección de otras herramientas que aparecerán como paneles cuando se seleccionen. Hay cosas como una terminal para ejecutar programas de línea de comandos y control de versiones, pero la mayoría de estos no son importantes para un programa simple.
Portar la pantalla principal a Java
Comenzaremos reconstruyendo el bloc de notas en Java. Mirando nuestra aplicación anterior, podemos ver que para la primera pantalla, necesitamos una etiqueta y dos botones.
En años anteriores, la creación de una interfaz de usuario en Android era un proceso minucioso que involucraba XML hecho a mano. Hoy en día lo haces gráficamente, como en App Inventor. Cada una de nuestras Actividades tendrá un archivo de diseño (hecho en XML) y un archivo de código (JAVA).
Haga clic en la pestaña "main_activity.xml" y verá la siguiente pantalla (muy similar a la de un diseñador). Podemos usarlo para arrastrar y soltar nuestros controles: un Vista de texto (como una etiqueta) y dos Botones.

Conectemos el Salida botón. Necesitamos crear un botón en código y también gráficamente, a diferencia de App Inventor que maneja esa contabilidad por nosotros.
Pero igual que AI, la API de Java de Android utiliza el concepto de "onClickListner". Reacciona cuando un usuario hace clic en un botón al igual que nuestro viejo amigo el bloque "when Button1.click". Usaremos el método "finish ()" para que cuando el usuario haga clic, la aplicación salga (recuerda, prueba esto en el emulador cuando hayas terminado).

Adición de la pantalla del editor
Ahora que podemos cerrar la aplicación, volveremos a rastrear nuestros pasos. Antes de conectar el botón "Editar", creemos la actividad del editor (pantalla). Haga clic derecho en el Proyecto panel y seleccione Nuevo> Actividad> Actividad vacía y asígnele el nombre "EditorActivity" para crear la nueva pantalla.

Luego creamos el diseño del Editor con un EditTextBox (donde irá el texto) y un botón. Ajustar el Propiedades de cada uno a tu gusto.

Ahora cambie al archivo EditorActivity.java. Codificaremos algunas funciones similares a las que hicimos en App Inventor.
Uno creará el archivo para almacenar nuestro texto si no existe, o leerá su contenido si existe. Un par de líneas crearán el EditTextBox y carga nuestro texto en él. Por último, un poco más de código creará el Botón y su onClickListener (que guardará el texto en el archivo y luego cerrará la Actividad).


Ahora, cuando lo ejecutemos en el emulador, veremos lo siguiente:
- Antes de la ejecución, no hay una carpeta en "/ storage / emulated / 0 / Android / data / [su dominio y nombre del proyecto] / files", que es el directorio estándar para datos específicos de la aplicación.
- En la primera ejecución, la pantalla principal aparecerá como se esperaba. Todavía no hay directorio como el anterior, ni nuestro archivo de bloc de notas.
- Al hacer clic en el Editar, se crea el directorio, al igual que el archivo.
- Al hacer clic Ahorrar, cualquier texto ingresado se guardará en el archivo. Puede confirmar abriendo el archivo en un editor de texto.
- Al hacer clic Editar de nuevo, verá el contenido anterior. Cambiándolo y haciendo clic Ahorrar lo almacenará, y haciendo clic en Editar de nuevo lo recordaré. Etcétera.
- Al hacer clic Salida, la aplicación terminará.
Mejora de la aplicación: seleccione su archivo de almacenamiento
Ahora tenemos una versión funcional de nuestro bloc de notas App Inventor original. Pero lo portamos a Java para mejorarlo. Incluyamos la capacidad de seleccionar entre varios archivos en ese directorio estándar. Una vez que hagamos esto, realmente lo haremos más bloc que solo un bloc de notas, por lo que crearemos una copia del proyecto actual usando las instrucciones aquí.
Usamos un Intent de Android para llamar a nuestra actividad del editor desde el principal, pero también son una forma conveniente de llamar a otras aplicaciones. Al agregar un par de líneas de código, nuestro Intent enviará una solicitud para aplicaciones de administrador de archivos Los 7 mejores exploradores de archivos gratuitos para AndroidHay un montón de aplicaciones de administración y exploración de archivos para Android, pero estas son las mejores. Lee mas responder. Esto significa que podemos eliminar una buena parte del código comprobando la creación del archivo, ya que el Intent solo nos permitirá buscar / seleccionar uno que realmente exista. Al final, nuestra actividad de editor sigue siendo exactamente la misma.

Conseguir que nuestro Intent nos devuelva un String (objeto de texto Java) que podamos empaquetar en nuestro Intent fue un desafío. Afortunadamente, cuando se trata de cuestiones de programación, Internet es tu amigo. A búsqueda rápida nos da un par de opciones, incluido el código que podemos pegar en nuestra aplicación.


Y con este pequeño cambio y un poco de código prestado, podemos usar una aplicación de navegador / administrador de archivos en el dispositivo para seleccionar el archivo para almacenar nuestro contenido. Ahora que estamos en "modo de mejora", es fácil encontrar un par de mejoras útiles:
- Podemos escoger de entre los archivos existentes, pero por el momento, retiramos nuestra instalación para crear ellos. Necesitaremos una función para que el usuario proporcione un nombre de archivo, luego cree y seleccione ese archivo.
- Podría ser útil hacer que nuestra aplicación responda a las solicitudes de "Compartir", de modo que pueda compartir una URL desde el navegador y agregarla a uno de sus archivos de notas.
- Estamos tratando con texto sin formato, pero el contenido más rico con imágenes y / o formato es bastante estándar en este tipo de aplicaciones.
Con la capacidad de acceder a Java, ¡las posibilidades son infinitas!
Distribución de su aplicación
Ahora que su aplicación está completa, la primera pregunta que debe hacerse es si desea distribuirla. Tal vez haya creado algo tan personal y personalizado que parece que no sería adecuado para nadie más. Pero le insto a que no piense de esa manera. Probablemente se sorprenderá de lo útil que es para los demás; como mínimo, es al menos una experiencia de aprendizaje que muestra lo que puede hacer un nuevo programador.
Pero incluso si decide guardar su nueva creación para usted, aún necesitará algunos de los pasos a continuación para poder instalarla en su dispositivo. Entonces, aprendamos cómo empaquetar su aplicación para compartir en forma de código fuente, así como un paquete instalable.
Distribución de código fuente
Independientemente del método que haya estado utilizando hasta este momento, ha estado modificando el código fuente a lo largo del camino.
Si bien App Inventor hace un buen trabajo al ocultar el código real detrás de escena, los bloques y los widgets de la interfaz de usuario que ha estado moviendo representan código. Y el código fuente es una forma perfectamente válida de distribuir software, como bien puede atestiguar la comunidad de código abierto. Esta también es una excelente manera de involucrar a otros en su aplicación, ya que pueden tomar lo que ha hecho y desarrollarlo.
Obtendremos el código fuente de ambos entornos en un formato estructurado. Luego, cualquiera (incluidos nosotros mismos) puede importarlo fácilmente al mismo programa y comenzar a funcionar rápidamente.
Exportación de código fuente desde App Inventor
Para exportar desde App Inventor, es una simple cuestión de abrir su proyecto, luego desde el Proyectos menú, seleccione el Exportar el proyecto seleccionado (.aia) a mi computadora.

Esto descargará el archivo .AIA antes mencionado (presumiblemente "Archivo de App Inventor"). Pero este es de hecho un archivo ZIP; intente abrirlo en su administrador de archivos favorito para inspeccionar su contenido.

Observe que el contenido de la appinventor / ai_ [su ID de usuario] / [nombre del proyecto] carpeta son un archivo SCM y BKY. Esta no es la fuente JAVA que vimos en Android Studio, por lo que no podrá abrirlos en ningún entorno de desarrollo anterior y compilarlos. Sin embargo, usted (u otra persona) puede volver a importarlos a App Inventor.

Fuente de archivo de Android Studio
Obtener su proyecto de Android Studio en un formato de archivo es tan fácil como comprimir la carpeta del proyecto. Luego, muévalo a una nueva ubicación y ábralo desde la posición habitual. Archivo> Abrir elemento en el menú principal.
Android Studio leerá la configuración de tu proyecto (espacio de trabajo.xml) y todo debería ser como antes.

Vale la pena señalar que archivar toda la carpeta voluntad incluir algunos cruft, específicamente los archivos de la última compilación de su programa.
Estos se borrarán y regenerarán durante la próxima compilación, por lo que no son necesarios para mantener la integridad de su proyecto. Pero tampoco lo perjudican, y es más fácil (especialmente para los desarrolladores principiantes) no empezar a jugar con qué carpetas deberían aparecer y cuáles no. Es mejor tomarlo todo en lugar de perder algo que necesite más adelante.
Distribución de paquetes de Android
Si desea darle una copia de su aplicación a alguien solo para que la pruebe, un archivo APK es su mejor opción. El formato estándar del paquete de Android debería ser familiar para aquellos que han salido de Play Store para obtener software.
Obtenerlos es tan fácil como archivar la fuente en ambos programas. Luego, puede publicarlo en un sitio web (como F-Droid) o entregárselo a algunas personas amigables para obtener sus comentarios. Esto lo convierte en una excelente prueba beta para las aplicaciones que planea vender más adelante.
Construyendo un APK en App Inventor
Dirígete al Construir menú y seleccione el Aplicación (guardar .apk en mi computadora) artículo. La aplicación comenzará a compilarse (evidenciado por una barra de progreso) y, una vez que se complete, aparecerá un cuadro de diálogo para guardar el archivo APK. Ahora puede copiarlo y enviarlo al contenido de su corazón.

Para instalar la aplicación, los usuarios deberán permitir la instalación de software de terceros en la configuración del dispositivo. como se describe aquí ¿Es seguro instalar aplicaciones de Android de fuentes desconocidas?Google Play Store no es su única fuente de aplicaciones, pero ¿es seguro buscar en otros lugares? Lee mas .
Construyendo un APK en Android Studio
Crear un paquete de Android es igual de fácil en Android Studio. Bajo la Construir menú, seleccione Construir APK. Una vez que se completa la compilación, un mensaje de notificación le dará un enlace a la carpeta en su computadora que contiene la aplicación.

Distribución de Google Play
Configurar como desarrollador de Google es un proceso. Si bien debe considerarlo una vez que tenga algo de experiencia en su haber, no es algo que deba abordar de inmediato.
En primer lugar, tiene una tarifa de registro de $ 25. También tiene una serie de detalles técnicos que son algo difíciles de cambiar en un momento posterior. Por ejemplo, deberá generar una clave criptográfica para firmar sus aplicaciones y, si alguna vez la pierde, no podrá actualizar la aplicación.
Pero en un nivel alto, hay tres procesos principales que deberá realizar para que su aplicación esté en Play Store:
- Regístrese como desarrollador: Puede configurar su perfil de desarrollador (basado en una cuenta de Google) en esta página. El asistente lo guía a través de un proceso de registro bastante sencillo, que incluye la tarifa de $ 25 antes mencionada.
- Prepara la aplicación para la tienda: Las versiones del emulador de la aplicación que ha estado probando también son depuración versiones. Esto significa que tienen una gran cantidad de código adicional relacionado con la resolución de problemas y el registro que no es necesario, e incluso pueden representar un problema de privacidad. Antes de publicar en Store, deberá producir un versión de lanzamiento Siguendolo estos pasos. Esto incluye firmar su aplicación con la clave criptográfica que mencionamos anteriormente.
- Configure su infraestructura: También deberá configurar la página de la Tienda para su aplicación. Google proporciona una lista de consejos para configurar una lista que le proporcionará instalaciones (¡y ventas!). Su infraestructura también puede incluir servidores con los que se sincronizará su aplicación.
- Finalmente, si desea que le paguen, necesitará un perfil de pago. Este es uno de esos una vez y hecho detalles, así que asegúrese de saber cómo encajará todo antes de seguir adelante.
Resumen y lecciones aprendidas
Llegamos al final de la guía. Con suerte, esto ha despertado su interés en el desarrollo de Android y le ha dado algo de motivación para tomar su idea y desarrollarla. Pero antes de agachar la cabeza y comenzar a construir, repasemos algunas de las lecciones clave que aprendimos en las secciones anteriores.
- Mirábamos dos caminos para crear su aplicación: constructores de apuntar y hacer clic y codificación desde cero en Java. El primero tiene una curva de aprendizaje más baja y ofrece una variedad justa (pero aún limitada) de funcionalidades. El segundo le permite crear casi cualquier cosa que se le ocurra y ofrece beneficios más allá del desarrollo de Android, pero lleva más tiempo aprenderlo.
- Si bien cada uno tiene sus pros y sus contras, ¡Puedes usar ambos caminos! Los entornos de apuntar y hacer clic ofrecen una respuesta rápida para crear un prototipo de su aplicación, mientras que el segundo le permite reconstruirla para una mejora a largo plazo.
- Si bien es tentador comenzar a trabajar en la aplicación en sí, te alegrará mucho más tarde si te tomas un tiempo para diseña tu aplicación, incluyendo bocetos de la interfaz y / o documentación informal sobre sus funciones. Esto también puede ayudarlo a determinar si uno o ambos de los métodos anteriores son buenas opciones.
- Una manera fácil de comenzar a desarrollar es diseñar los elementos de la interfaz de usuario y luego "conectarlos" programando su funcionalidad. Si bien los desarrolladores experimentados pueden comenzar a codificar componentes "en segundo plano", para los principiantes, es útil poder visualizar todo.
- Cuando se sumerja en el código, no tenga miedo de buscar respuestas en la Web. Si realiza una búsqueda en Google con un par de palabras clave y un "ejemplo de código" al final, obtendrá buenos resultados.
- Mientras construye, pruebe su trabajo poco a poco. De lo contrario, será muy difícil determinar cuál de las acciones de las últimas dos horas ha estropeado su aplicación.
Con esto en mente, entre y comience a hacer realidad sus sueños de desarrollo de aplicaciones. Y si decides ensuciarte las manos, cuéntanos cómo te fue en los comentarios (por cierto, nos encantan los enlaces a las capturas de pantalla). ¡Feliz edificio!
Aaron ha sido un experto en tecnología como analista de negocios y gerente de proyectos durante quince años, y ha sido un usuario leal de Ubuntu durante casi el mismo tiempo (desde Breezy Badger). Sus intereses incluyen el código abierto, las aplicaciones para pequeñas empresas, la integración de Linux y Android y la informática en modo de texto sin formato.