El bootcamp completo de desarrollo de aplicaciones para Android y Kotlin | Kioomars Jonood | Skillshare
Buscar

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

El bootcamp completo de desarrollo de aplicaciones para Android y Kotlin

teacher avatar Kioomars Jonood, Project Manager & Teacher

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      INTRODUCCIÓN

      2:33

    • 2.

      Día 1: instala JDK y Android Studio

      17:08

    • 3.

      Día 1: crea la primera aplicación

      18:04

    • 4.

      Día 1: comprobación del primer proyecto

      9:49

    • 5.

      Día 1: completar el primer proyecto (parte 1)

      11:45

    • 6.

      Día 1: completar el primer proyecto (parte 2)

      15:16

    • 7.

      Día 2: respuesta al cuestionario del día 1

      2:06

    • 8.

      Día 2: crea la aplicación (proyecto vacío)

      7:56

    • 9.

      Día 2: agrega una actividad en Android

      15:33

    • 10.

      Día 2: crea diseño: parte 1 (diseños de restricción - edición de texto)

      17:11

    • 11.

      Día 2: crea diseño: parte 2

      13:11

    • 12.

      Día 2: crea diseño: parte 3 (TextView)

      17:05

    • 13.

      Día 2: conceptos básicos del diseño de materiales en Android

      26:13

    • 14.

      Día 2: Prueba

      1:50

    • 15.

      Día 3: día 2: preguntas

      2:23

    • 16.

      Día 3: Agregar buttons (tipos de button y materialButton)

      10:57

    • 17.

      Día 3: conceptos básicos del diseño lineal en Android

      18:12

    • 18.

      Día 3: trabajar con textos y cadenas de texto (cómo administrar los valores de Stings en Android)

      17:07

    • 19.

      Día 3: introducción a las aplicaciones de Android en varios idiomas y la localización

      19:45

    • 20.

      Día 3: Propiedades de los buttons

      15:22

    • 21.

      Día 3: Prueba

      1:32

    • 22.

      Día 4: respuesta al cuestionario de Day3

      2:08

    • 23.

      Día 4: sección de resultados

      4:16

    • 24.

      Día 4: sección de resultados parte 2

      11:02

    • 25.

      Día 4: herramientas

      5:34

    • 26.

      Día 4: variables parte 1

      15:39

    • 27.

      Día 4: variables parte 2

      8:11

    • 28.

      Día 4: funciones

      5:47

    • 29.

      Día 4: errores y LogCat

      4:47

    • 30.

      Día 4: Si más

      4:08

    • 31.

      Día 4: propiedad de error de EditText

      15:07

    • 32.

      Día 4: Menos

      2:19

    • 33.

      Día 4: Prueba

      1:07

    • 34.

      Día 5: Day4QuizAnswer

      3:33

    • 35.

      Día 5: revisa lo que hemos aprendido hasta ahora y algunos consejos

      9:06

    • 36.

      Día 5: Gradle y vista parte de encuadernación 1

      15:10

    • 37.

      Día 5: Gradle y vista parte 2

      12:24

    • 38.

      Día 5: Gradle y vista parte 3

      9:06

    • 39.

      Día 5: Gradle y encuadernación de vistas, parte 4

      18:28

    • 40.

      Día 5: codificación de los otros buttons

      3:58

    • 41.

      Día 5: devolución de valores de funciones

      22:15

    • 42.

      Día 5: valores de entrada de una función

      21:41

    • 43.

      Día 5: consejos adicionales

      24:25

    • 44.

      Día 5: Day5Quiz

      0:56

    • 45.

      Día 6: Day5QuizAnswers

      2:02

    • 46.

      Día 6: valor decimal

      16:25

    • 47.

      Día 6: exportar apk y consejos Parte1

      20:23

    • 48.

      Día 6: exportar apk y consejos Part2

      15:38

    • 49.

      Día 6: exportar apk y consejos Part3

      27:44

    • 50.

      Día 6: exportar apk y consejos Part4

      13:35

    • 51.

      Día 7: introducción al juego

      25:30

    • 52.

      Día 7: página de juego

      18:59

    • 53.

      Día 7: organizar los objetos de página de juego

      26:22

    • 54.

      Día 7: otros cambios en la vista

      20:19

    • 55.

      Día 8: escritura de códigos de juegos primarios Parte1

      18:39

    • 56.

      Día 8: escritura de códigos de juegos primarios Parte 2

      22:45

    • 57.

      Día 8: tipos de datos numéricos

      29:18

    • 58.

      Día 8: gran número

      22:51

    • 59.

      Día 9: verificación de las suposiciones del usuario Parte1

      30:13

    • 60.

      Día 9: verificación de las suposiciones del usuario

      21:07

    • 61.

      Día 9: verificación de las suposiciones del usuario Part3

      17:05

    • 62.

      Día 9: verificación de las suposiciones del usuario Part4

      26:22

    • 63.

      Día 10: informe a Button parte 1

      20:35

    • 64.

      Día 10: informe a Button parte 2

      21:19

    • 65.

      Día 10: informe a Button parte 3

      20:15

    • 66.

      Día 10: informe a Button parte 4

      11:36

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

148

Estudiantes

--

Proyectos

Acerca de esta clase

¡Obtén la carrera de tus sueños con el bootcamp completo de desarrollo de aplicaciones para Android y Kotlin!

¿Estás buscando un trabajo de ensueño en el desarrollo de Android? ¿O tal vez tengas una idea fantástica para una aplicación de Android pero no sabes cómo hacerla? Este curso está diseñado para ti. No hay necesidad de buscar cómo desarrollar una aplicación para Android.

¿Por qué?

Aprenderás todos los aspectos del desarrollo de Android desde niveles de principiante

Aprenderás aquí con más de 10 años de experiencia en programación y enseñanza

Pasarás por muchos proyectos pequeños y proyectos de la vida real con muchos ejemplos, consejos y trucos.

¿Qué aprenderás y construirás?

  • Calculadora simple

  • Juego de números

  • Calculadora avanzada (agrega funcionalidad a la calculadora simple)

  • Aplicación de notas

  • Y muchas otras aplicaciones (aplicaciones simples y de la vida real)

Contenido principal:

  • Guías paso a paso en código

  • Muchos ejercicios

  • Consejos y trucos

  • Y...

Hazte profesional en:

  • Kotlin y programación orientada a objetos

  • Control de flujos y estructuras de datos

  • Uso de las funciones del dispositivo

  • Uso de bibliotecas de terceros

  • Llamadas a la API

  • ...

¿Crees que este curso es demasiado corto para aprender todos los aspectos del desarrollo de Android? Solo espera a las próximas actualizaciones y disfruta del desarrollo de aplicaciones. ¡Pronto entenderás que este curso vale la pena!

Conoce a tu profesor(a)

Teacher Profile Image

Kioomars Jonood

Project Manager & Teacher

Profesor(a)

Samaneh Mazidi SharafAbadi

Ver perfil completo

Level: All Levels

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción: Hola, soy Húmero, y bienvenido al desarrollo completo de aplicaciones Android y Catlin dos Z, Este es un curso donde pasarás por el nivel principiante con proyectos simples y alcanzarás niveles profesionales con proyectos más complejos y realistas. Todo lo que necesitas es ser persistente y probar este curso todos los días. En cada día del curso, pasamos por la duración de un ciclo de aprendizaje, practicamos juntos, recapitulamos juntos y hacemos un cuestionario juntos Si no te gustan los cuestionarios, no te preocupes. Cada cuestionario será respondido al día siguiente. Pero insisto en que primero intentes hacer los cuestionarios y ejercicios por ti mismo para que puedas aprender más Durante este ciclo, trato explicar todo de diferentes maneras, para que puedas aprender de la manera más sencilla posible. Si no obtienes algo en el primer video, lo conseguirás a través todo el curso porque volveremos a todo y a la materia muchas veces para asegurarnos de que los entiendes muy bien a todos. Durante este curso, también te enseñaré todos los consejos y trucos que he adquirido a lo largo de los años de mi experiencia laboral como desarrollador de Android, desarrollador fullstack y project manager Prestarás atención a tu aplicación Android tanto desde el punto de vista del desarrollador desde el punto de vista de la gestión. 2. 001 captura de instalación con un nuevo micrófono: Hola y bienvenidos, vamos a instalar. Primero, debemos instalar JDK. Buscamos Java JDK. Primer enlace, descargas de Java en el sitio web de Oracle, damos click en este. Iremos a esta dirección. Descargas de Joa. Descargas de Joa. Última versión. Tienes versión anterior, como puedes ver, pero quieres esta última versión. No tengo linux. No tengo Mac OS. Entonces no los necesito. Si tienes estas cosas, puedes instalarlas. Pero tengo ventanas. Entonces hago clic en windows. Tenemos versión 64. Entonces, ¿en qué versión debo tener? Simplemente en esta PC. Doy click derecho sobre el espacio vacío, por ejemplo, aquí dentro. Ya ves, no en los tontos. Aquí o aquí, en el espacio vacío. Y hago clic en propiedades. Primero, se puede ver que tengo ventanas diez, y luego en el tipo de sistema aquí. Se puede ver. Tengo 64 apuestas sistema operativo. Entonces tengo 64 bit. Volvamos a la página de Oracle. Tenemos 64 apuestas aquí también. Entonces descargamos esto hago clic derecho sobre esto y guardo Enlace, y lo guardo en mi escritorio. En el escritorio, ya guardo esto. Y si quieres, puedes presionar guardar. Se tarda unos minutos en descargarla. Después de eso, está terminado. También me descargo el Android Sudo. Para eso, busco Android Studio en Google. Ya veo, tenemos este desarrollador que android.com, y damos click en él Estamos en Android Sudio Site, y simplemente haz clic en descargar. Tenemos esta página. Bajamos y aceptamos este acuerdo. Por supuesto, después de leerlo, y luego podremos descargar la aplicación. Damos click en esto y esto inicia la descarga. Después de que terminó, también tenemos este Android Sudio en archivo instalador Este teléfono. Tengo los archivos que descargué en mi escritorio. Primero, instalamos JDK. Deberíamos hacer doble clic sobre él o hacer clic derecho sobre, hacer clic en astall Vamos a hacer doble clic en él. Esta es la guía del instalador. Simplemente presionamos siguiente. Esta es la ubicación que los óvulos instalan en su sistema, óvulos lo desarrollan, como se puede ver en la parte superior. Acepto esta ubicación predeterminada, presiono siguiente, y empieza a instalarse. Como puede ver, el kit de desarrollo Java instalado con éxito hecho. Escribimos CMD porque queremos att símbolo del sistema. Escribimos CMD. Tenemos este símbolo del sistema. Podemos pinchar sobre él o simplemente presionar en. Tenemos símbolo del sistema. Escribimos espacio Java. Donde es y presione inter. ¿Qué tenemos? Tenemos Java versión 22.0 0.1 Así que instalamos con éxito el kit de desarrollo Java este JDK, y verificamos para asegurarnos de que lo hicimos bien Así que ahora podemos estar seguros de que instalamos JDK correctamente. Pasemos al siguiente nivel. Debo mencionar, primero debes en instalar JDK, no Android Studio primero, JDK, y luego Android Studio, click derecho, ejecutar como administrador o doble Hagámoslo de esta manera. O doble clicon Bien. A continuación, lo que tenemos aquí, comprobado. Esto está marcado dispositivo virtual Android. ¿Qué es? Dispositivo virtual para probar tus aplicaciones antes de exportar esos APCs para los teléfonos reales Puedes probar estos dispositivos virtuales dentro de tu computadora sin ningún teléfono, solo con tus computadoras. Entonces, ¿cuánto espacio necesitamos? Entonces también deberíamos tener tanto espacio en nuestra computadora. Por supuesto, en el futuro, deberíamos agregar algunas otras cosas. Así que asegúrate de tener suficiente espacio en tu computadora. Tal vez al menos 50 gigabyte. Y creo que es mejor. Haces esto en tu inmersión en CD, es realmente más fácil. Por lo que debes dejar lado alrededor de 50 gigabyte en tu CDI para esto Y también recomiendo SSD en lugar de disco duro. Creo que es mejor mencionarlo. Bien, presiona siguiente. ¿Dónde debo en un cL? Como digo, creo que son mejores ubicaciones predeterminadas en la inmersión de CD. Es más fácil porque sin nada que hacer, Todas las demás cosas se pueden encontrar entre sí. Por ejemplo, y encuentras fácilmente JDK porque ese JDK en la ubicación predeterminada o las otras cosas que en el futuro agregamos encuentra todos los demás requisitos De todos modos, el cuento más largo, las ubicaciones predeterminadas son las mejores y asegúrate tener unos 50 gigabytes al menos en tu SST, mejor que el disco duro Siguiente. Y ¿cómo deberíamos llamarlo en tu menú de inicio? Y leerte, claro, no lo cambio solo en un puesto. Tenemos que esperar unos minutos, así que esto se acabó. Se basa en la velocidad de tu computadora, tal vez más de unos minutos. Ya que tengo SSD, tardó alrededor de un minuto o menos. Siguiente, y comenzar. No he venido fi así que no importe la configuración. Prensa. Creo que es mejor enviar estadísticas de uso a Google para ayudar a mejorar Android Studio. Android Studio, encuentra los componentes SDK disponibles para nosotros. Como pueden ver, dijo bienvenida. Simplemente presione siguiente. ¿Cómo queremos configurar nuestro estudio de Android? Creo que lo típico es mejor. ¿Qué es lo correcto? Cuales son las mejores cosas. Muchos de ellos eligen para nosotros. Presiona siguiente. Dije: Hacemos estas cosas por ti. ¿Está bien? Dicho si quieres revisar o cambiar alguno de tus ajustes de instalación, puedes ir y decir, quiero personalizado. Pero si no, STC y otras cosas los instalamos para ti En fin, todas estas cosas son buenas. Simplemente presione siguiente. Acepto a todos, debo aceptar la licencia y terminar. Se inicia la descarga. Bueno, nuestra instalación terminada estos componentes se descargan e instalan con éxito. Así que ahora podemos presionar terminar este botón de acabado. Ahora tenemos Android Studio. Y página de bienvenida de Studio. En esta página, podemos crear nuevo proyecto, proyecto abierto, y las otras cosas. Tenemos esto más acciones. Administrador de SDK de Prensa. Como podemos ver, instalamos STC y tenemos esta apariencia y comportamiento en la parte superior. Damos click en él. Tenemos esta nueva interfaz de usuario. Comprobamos el estudio Andrew comprobado habilitar Nueva interfaz de usuario por defecto. No lo cambiamos porque creo que la nueva interfaz de usuario es mejor. Es realmente mejor y también en apariencia. Nuestra tm es oscura. Tenemos otras cosas. Ves la luz. Luz con cabecera de luz, Drácula y alto contraste Creo que la oscuridad es buena. Es bueno. Yo uso oscuro la mayor parte del tiempo. Entonces no hay cambios aquí, pero solo quiero que veas, tenemos esta apariencia, tenemos este nuevo ojo, y es bueno por defecto. Pero si quieres, puedes cambiar esto a luz o cualquier otra cosa. Prefiero este porque es mejor para mis ojos en puedo ver que tenemos este administrador de dispositivos virtuales. Y decimos permitir el acceso, cualquier red pública o privada. Tenemos esta factura virtual aquí. Si queremos crear nueva voz virtual, como podemos ver, ya tenemos una porque decimos y leemos el estudio hacemos todas estas cosas por nosotros. Pero si queremos crear uno nuevo, hacemos clic en este botón más, este este botón Plus, crear voz virtual, hacemos clic en él. A la izquierda, tenemos teléfono tablet, TV de escritorio e incluso SO como relojes. Podemos elegir uno de estos y luego presionar siguiente, o incluso podemos crear un nuevo perfil de hardware y tener un perfil de hardware personalizado que no existe en esas cosas. Y cancelamos. Y cuando encontremos cuál de estas cosas queremos, presionamos siguiente, en fin, solo la cancelo. Y este es un dispositivo virtual. Ahora, es el momento de nuestro primer proyecto. Solo debería decir en el siguiente video que grabó unos meses antes, les muestro cómo crear nuevos proyectos. Pero por ahora, desde que vi desde principio a Andre el Sudio, ¿por qué hice eso? Porque Andrew D Sudo en la instalación cambió un poco, y solo quiero mostrarte lo último en instalación, cómo se instala la última versión de Andrew D Cdio Por eso, recaptura este video abierto. En el siguiente proyecto, se puede ver el nuevo proyecto, pero ya que como digo, son unos meses de todos modos. Sólo quiero mostrarte cuando presionas bien. Y, usted pregunta, ¿ Confía en este proyecto? ¿Confías en esta fuente que estás abriendo? Sólo quiero mostrarte esto. Podemos presionar este fideicomiso o podemos previsualizar en modo seguro. Puedes elegir lo que quieras. Ya que es mi propio proyecto, me creé con ustedes en los pocos días del futuro. Lecciones. Simplemente presiono proyecto de confianza, y puedo comprobarlo. Confío en el proyecto en esta ubicación. ¿No necesitas preguntarme estas cosas? Confío en esta ubicación. Y presiono confianza porque es mi propio proyecto. Y eso es todo. Gracias. Y en el siguiente video, creamos nuevo proyecto juntos. 3. Día 1: crea la primera aplicación: Bien, podemos abrir Android Studio haciendo doble clic sobre él. Ahora queremos crear un nuevo proyecto. Nuestro primer proyecto, damos click en este botón, nuevo proyecto. Podemos ver algunas plantillas aquí. Podemos elegir cualquiera de ellos. Estas plantillas son algunas aplicaciones pequeñas con códigos básicos. Por ejemplo, tenemos actividad de vistas básicas con este botón más. Y también tenemos otras cosas como actividad de navegación o botón de navegación ver actividades. Todos ellos tienen actividades y códigos simples en ellos. Si son tantas plantillas diferentes para ti, no te preocupes, nos aseguramos. Así que en este curso, puedes crear la mayoría de estas actividades y plantillas tú mismo una actividad. Como puedes ver a continuación cada uno de estos puedes palabra actividad. La actividad es simplemente llamar como una página, pero no es exactamente parecer una página. Podemos ser más específicos más adelante en el curso, pero por ahora no consideremos la actividad como en una página. Por ahora, comenzamos con la actividad vacía. Hacemos clic en siguiente o hacemos doble clic en él. Puedes presionar anterior para volver a la página anterior así. Cuando eliges actividad vacía, puedes presionar siguiente o hacer doble clic sobre ella. ¿Bien? Tienes nombre. Este nombre que se mostrará en el lanzamiento de Android para esta aplicación. ¿Cómo quieres llamar a tu app? Solo recuerda, cuando lo instales en cualquier teléfono, puedes ver este nombre, este nombre como el nombre de tu app en ese teléfono. Este nombre debe mostrar cuál es tu app. Entonces llamo a mi solicitud mayúscula Y, mayúscula H, y digo hola. Ahora, nombre del paquete. ¿Cuál es el nombre del paquete? Pienso de muchas maneras para explicar esto, pero la forma más sencilla que puedo explicarte, la forma más sencilla, imagina cada casa de tu pueblo tiene un código postal único. Se pueden encontrar dos casas con el mismo código postal. ¿Por qué? Porque si encontramos dos casas con el mismo código postal, ¿cómo puede la oficina de correos marcar la diferencia entre ellas? La oficina de correos puede decidir que esta paquetería pertenece a una de ellas y la otra pertenece a la otra. De todas formas. En pocas palabras, cada casa con cada buzón tiene un código postal único Nunca dos casas tienen el mismo código postal. Esto es largo, pero creo que puedo hacer mi punto, y espero que entiendas a lo que me refiero. El nombre del paquete es lo mismo que ese código postal. No debería ser duplicado. Bien, Andrew, el estudio, agrega mi nombre nombre de aplicación al final del nombre del paquete. Pero tiene otras partes que se separaron con puntos. Por ejemplo, puedo poner mi nombre de dominio aquí, 7204. Bien, vemos este error en la parte inferior. Un dígito no puede ser el primer carácter de una declaración de paquete. ¿Qué debemos hacer? Este es mi sitio. Ya que este es mi sitio web, quiero que este sea al principio del nombre de mi paquete. Yo tengove.com primero escribo el com, después mi sitio es siete x 24 Esto es 7204 extra. Y mi aplicación es decir hola. Este nombre de paquete es único porque comienza con mi nombre de dominio y termina con el nombre de mi aplicación. Di hola. En caso de mi problema de que tu nombre de dominio comience con un número, ¿cómo debemos solucionarlo? Porque sucede de vez en cuando. Puede que tengas el mismo problema. Bueno, escribamos debajo de la línea antes de las siete. Verá que el carácter debajo de la línea no puede ser el primer carácter de un segmento de paquete. Entonces escribo sitio, mi nombre de paquete es com site 7204 layer, di hola Es único porque nadie más tiene un sitio con este nombre al final de ese sitio. Porque quiero marcar la diferencia entre mis apps escribo, saluda. Puedo entender que esta es la aplicación, es la aplicación say hi. Ya que este curso parte de los niveles básicos, voy a tratar de explicar todo lo más simple posible. Va a llevar un poco de tiempo, pero aprenderás muy bien todos los conceptos básicos. En fin, como digo, esto es único. Y más adelante cuando publiques tu app en Play Store, Google y todos los dispositivos Android, conoce tu aplicación con este nombre de paquete. Algunos de los tutoriales de Android podrían decirte, si no tienes un sitio web, digamos por ejemplo, escribe ejemplo aquí. Nunca hagas eso. Puedes usar tu propio nombre. Tu nombre, está bien. Puedes usar el nombre de tu empresa, puedes usar cualquier cosa. Pero por favor nunca escribas ejemplo aquí. No está bien. Por ejemplo, si no tengo ninguno, no escribo mi apellido, pero nunca ejemplo, ¿bien? Suficiente del nombre del paquete. Veamos, ubicación segura, esto está ahí. Tu proyecto se guardará en tu disco duro o estado cuando quieras que se vuelva a acceder a este proyecto, debes usar ese lugar, nombra bien por defecto en la carpeta Android Studio project. El Android Studio crea un proyecto con el nombre, Di que cambié la ubicación. Bien. Presionemos este botón. Esta es la carpeta que Andrew Studio, por defecto, seleccionó para mí. Lo cambié a Desktop. ¿Ves esta pequeña flecha? Presiono esto para que pueda ver las otras carpetas. I nombre de carpeta, Proyectos. Doy click en esto, ahora puedo guardarlo. En mi carpeta Proyectos en mi escritorio. Si presiono la flecha al lado de los proyectos, no puedes ver ninguna otra carpeta porque está vacía. Puedes ver que esto está vacío, ¿de acuerdo? Pero es mejor tener una carpeta dentro de esa carpeta de proyecto para pueda encontrar mi proyecto entre otros proyectos. Bien. ¿Cuál es el spot? Tengo directorio home, tengo directorio de escritorio, tengo directorio nuevo. Quiero crear una nueva carpeta. Ahora Android Studio me preguntó ¿cuál es el nombre de este nuevo nombre de carpeta? Yo digo cero bajo línea, digo capital, saluda. Este es mi foll. Ahora puedo presionar bien. O presiona en Android Studio, crea A con el nombre, saluda por. Se puede ver. Esta es la F que Android Studio crea para mí. Presiono bien. Y puedes ver la dirección en la parte superior. Bien, esta es mi dirección. Todas mis fuentes dicen aquí ahora, SDK mínimo. ¿Qué es? Es la versión de Android más baja que puede ejecutar tu aplicación. Tu aplicación no se puede instalar en la versión inferior. Por ejemplo, si tenías tu PK de Android, no puedes instalarlo en Android six porque el SDK mínimo es Android siete. Por lo que hay que usar mínimo Android seven para instalar esa aplicación. Puedes leer, tu app se ejecutará en aproximadamente 96.1 de los dispositivos Significa 96.1% de todos los dispositivos Android que reconoce Google Play Store tienen Android siete y superiores Alrededor del 2% 0.9 de ellos son Android six y por debajo. Si lo cambias, por ejemplo, digamos Android ocho. Ahora tu app se ejecutará en aproximadamente el 93.4% de los dispositivos. Por ahora, Android siete está bien. Podemos tener una versión de Android, pero están desfasados y no quiero eso. A lo mejor usas algunas características nuevas de Android no existe en un Android versiones como Android siete. Y por eso, tal vez quieras Android ocho en Android Noi Pero ten cuidado, si, por ejemplo, usas Android Noi, alrededor del 14% de los dispositivos no pueden instalar tu app En fin basta de esto. Elegimos ese Android siete. Bien. Lenguaje de configuración de compilación. Tenemos tres opciones, pero seguimos con Catlin recomendado Tal vez en el curso, también miramos las otras opciones, pero nos apegamos al idioma recomendado. Si tienes versión anterior de Android, por ejemplo, hace unos años en este lugar, también puedes elegir Java para tu app. Pero como ves, no tienes Java. De todos modos solo tienes cutline y groovy. Lo dejo con recomendado. Bien. Todo está bien. Discutimos todos estos y los explicamos. Presionemos Finalizar. Tarda alrededor de diez a 20 segundos. Entonces mi proyecto Create, y como veis, mi Radial va a descargar algunos archivos y algunos paquetes para mi proyecto. Bien, está terminado. Tarda alrededor de un minuto para mí. Continuaremos con el resto de este proyecto en el siguiente video. 4. Día 1: comprobación del primer proyecto: Bien, llegamos hasta este momento y apenas comenzamos nuestro nuevo proyecto. Nuestro proyecto no tiene subrayado de actividad. Mame si estás un poco familiarizado con, y quizás te preguntes que hay archivos de diseño buscas en la carpeta del proyecto, ves los archivos, y no los encuentras. Está bien. Te voy a mostrar lo que pasó primero. Veamos qué tenemos aquí. Tenemos nuestro follo, nuestro nombre de paquete, y bajo el punto de actividad principal para el archivo Catlin, la extensión del archivo es kt Bien. Dentro de ese archivo, tenemos algunos códigos. Déjame ver esto rápidamente. Y luego buscaremos los archivos XML. Tenemos nombre del paquete. Este es el nombre del paquete que definimos cuando estábamos creando el proyecto por primera vez. Después de eso, tenemos esta importación. Tenemos esta flecha. Si lo abres, tenemos algunas bibliotecas importadas. Por primera vez cuando creas un proyecto en Android Studio, necesita algunos paquetes y archivos para descargar. Dependiendo de tu conexión a Internet, puede tardar de uno a 10 minutos descargar todos los archivos necesarios. Solo ten paciencia de todos modos, no necesitas preocuparte por esta parte en este momento. Cubriremos todo esto en futuros videos. Echemos un vistazo a las partes principales. Aquí tenemos la actividad principal como con una función llamada y crear que se ejecuta cada vez que abres tu app en el teléfono. En esta función, se llama a otra función saludo a la que se pasa un valor de cadena. Por ejemplo, usuario. Puedes cambiarlo a lo que quieras. Aquí también tenemos esta función, name greeting, y lleva una cadena dentro de ella, creamos un texto para ese texto que creamos. Establecemos un atributo, atributo texto con el valor, digamos alto. ¿Recuerdas el nombre? Di Alto. Sea cual sea este nombre. El decir alto 999. Yo lo escribí, este 999 después de él y cambio este texto. No te preocupes por estos comandos por ahora. cubriremos todos en el futuro En mi app con este botón en el dispositivo virtual que agregué a Android Studio en los videos anteriores. Después de algún tiempo, mi app se abrirá en dispositivo virtual como puedes ver. Bien, estoy esperando. Bien, está listo. Puedo ver en mi voz visual que es pixel L P 34. Puedo ver esto, este es mi pixel Cel API 34. Tengo algunos otros botones, los cubro más tarde. Si lo hago zoom, se puede ver decir alto 999 como se ve dentro del texto, porque creo este texto y dentro eso le doy un texto con el valor de decir, nombre alto. El nombre es 999. Yo tengo esto. Déjame esto. Bien. Y zoom un poco. Si haces un archivo APK desde tu app y lo instalas en un dispositivo telefónico real, verás exactamente el mismo resultado que ves aquí. Así, significa lo que sea que veas en el dispositivo virtual, es una vista previa de tu dispositivo real. Todos ustedes usuarios teléfonos, pueden probarlo aquí primero. Bien. Ahora intentemos encontrar los archivos XML donde debería estar nuestro layout. Como recuerdas, creamos nuestro nuevo proyecto a partir de templado. Puedes elegir archivo, nuevo proyecto nuevo para crear nuevo proyecto, para crear este proyecto de actividad vacío. Pero algo que quizás no sepas, este logo es para compuesto, el proyecto que hicimos. Algunos programadores experimentados cometen este error, como veo en los últimos meses, algunos de mis propios programadores cometen exactamente el mismo ¿Por qué? Porque está en la cima y parece actividad saludable. Pero está compuesta. ¿Qué se compone? Compose es una nueva forma de diseñar maquetación para aplicaciones Android. Se crean objetos y elementos en cada página de la aplicación utilizando el lenguaje Catlin Componer es bueno para aplicaciones grandes con muchas páginas. Y como la primera parte de este curso es en nivel principiante, continuaremos con los layouts de Mal, pero volvemos a componer en el futuro por qué elegí este formato. En el último video, quería demostrar que podrías hacer lo mismo y confundirte. Incluso algunos de los desarrolladores experimentados con los que trabajo habían hecho lo mismo. Entonces se lanzó esta nueva versión de Android Studio y no sabía cómo solucionar el problema. Durante este curso, puedo hacer lo mismo cometiendo errores deliberados, para que puedas aprender de ellos. Si desea crear una aplicación con diseño X ML, seleccione la actividad de uso vacío. Bien, presiona siguiente. Vamos a nombrar la aplicación que escribo, digamos alta con XML principal. Quiero decir que esta app está usando diseño XML. Por supuesto, no es un buen nombre. No deberías escribir así. Deberías escribir el nombre, Sea lo que sea que realmente haga tu app, el usuario puede encontrarla con este nombre. De todos modos, nombre del paquete. Lo dejo porque es solo un SDK mínimo de lenguaje de prueba. Cubro todos estos. Yo no las repito. Acabado. Bien, ahora creo mi primer proyecto, pero esta vez con maquetación XM Continuaremos con este proyecto y comenzaremos a codificar en el siguiente video. 5. Día 1: Completar el primer proyecto (parte 1): Bien, acabo de reabrir mi proyecto en Android Studio. Veo este consejo del día. Puedes consultar este consejo del día. No muestres estos consejos sobre startup, pero no reviso esto. Nunca verifico esto. ¿Por qué? Porque estos son consejos útiles. Por ejemplo, vamos a leer este consejo. Convierte clases de Java a Colin. Puedes convertir fácilmente cualquier clase Java a con la misma semántica Para ello, seleccione código. Convierte archivos Java a archivo Colin desde el menú principal. En fin, vamos a cubrir esto en el futuro. Bien, volvamos a nuestro proyecto. Tenemos dos foil, actividad principal y XML de actividad dentro de cada uno de ellos. Como ve, también hay algunos códigos. Dentro del código hay. Por supuesto se puede ver cómo se ve, pero ambos tienen algunos códigos. Tienes estos códigos en ambos archivos porque usas plantillas. Si creas un proyecto vacío, no tienes nada y debes crear a partir de cero por ti mismo. Puedes construir tu proyecto en cualquier momento desde este menú, Construir, Hacer Proyecto. Cuando lo presionas, toma unos segundos a unos minutos construir tu proyecto. Si tienes algún error o problema, no tienes esta verificación de pantalla y tienes esos errores. Puedes ver tu proceso de construcción en esta ventana. Y cuando incluso presionas este botón Ejecutar para ejecutar tu app y ver el resultado, puedes ver en esta ventana, cómo es el proceso de construcción y qué está pasando, ¿bien? Vamos a minimizar esta ventana. También tienes este gestor de recursos que todos tus recursos están aquí. Por ejemplo, hasta tus colores están aquí y las cuerdas están aquí. Tienes tus archivos. Como tienes tu disco duro, los tienes aquí. Por ejemplo, esta actividad principal, tienes debajo de esa carpeta. Cada vez que lo pierdes y lo vuelvas a querer, no puedes hacer doble clic sobre él y abrirlo. Todos los demás archivos aquí, puedes acceder a ellos En esta ventana de proyecto, tienes toda la estructura de tu proyecto. Todo el archivo de proyecto que tengas está aquí. Puedes ver todos estos archivos en tu disco duro. Por ejemplo, si escribo, haga clic en esto y abra en Clare Tengo esto en mi disco duro. ¿Bien? Abro la app, tengo el SRC No los tengo aquí. ¿Por qué? Porque debería usar este desplegable y cambiarlo a project. Bien. Ahora ahora tengo las mismas bibliotecas de estructura y SRC aquí también Si quieres verlas aquí, puedes ver debajo de las bibliotecas Fuller RC para la fuente exactamente igual También puedes volver a cambiarlo a la estructura de Android que los categorizó como recomendado. No exactamente lo mismo en tu disco duro. De todos modos, nos quedamos con Android view, tenemos todas las demás vistas también. Nos quedamos con Android view porque mayoría de los programadores utilizan esta vista Es más fácil de entender y más fácil de usar. Bien, para resumir, tenemos este archivo y esta actividad, ese archivo XML. El código Cutlin es nuestro código de programación que definimos lo que pasó si pasa algo más Por ejemplo, ¿y si el usuario hace clic en algo, el usuario ingresa a una determinada página? ¿Y si el usuario hace algo más? Pero en los archivos XML, definimos cómo debería quedar la aplicación. Por ejemplo, ves que así es como se ve nuestra app en este momento. Un texto con cantidad de hola mundo en el medio y una gran pantalla ancha. Si tenemos un archivo APK y en un sólido, en un dispositivo Android, incluso no en un teléfono, tenemos una pantalla. Un texto con hola mundo. Incluso podemos cambiar esto. Ves todos estos textos XML. Podemos cambiar todos los atributos de los textos. Por ejemplo, tenemos texto dentro esa palabra hola de Android. No te preocupes por las otras cosas. explicamos todos y muchas otras cosas en el futuro. Pero por ahora, por la forma más sencilla de tener un ejemplo alto con capital ahí. Alto ahí. Bien, déjame volver a la página de vista previa. Se puede ver ahora tengo alto ahí así. Cambié el texto. Si cambio este texto, lo puedo ver en mi app. Pero y si quiero usar el click en un botón y después de eso muestro texto diferente. No puedo hacer esto por dentro. Y ML, hago esto al cortar aquí dentro. Yo digo si un usuario hace clic en ese botón. Entonces cambia ese texto a otra cosa. Esta es la diferencia entre XML y Cut Ling. Espero que entiendas a lo que me refiero. En el futuro. Doy tantos ejemplos como sea posible, puedes entenderlo completamente. Bueno, antes de que me olvide, si tengo algunos recursos, por ejemplo, imágenes, por ejemplo, algunos textos para diferentes idiomas, por ejemplo, imágenes o cualquier otra cosa. ¿Ves los recursos llenos por dentro que puedes tener todos tus recursos Por ejemplo, si tienes algún tipo de texto o incluso colores definidos, puedes ponerlos aquí. Tienes el archivo emer de color para nombrar tu color que quieres usar en diferentes partes de tu app. Por ejemplo, como puedes ver, tienes estos colores nombre negro con esta cantidad, puedes ver Vista previa a la izquierda. Este es color negro, color blanco. Con esta cantidad se puede ver el color blanco. Vista previa también una cadena, tienes el nombre de tu aplicación aquí. También puedes poner todos los valores de cadena que quieras usar alrededor de tu app. Por ejemplo, algunos para tus botones o cualquier otra cosa. Espero que lo entiendas por ahora. Sigamos adelante. Además de estos valores, déjame mostrarte rápidamente tu ícono de aplicación se guardará en el mapa. Como puede ver, el archivo de diseño de su aplicación estará allí en la carpeta de diseño. Como puedes ver muchas otras cosas. Como dije antes, olvido de vez en cuando podrías tener algunos errores, pero no hay nada malo con tu app. Podría decir esto algunas veces más porque es importante. Solo tienes que entrar, construir y volver a hacer tu proyecto. Reconstruye tu proyecto. Puedes usar make project o tal vez reconstruir proyecto, lo que sea que funcione para ti y es posible que no tengas ningún error después de eso. A veces pasa, pero no todo el tiempo. 6. Día 1: Completar el primer proyecto (parte 2): '. Bien, continuemos. Quiero agregar un botón a mi app así. Quiero que esto esté debajo de este texto. Y en el medio me conecté a derecha izquierda. Y este texto yo también, se puede ver este atributo aquí. Abre este atributo desde la parte superior. Añado 50. 50 es bueno, Sí, y puedes ver el margen de 50 DP, top 50 DP. Averigüemos qué son las dimensiones DP en Android Studio. ¿Qué son las dimensiones? El valor de dimensiones definido en archivos XML o de diseño se especifica con un número seguido de una unidad de medida como esta. ¿Para qué lo usamos para distancias? Por ejemplo, aquí, margen superior es igual a 50, significa que debes agregar un margen superior para 505050 ¿Qué es DP? Siguiente diapositiva, seguimos explicando esto. Contamos con diferentes unidades de medida para definir tamaño y distancias. Como ve, tenemos pulgadas de píxeles, M, M milímetros, puntos T, densidad P, píxel independiente y píxel escalable SP. Pero los más utilizados en Android son DP y SP. Puedes leer las descripciones para más información, pero ¿cuál es mejor para qué de todos modos? Recomendación usar P para texto. Use DP para otras dimensiones y tamaños como margen, peso, altura y otras cosas. Conozcamos más sobre DP. Si tienes dos dispositivos con la misma resolución pero diferentes tamaños de pantalla, por ejemplo, 5 "y 7.1”, la densidad en la pantalla más grande es menor que la del dispositivo de pantalla más pequeña. Debido a esto, si usamos DP para un tamaño de imagen, esa imagen será más grande en la pantalla más grande, pero en el bolsillo de densidad de pantalla más pequeña. Todas las pantallas están agrupadas bajo bolsillos de densidad. Mdpi y otros que podemos ver en Andre Studio. Se define qué pantalla, cuál de estas imágenes. Pienso otra vez, es intermedio. Puedes volver aquí en el futuro si no entiendes ninguno de estos, incluso cuando quieras poner tu ícono en tu app, hay sitios que puedes dar tu foto en ellos y te dan todos estos tamaños. Incluso entonces si no entiendes exactamente qué imagen para lo que crean para ti, todas estas cosas, esta tabla como puedes ver. No hace falta que recuerdes todos estos números. Estos son para más información para saber qué tamaño es mejor para diferentes tamaños de pantalla y cuál es el tamaño real de la misma imagen en diferentes pantallas DPI? Nada. No tienes que memorizar todas estas cosas No te preocupes en todas las imágenes excepto el icono de la aplicación almacenado en la carpeta drivel en Android Studio Como puede ver, tenemos estos tamaños. Nuevamente, la recomendación siempre proporciona todos los cubos de densidad para todas las imágenes que quieras usar en tu app ¿Qué significa eso? Significa que si no tienes algunas de estas imágenes en alguno de estos follers cierra, se encuentra el tamaño y se usa Lo que dejo claro si no proporcionas una de estas fotos, va a la carpeta más cercana, por ejemplo, si no lo haces para blanco esto, va aquí. Y mira esto, no lo pones aquí. Bien. Ve a buscar aquí. Entonces lo encuentra aquí. Se redimensiona por sí mismo porque el Android redimensiona por sí mismo. El daño a la calidad. No es lo mismo que si lo haces tú mismo. Por eso, es mejor que te proporciones. Aprenderás más sobre estas cosas durante este curso. No te preocupes por ello. Pero por ahora, porque queremos aclarar qué es DP u otra cosa, cubrimos todas estas cosas. lo dije otra vez, no te preocupes en absoluto. Como señalé aquí, nombre de bolsillo de densidad estará al final del relleno rival relacionado. Se puede ver al final de cada uno de estos. Eso es. Volvamos a Android Studio. Bien, tengo una identificación. ¿Qué es el ID? Es el nombre que llamamos nuestro objeto. Por ejemplo, si llamo a este botón PTN, dígalo dicho, ¿qué quiere hacer? Cada lugar que use tu botón, quieres cambiarlos con BTN Diga yo digo que sí, por ejemplo, Eliminar ese alto. También decía, All Peace, que usa tu botón y decimos que lo usamos con el nombre BTN Di hola. ¿Quieres cambiarlo a BTN Digo que sí, porque todos los lugares dentro la app conocen a este botón como BT. Y ahora me cambié el nombre, así que deberían saber de esto. Lo cambié de todos los lugares, presiona ese botón. Te explicamos más sobre esta ventana en el futuro. Bien, aquí cambiamos. Ahora si vemos en el código, puedes ver este botón ID es igual a BTN, digamos oye Ahora puedo ver que este texto es botón, quiero que este texto nos diga hola. Ahí se puede ver que ha cambiado. Quiero que veas. Puedes cambiarlo a partir de esto, desde aquí cambié la idea. Y también de este código de lugar, se puede ver que el acabo dentro de la T. Puede cambiarlo aquí, pero quiero ver que lo puede hacer desde la vista XML, vista de texto. ¿Bien? Bien. Ahora, ¿qué queremos? Si hago clic en esto, saluda al usuario, cambiar este usuario alto a diferentes textos? ¿Cómo debo hacer eso? I dentro del archivo XML. Como te dije, tenemos que hacer este tipo de cosas. Si hago clic en algunos debería suceder. Este tipo de cosas que debo hacer dentro del archivo, ¿de acuerdo? Bien. Ahora quiero decir algo. Si ese patrón hizo clic aquí, quiero ejecutar algún código para ese patrón de adentro hacia afuera. Tenemos este atributo click. Escribo el nombre BTN Clicked dentro de este evento lick. Pero está bajo los atributos. De todas formas, atributos o evento. Vamos a continuar. Puedes ver este click dentro de este código. Esto se puede ver aquí. ¿Qué dice? Digamos que no tienes este método dentro de tu ling cortado. Bien, ¿Cuál es la sugerencia? Crear esta actividad de preso. Bien, vamos a crear este estudio de Android creado para nosotros. En su interior, deberías escribir algún código. Bien, vamos a crear una variable. Variable, es alta, es decir una vista de texto. Decenas dentro de los widgets. Crear una vista de texto como tipo de vista de texto. Debería sentirlo. Buscar vista, encuentro ver ID. Debo decir qué objeto pertenece a esta variable R. R significa recursos ID. Como pueden ver, puedo ver todos ellos texto alto. Bien, ahora queremos hacer algo alto. ¿Qué debemos querer hacer? Queremos establecer lo que quieres escribir. Por último, saluda por primera vez, nosotros decimos hola. Como puedes ver, dices esta línea amarilla. Es porque podemos hacer esto de muchas maneras diferentes y mejores, pero solo queremos hacer clic en la función para que podamos escribir nuestra primera. Bien, vamos a ejecutarlo. Bien. Nuestra app funciona aproximadamente, creo, uno, 15 segundos o un minuto después. Se puede ver que tenemos este botón, y si lo presionamos, por fin decimos hola. Es suficiente por ahora, porque como pueden ver, tenemos muchas otras cosas de las que hablar. Por ejemplo, no sabemos cómo crear variables. No sabemos qué es la función, cómo encontramos estas cosas dentro del recurso, por qué esta advertencia está aquí, y qué debemos hacer, y muchas otras cosas. En la siguiente lección, debemos comenzar con lo básico. Cubrimos lo básico uno por uno, y luego volvimos para programas más complejos. 7. Día 2: respuesta al cuestionario del día 1: Bien, respondamos a nuestro cuestionario del jueves. Pregunta número uno. ¿Cuál es el mejor orden de instalación para las siguientes necesidades para actuar desarrollo en Android Studio Tenemos CK, Android Studio y JDK. Desde que en video anterior en el primer día, tenemos primero nuestro JDK, luego Android Studio, y luego SDK Muy fácil. Pregunta número dos, ¿por qué usamos emuladores, por supuesto, para previsualizar nuestras aplicaciones antes instalarlas en dispositivos reales Esta pregunta número tres, cuando hace el evento, estoy seguro que se puede decir esto fácilmente. Cuando hacemos clic en un objeto en una página, se llama al evento click. Por ejemplo, si hacemos clic en un botón, como viste en el día anterior, utilizamos este evento click para cambiar un texto. Podemos usarlo de muchas maneras diferentes, pero claro que primero puedes definir qué quieres hacer. 8. Día 2: crea la aplicación (Empty Project): Bienvenido a la calculadora simple del proyecto del día dos. ¿Qué va a hacer? Nuestra calculadora toma dos números, realiza cuatro operaciones aritméticas principales, más, menos, división, multiplicar y mostrar el resultado Si ingreso un número aquí, un número aquí, y presiono cualquiera de estos cuatro botones, el resultado será aquí, Oriente. ¿Eso qué vas a aprender? Aprendes al menos estas cuatro cosas definen variables, diferentes tipos de datos en Cutlin, operadores y condiciones Ya que estamos en un proyecto, estamos creando este proyecto, aprenderás muchas otras cosas que surgirán lo mejor que pueda para enseñarte muchos pequeños detalles que quizás te resulten muy útiles. Espero que disfrutes. Bien, vamos a crear nuestro primer proyecto. Cuando abres Android Studio, es posible que abra el último proyecto que estabas trabajando. Si no ve esta ventana, simplemente puede abrir este archivo de menú Los Project. Ahora puedes ver esta ventana en esta ventana. Puede pulsar este botón. Nuevo Proyecto. Bien, Esta es tu ventana de plantilla, la ventana que puedes elegir, cualquier plantilla. De todas formas, A la izquierda tienes la televisión. Pero elegimos el teléfono y la tableta. Tienes algunas plantillas aquí. Cada una de estas plantillas tiene algo para ti. Por ejemplo, la plantilla tiene un dorso, esta plantilla tiene un botón de retroceso. Y este botón en el primero, tenemos esto porque queremos hacer algo diferente. Empezamos sin actividad. Creamos un proyecto con este proyecto, y ahora es el momento de no realizar ninguna actividad. Veamos qué tenemos aquí. Presionamos siguiente o doble cconet. Bien, deberíamos escribir nombre. Bien, escribo este nombre para mi calculadora. Mi calculadora, este es el nombre de mi proyecto, el nombre del paquete. Escribo esto honestamente, el Android Studio lo escribe para mí porque antes escribo estas cosas. Y como mi nombre es mi calculadora y Studio la escribe, no la cambié. Como dije, es algo único. Este nombre del paquete, como su número de teléfono o su código postal. Dije esto también en primer día guardar ubicación. Mi proyecto guardado, como ves nombre mi calculadora. Desde que guardé mi proyecto anterior en proyectos, el Android Studio. Sí, quiero guardarlo en mi calculadora sobre el proyecto. Como digo, mi último proyecto ahí dentro, el lenguaje se aferra por qué Catlin porque Google Android Studio sugiere Catlin es mejor Elegí Catlin para mi proyecto ahora, mínimo K. Mi mínimo K es Android siete No puedo instalar mi app en el dispositivo si tiene, por ejemplo, Android six. Todos los Android después de las siete y Android siete soportan mi app. Y se trata de un 96.3% de dispositivos. Es un buen número. De todos modos, lenguaje de configuración. Ya que sí recomiendo esto , que sea esto y termine. Desde que acabo de crear mi proyecto, esperamos de unos segundos a unos minutos hasta que el gradual construya mi proyecto. Bien, mi factura de la aplicación se completa con éxito en 1 minuto y 5 segundos. Como dije, podría ser diferente en función tu Internet y la potencia de tu computadora, como Ram o CPU. Bien, continuemos cuando tu proyecto esté listo, veamos, ¿qué tenemos? Tenemos dos partes principales en el proyecto. Este proyecto que podemos cerrar y abrir, y esta ventana principal que tenemos en el centro. Escribimos toda nuestra codificación en este lugar. En este lugar principal, la sección de proyectos que tenemos aquí, asegúrate de seleccionar Android para un mejor acceso. También tienes esta vista de proyecto que muestra tu proyecto la forma en que se almacena en tu disco duro. En fin, cubrimos todas estas cosas el primer día, Bien. En el Apple, estos tres sondeadores se manifiestan, Catlin más Giova En este Catlin plastiovo, tenemos este chiller, ya que no usamos ninguna plantilla, también está vacía Tenemos estos recursos. Volvemos aquí más tarde. Cubrimos algunas de estas cosas en el primer día, queremos agregar una nueva actividad. Seguimos esto en el siguiente video. 9. Día 2: agrega una actividad en Android: Bien, bienvenido de nuevo. Añadiendo actividad a nuestro proyecto. Si no estás viendo esto así, puedes elegir la opción tres. Apariencia compacta medial empaqueta esto. ¿No ves esto? Pero si revisas, ves así. Bien, sigamos adelante. Haga clic con el botón derecho aquí. Si tienes así, haz clic derecho sobre el último. Nueva actividad, vacío Haga clic en Actividad. Bien, tienes esto. Ahora estamos sumando una actividad. Veamos, ¿qué tenemos? ¿Cómo deberíamos llamarlo? Llamémoslo Actividad principal porque es nuestra primera actividad y su actividad principal. En realidad, cada actividad tiene dos partes. La parte que escribes tu, la capa que ves, llamamos layout. Por eso, tienes dos nombres. En su mayoría tienes el mismo nombre. Puedes encontrar qué diseño pertenece a qué actividad, puedes encontrar una mientras miras a otra. Ya ves que hay un nombre diferente, ligeramente diferente en el naming. Ten cuidado, no puedes escribir ningún espacio aquí. El nombre de diseño no está establecido en un nombre de recurso válido. El espacio no es un nombre de recurso basado en archivos válido. Tu nombre solo contiene minúsculas de la A a la Z y el número del cero al nueve o subrayado Eso es esto, deberías nombrarlo como debe ser, no otra cosa. Por ejemplo, no se puede poner un.in aquí. No se puede usar el capital así por eso. Como puedes ver, tienes a Big M allá arriba, pero tienes un pequeño personaje aquí abajo. Bien. ¿Cuál es el nombre de nuestro paquete? Nuestro nombre del paquete de aplicaciones, Por supuesto, lo que nuestro lenguaje para la codificación Cut. También puedes hacer clic en Job. En este curso, usamos Cutlin, pero también tenemos otra cosa Ves esta actividad de lanzamiento. ¿Qué es esto? Después haces clic o tocas, digamos tocas la voz de Android. Después tocas un ícono en tu voz de Android e inicias una aplicación. Tienes una actividad predeterminada. Cada app tiene una actividad predeterminada que ves cuando tu app se abre. Si verificamos esta actividad de lanzador, esta actividad se considera como actividad de lanzamiento como actividad predeterminada. Lo comprobamos porque es nuestra actividad principal. Bien, nada más. Terminemos esto y esperemos. Nuestra actividad será creada. Ahora tenemos esta actividad principal en esta actividad en la línea XML que, como puedes ver, tiene nuestra actividad revisible Esta es nuestra actividad principal, Katie y XML. Antes de que me olvide, vamos a cambiarlo a compacto, ya que solo me gusta darle un disco. ¿Qué pasa si cierro esto y cierro esto? ¿Cómo puedo encontrarlos? Primero proyecto entonces, No esta vista android, La clesva, el nombre de mi paquete, actividad principal, doble fuga Esto es K tiene mi código. Entonces bajo este recurso, tengo mi maquetación sobre esto. Tengo mi actividad principal XML. ¿Bien? Tengo este manifiesto aquí arriba. Dentro de eso, tengo este manifiesto XML de Android. La forma más fácil que puedo explicar sobre este manifiesto de Android que M. Esta es nuestra base. Es nuestro archivo base, el archivo más importante. Este archivo XML contiene metadatos importantes sobre tu app para Android. Estos datos incluyen, por ejemplo, nombre del paquete, nombres de actividades, ¿cuál es tu actividad principal? Y muchas otras cosas. En pocas palabras, es el archivo más importante en tu proyecto que todo empieza desde aquí. Tenemos muchas cosas que hacer con esto en el futuro. Por tantas razones, volveremos a esto. Pero por ahora, déjame explicarte algunas de ellas. ¿Cuál es nuestra app? Esta es nuestra app. ¿Cómo lo llamamos? ¿Cuál es nombre de mi app O cuál es mi equipo? Pero no estamos aquí por estas cosas. Estamos aquí para esta actividad. Cada actividad que agregues a tu app tiene una entrada aquí. Toda la actividad aquí, por ejemplo, creamos una actividad, tenemos aquí. Nosotros actividad que sumamos su actividad principal. Lo comprobamos en apenas un segundo. Permítanme continuar con un ejemplo. Haga clic con el botón derecho aquí. Nueva actividad, actividad vacía. Por ejemplo, creo una actividad llamada logging finish. Bien, tengo esta tala. Déjame volver a esto. Como puedes ver, tienes este registro de nombres. Este es el código completo que insertó en nuestro Android Manifest ML, las tres líneas, el nombre y exportado. Antes de que me olvide, siempre debes comenzar tu actividad. Es la regla. No es forzado por Android Studio, pero es la regla. Nueva actividad y actividad vacía aquí. Siempre empieza letra mayúscula. Es importante ya que puedes ver mayúscula M, mayúscula M aquí. Como puedes ver, capital capital, podría tener muchas partes. Por ejemplo, principal con capital y capital de actividad también cada palabra con un capital. Otra cosa que puedes ver iniciar sesión, ya que tenemos un inicio de sesión para nuestro código, tenemos esta actividad con nuestra parte visible Nuestro diseño está aquí. Nombramiento de actividades y rutas de nomenclatura de diseño. Vamos a ver qué aprendemos hasta ahora. Nombre de la actividad, comenzamos con mayúsculas. Si tienes más de una palabra en el nombre de tu actividad, es mejor comenzar cada palabra con mayúscula para mayor legibilidad Por ejemplo, actividad de registro de actividad, ¿ Puedes ver la mayúscula A mayúscula La palabra Actividad al final del nombre de la actividad es opcional pero los nombres de diseño recomendados, solo puedes usar letras minúsculas de la A a la Z números de cero a nueve. Y subrayado en los nombres de maquetación, no se permite el espacio en blanco porque no está en y todos los demás caracteres El nombre del archivo de diseño debe ser el mismo que el de la actividad relacionada. Por ejemplo, actividad principal actividad, ves la relación, puedes ver más de estas cosas en el futuro. las explicamos todas muchas veces hasta que podamos estar seguros de que las entiendes todas. Pero esta es una explicación muy breve de lo que estamos haciendo en el futuro. Bien, volvamos en muchos. En primer lugar, como pueden ver aquí, sólo tenemos estas tres líneas. ¿Por qué? Porque no tenemos el lanzamiento. Nuestra nueva actividad no es nuestra actividad principal. ¿Y si queremos cambiar nuestra actividad de lanzamiento? Por ejemplo, quiero que esta actividad de registro sea la primera actividad que todos vean. Primero, cerramos así. Y entre esta parte, como pueden ver, esta intención debería estar entre esta y esta parte. Nosotros lo cortamos. El control X, y exactamente aquí, nosotros pagamos el control aquí. ¿Qué tenemos? Tenemos este rojo bajo línea. ¿Por qué? Porque una actividad de lanzamiento debe exportarse a partir de Android 12, lo que también la pone a disposición de otras aplicaciones. Si lo hacemos, el error irá y tu actividad de inicio de sesión será accesible con otras aplicaciones. En fin, espero poder explicarlo. Bueno, volvamos a cambiarlo a aquí. Y además, no necesitamos nuestra actividad de tala, solo vamos a eliminarla. También eliminamos archivos borramos, este login, podemos eliminarlo desde aquí o simplemente presionar eliminar botón de seguridad, eliminar búsqueda. Bien, claro. Bien, borre de todas formas, porque no lo usamos todos modos en ningún lugar, esta actividad inicia sesión. Y también presione Eliminar, y por supuesto, eliminar eliminado. Continuaremos con esto en nuestro próximo video. 10. Día 2: crea un diseño, parte 1 (Diseños de restricción - editar texto): Crear diseño parte uno. Bien, sigamos donde acabamos de salir. Acabo de revisar mis videos y creo que mis fondos podrían ser un poco pequeños. Debería hacerlos más grandes para eso, elijo. ¿Puede presentar esta configuración? Como ve, la clave de la tarjeta corta es de control y al mismo tiempo busco el fondo. Aquí puedo ver primero tengo esta apariencia. Lo hago a cabo 16 aplicar. Hace que toda la aplicación sea un poco más grande. Y el editor por mi parte, yo también tengo el fondo aquí. Creo que tal vez, déjame ver si le doy 15. No rey, ¿cómo es? Es realmente bueno. Es mejor. Creo que es suficiente. ¿Bien? Bien, espero que sea mejor para ti. Y puedes leer esto fácilmente. Bien, continuemos con nuestra codificación y proyecto. Bien. Primero, cierra esto y déjame ver si ejecutamos la app. Deberíamos ver nuestra actividad en la línea principal ML, primero nuestro emulador. Tenemos este emulador que seleccionamos. Bien, ahora debería presionar esto. Corre y espera. Bien, mi app se ejecuta y mi app se ejecuta. Puedes ver que esta es nuestra app. Evitar y el nombre de mi calculadora. Esta es nuestra app. ¿Bien? Paremos de eso y minimicemos esto. Ahora bien, si cierro esto, primero quiero ver qué hay dentro de mi actividad principal. Establecer vista de contenido, ¿qué significa? Significa establecer el contenido de la actividad de un recurso de diseño para mostrar qué diseño es para este código, para mi actividad principal de Resource. De Disposición Para. Como puedes ver aquí, la actividad subyacente principal es mi actividad para este código. Si quiero acceder a este archivo, solo presiono Control. Estoy en mi teclado y clic. Se puede ver que el color es diferente, se ve como un enlace. Ahora da click y ahora tengo mi XML que vi aquí. Si vuelvo a cerrarlo, presione control. Tú también puedes hacer esto. Haga clic en Veo la Actividad Objetivo. Larga historia corta, cuando tu clase de actividad esté abierta, presiona control, haz clic en el nombre y accede al XML. Perdamos. Y dejemos que solo tenga este layout y split para que pueda ver el código y la vista al mismo tiempo. Por defecto, tenemos esta capa en nuestro diseño, este diseño de restricción que tenemos, este diseño de restricción de nombre de capa. Comienza desde aquí y termina aquí. Puedes ver si quieres terminarlo, solo agregas esto al final. Es lo mismo pero esto es extra agregas si quieres terminar este llamado tipo de cierre. Cuando agregas esto, no puedes cerrar esto. Diseño de maquetación en aplicaciones Android. Administrador de diseño se utiliza para establecer la posición de las vistas secundarias dentro de la interfaz de usuario. Puedes mostrar tu contenido de manera efectiva usando la combinación correcta de diseños, te enseñaremos todo esto. El diseño de Android se utiliza para definir la interfaz de usuario que contiene los controles o puentes de interfaz que aparecerán en la pantalla de la aplicación. Todos los elementos de una presentación se construyen utilizando objetos de vista y grupo de vistas. Cada aplicación es una combinación de vista y grupo de vistas. Cada vista de aplicación y grupo de vistas A View se define como la interfaz de usuario que se utiliza para crear componentes de interfaz de usuario interactivos. Ed, vista de imagen, vista de texto, botón de radio y todo lo demás. Es responsable del manejo de eventos y generalmente se llama widgets. Nosotros los llamamos la mayor parte del tiempo, widgets. Un grupo de vistas actúa como una clase base para presentaciones. Presentaciones, parámetros, agujeros, otras vistas o grupos de vistas define las propiedades de diseño, generalmente llamadas presentaciones. No te preocupes si te confundiste. Les enseñamos de la mejor manera que podemos durante el curso en los tipos de Android Studio de diseño de Android, diseño lineal, diseño relativo, y todos los demás. El diseño de restricción es un grupo de vistas. Se utiliza para especificar la posición de las restricciones de diseño para cada elección. Vista relativa a otra vista presente. Un diseño de restricción es similar al diseño relativo, más potencia, ¿de acuerdo? Bien. Bien, déjame mostrarte qué es el diseño de restricciones. diseño de restricción puede funcionar como una capa padre para agregar sus elementos. Para el objeto en el diseño de restricción, la posición de cada elemento se determina en relación con los otros elementos. Déjame explicarte este primer objeto conectado a la parte superior derecha izquierda. Segundo objeto conectado a la parte superior derecha, izquierda. ¿Qué pasa si muevo este primer objeto un poco hacia abajo? Por ejemplo, la traigo abajo hasta aquí. Lo que le pasó a este objeto será tanto como este objeto abajo. ¿Por qué? Porque estos dos objetos son relativos. Esto no es relativo a esto, pero esto es relativo a esto. ¿Entiendes lo que pasó? ¿Qué pasó con esto? Bajar o subir. El segundo objeto será seguir la flecha conectada al objeto padre o relativo. Pase lo que pase, se afectan entre sí como las flechas. Yo los obligo a hacer esto. Bien. Entonces, ¿qué pasó con este de abajo? Si muevo éste o éste, puedes adivinar nada? ¿Por qué no hay flechas entre ellos? Esto no es relativo a ellos. Durante el curso, lo expliqué mejor en Andrew el estudio. Pero insisto en que te concentres en, en estas flechas. ¿Cómo se ven afectados el uno por el otro? Esto lo explico una vez más rápidamente. Este primer objeto se mueve y el segundo objeto se mueve hacia abajo o hacia arriba también. Porque esta flecha y la inferior no afectaron en absoluto. Bien, continuemos. Necesitamos dos cajas que tomen números para nuestra calculadora del texto agregado por el usuario. Un elemento de interfaz de usuario para introducir y modificar texto. El usuario puede ingresar cualquier valor en este cuadro de texto, pero el tipo de texto puede restringirse usando texto. Editar, atributos, atributos de It, tienes todos estos atributos y muchos más. Estos son los más importantes. Los cubrimos muchas veces durante el curso. Podemos estar seguros de que entiendes cada uno de ellos y sabes cómo usarlos. Bien, agreguemos editar. Lo que se edita es un simple que el usuario puede introducir cualquier texto en él si quiero darle al texto de edición, estas dos propiedades, como pueden ver, el texto de edición. Primero, piensa en estas dos porque estas dos son las propiedades más importantes en editar texto. Debería presionar aquí, quiero Andre me dice qué opciones tengo, Control y espacio. Abre las opciones, puedo elegir entre estas, se llama inteligencia. En fin, elijo el contenido rap. La mayoría de las veces eliges contenido rap o match parent. Algunas otras veces eliges otras cosas. Pero la mayoría de las veces estos dos son los que seleccionamos match patent. La altura o anchura del objeto será la misma que la altura o anchura de su patente. Se puede ver cómo es el ancho en este contenido de ejemplo, la altura o ancho del objeto. Me refiero a cualquier objeto, cualquier objeto será el mismo que su contenido. Cuanto más contenido, más altura o ancho, y por qué a la inversa. Se puede ver el ejemplo de ancho. Es realmente simple. ¿Bien? Envuelva el contenido, ¿de acuerdo? Envuelva el contenido para esto también. Al final, esta barra, porque quiero cerrar este editar texto como digo Cuando hago clic, por ejemplo aquí y presiono Mayús y este botón, me muestra las opciones que tengo. Pero si hago clic en cualquier otro lugar y cierro eso, si vuelvo a hacer clic ahí, no lo veo para eso. Como digo, solo debo presionar el espacio de control. Esta ventana de ayuda se abre de nuevo y me ayuda a elegir lo que quiero. Por ejemplo, agregamos editar texto. Si quiero agregar un botón solo abajo con mi teclado, botón abajo, inter agregar un botón. Bien, borro. Eliminar. Continuemos con esto en el siguiente video. 11. Día 2: crea un diseño - parte 2: Crear diseño parte dos. Vamos a continuar. No olvides cerrar tu etiqueta. Se crea el texto de edición. Debes cerrarlo, incluso creas este layout. Debes cerrarla así. Pierde. Si no pierdes, tienes error. Pierdes. No es opción. Como dije para decir, solo presiona bien, esta ventana de ayuda aparece. ¿Qué es lo que quiero? Y texto y escribió, digamos que este texto equivale a algún valor. O de la manera más fácil. Permítanme borrar esto. La manera más fácil es la correcta. Android Studio te ayuda a todo lo que contiene, quiero este Android. Elijo éste fácilmente. Y mi valor ya ves. Déjame esconder esto y hacer zoom. ¿Puedo ver qué tengo? Un poco más grande. Bien. Ahora bien, si cambio esto para que coincida con padre, ¿ qué tengo? Es que coincide con su padre. Esa es nuestra maquetación. Se lo lleva todo. Pero déjame cambiarlo a contenido de rock. Nuevamente, contenido de rock, cuánto necesita para exhibir el contenido, quiero decir, este texto. Si agrego algún texto al final del mismo, por ejemplo, algunos de los puedes ver que va más grande. Y algunos números tal vez puedas ver los cambios. Si tengo el padre del partido, no hay diferencia. Entonces tengo este texto o solo el valor, ninguna diferencia viene de los padres. Espero poder explicarlo. Bueno, déjame ver. ¿Qué tenemos si cambiamos la altura para que coincida con el padre? Pausa el video y adivina, luego reproduce el video y te lo mostraré. Bien, déjame ver si cambiar esto para que coincida con padre, toda la altura pertenece a este texto de edición de su padre. Ten cuidado, si el padre solo ocupa la mitad de la página, entonces la altura del texto de edición solo será hasta la mitad de la página. La maleza y la altura provienen del padre, ya que tenemos el diseño todo menos crema, de arriba hacia abajo. Entonces tenemos a nuestro padre del tamaño de nuestros padres. Bien, volvamos a cambiarlo. Contenido de rack para nuestra calculadora. Necesitamos algo como esto. Y solo para que sepas, mayoría de los objetos tiene esta mojada y altura, casi todos ellos. Déjenme decir la mayoría de ellos. Bien, continuemos. Pero tenemos este error rojo, este rojo subyacente bajo este texto de edición. Y también tenemos este error rojo. Dice que tienes un error, deberías arreglarlo. ¿Cómo podemos arreglarlo? ¿Cuál es este error? Este error decía que agregas tu edición. Buen trabajo. Pero. ¿No especificas dónde debemos mostrar esto? ¿Qué significa? Significa que deberías decir desde al menos un ángulo, se conectó a otra cosa. Así que el Android, cuando ejecutas tu app, puede decidir qué lado de tu objeto está conectado a qué lado de qué objeto puede resolverlo de alguna manera. Déjame mostrarte. Entonces escribes en la parte superior de y tienes la restricción de diseño A de arriba a arriba de. Lo elegí y dije que la parte superior de mi texto de edición debería estar conectada a su padre. Podemos especificar un ID si tenemos otro objeto aquí. Pero no, quiero decir patente. ¿Qué es el padre? Mi diseño de restricción. Mi maquetación. Bien, si hago esto, se puede ver este azul. Mi parte superior de mi texto de edición se volvió azul. Está conectado a la parte superior de su padre. Como puedes ver, no es Android, es app. Si hago esto dentro del diseño aquí, solo puedo dar click en este círculo y moverlo un poco a la izquierda y dejarlo. The Andrew Studio, solo escribe esta restricción de diseño. Empezar a inicio de padre, Podemos escribirlo aquí, o podemos hacer esto aquí. En modo de diseño lo hago. Para que puedas entender cuál es la diferencia. Antes de que me olvide, puede ver que tiene todo el texto aquí. Tienes los atributos aquí. Ver diseñar qué coincide con padre, diseñar Id envolver contenido. Tienes todas las demás cosas, incluso texto este valor, Si digo valor, por ejemplo, este número al final. Y ahí se puede ver este texto cambiado a esto escribo ahí dentro y se agregó aquí. Lo que sea más fácil para ti, puedes hacerlo a partir de ahí Espero que se lo explique bastante fácil. No hacemos con todas estas cosas por ahora, pero sabes que estos son atributos capaces. Además, tienes los atributos. Todos estos atributos contienen todos los atributos. Puedes ver si presiono aquí, todos estos atributos estarán abiertos y todos ellos aquí. Pero lo utilizable, los atributos que más utilizamos, son estos pocos atributos. La mayor parte del tiempo usamos y trabajamos con estos. Pero a veces en los todos los atributos tenemos alguna otra cosa que debemos trabajar con ellos en el tiempo determinado. Bien, déjame minimizarlo. ¿Qué tenemos aquí? A la derecha, tengo el círculo. Si lo arrastro por la derecha, se puede ver que tengo restricción de diseño a fin de patente. Sólo para que veas, ¿cómo llamamos el fondo? Arrastre el inferior hasta el fondo de patente. Para que pueda ver la restricción de diseño de abajo a abajo de la patente. Porque nos conectamos arriba y abajo con el padre. Nuestro texto de edición llegó al medio. Si quiero borrar, por ejemplo este inferior, puedo quitarlo de aquí, Pt, el de abajo se ha ido. Ya que esto es muy útil, permítanme hacer alguna otra cosa con esto que hemos aprendido hasta ahora. Déjame conectarlo de nuevo. Esta vez. Retire la parte superior de esta línea. Retirarlo, es bajar. Déjame reconectarlo, es medio, déjame ver. Envuelva el contenido. El ancho del texto de edición está limitado por su valor de texto. Si el texto se alarga, el ancho aumenta y luego vuelve a coincidir con la patente. Ya ves que es muy fácil. Simplemente deberías trabajar con esto. Cuanto más trabajes con esto, más aprendes. Larga historia corta, ¿qué hacen estas cuatro cosas? Se pueden ver dentro de los atributos. Aquí, estas cosas te muestran dónde debería estar tu objeto dentro de tu vista. L XML o tu vista, o tu capa, quieras llamarlo en el dispositivo Android, como quieras llamarlo en el dispositivo Android, debería ser tu app, ¿cómo debería estar tu objeto lado a lado? Porque trabajamos mucho con estas cosas. Trato de explicarlas lo mejor que puedo. Continuemos con esto en el siguiente video. 12. Día 2: crea un diseño - parte 3 (TextView): Crear diseño parte tres. Bien, volveremos. Cubrimos estos y no necesitamos éste también. Eliminamos este texto porque es nuestra primera entrada en nuestra calculadora. Ahora tengo tres advertencias arriba. Como se puede ver. Uno de ellos es autopi Bien, vamos a autoph, vamos a Feel Tips. Siente pistas por ejemplo ahí. Bien, ¿qué es este auto fill? Es por algo que Android podría llenarlo por ti. Por ejemplo, nombre de usuario, correo electrónico u otras cosas. No es necesario que la calculadora edite texto, pero lo llenamos de todas formas porque quiero mostrarte cómo reducir las advertencias. Ahora déjeme volver a ver esto. Necesito tipo de entrada y etiqueta accesible. Ahora tenemos dos vías frente a nosotros. Primero, podemos ver la advertencia aquí arriba, por ejemplo, esta etiqueta. O podemos ir en este texto de edición. Se puede ver este subrayado amarillo. Puedes ver esta etiqueta faltante para la pista, pista o etiqueta para uno de esos. Necesitas uno de esos. Bien, primero déjame escribir esta pista, esta pista. Pon tu número aquí. No, tu número aquí, es mejor. Ahora es una pista. Usted guía al usuario que ¿qué debe hacer? Debe ingresar el número aquí, por supuesto. Ingresa tu primer número aquí. Ejecutemos la aplicación presionando el botón y bien, nuestra aplicación ahora se ejecuta en nuestro dispositivo virtual. Como pueden ver, me decía: Ingresa tu primer número aquí. Esta es nuestra pista. Cuando haces clic en él y escribes algo, se fue. ¿Por qué? Porque es sólo una pista. Si lo quito, todavía tengo mi pista. Pero si escribo algo, la pista se ha ido. Mi número o mi texto serán reemplazados por eso. Bien, detengamos la app y por supuesto minimizemos esto. Bien, continuemos. Bien, entonces ahora estás familiarizado con esta pista. Déjame agregar la etiqueta primero elimino esto, luego agrego la vista de texto. Bien, vista de texto Evi jet, que muestra algo de texto en la pantalla basado en el diseño, tamaño, color, etcétera Puedes escribir cualquier texto en este elemento. ¿Qué es la vista de texto? Esta es la vista de texto. De todas formas, atributos para esta vista de texto, tenemos algunos atributos como ¿cuál es el uso? Como puedes ver durante el curso, cubrimos estas muchas veces, mucho que podamos estar seguros las entiendes bien porque es lo más importante, debes entenderlas bien. Bien, vamos a ver texto. Esta es la vista de texto. Bien, tengo mi vista de texto. Y por supuesto contenido de rack. Contenido del rack. Ahora, ¿qué más lo necesito? Texto. ¿Bien? Escribo el primer número, claro que necesito cerrar y debo conectar esto a arriba y a la izquierda de su padre. Entonces puedo conectar estos círculos a la parte superior o a la izquierda, o simplemente escribir el código dentro de este. Me conecto a la parte superior y a la izquierda Patente, Patente y etiqueta. Para? Para etiqueta para qué? Alguna identificación. Pero mi texto de edición no tiene un ID, así que permítame agregar ID para mi texto de edición. En lugar de escribir aquí, use ID de atributo. Por ejemplo, x. Ahora tengo este valor xt. Ahora puedo darle esto exacto a esta forma de trabajo. Ahora, antes de que me olvide, agrego vista de texto. Esta vista de texto es para mostrar cualquier texto, no texto editable por el usuario El usuario no puede editar este texto haciendo clic en él, pero editar texto es para entrada, esta vista de texto no para entrada. ¿Qué tenemos a continuación? Tenemos otro tipo de entrada de advertencia. Bien, arreglemos esto también. Tipo de entrada. Cuál es nuestro tipo de entrada en una calculadora, por supuesto, número, el usuario solo puede insertar número. Ahora como pueden ver, no tenemos esa línea amarilla debajo de la línea para las advertencias porque las arreglamos. Por supuesto que tienes esta advertencia porque debes ponerla dentro del archivo de valor y otras cosas. Llegamos a ellos en las lecciones futuras, pero no te preocupes por ellas ahora, sigamos. Ahora, déjeme dirigir esto otra vez. Tenemos el y cuando escribo números, tengo este primer número en la parte superior, ¿de acuerdo? Detener y minimizar. Como podemos ver, estaban demasiado cerca el uno del otro, es el problema, ¿de acuerdo? Agrego este ID primero de entrada para mi vista de texto. Cambio editar texto ID dos EDT valor. Es mi error porque es editar texto, debería comenzar el nombre EDT Ya que se trata de textos escritos ley entre programadores, debería escribir T primero entrada ahora, en lugar de desde arriba, conectar esto a la patente Quiero cambiarlo. Espacio de control, de arriba a abajo de arriba a abajo de abajo a abajo de patadas La primera entrada como puedes ver en la vista, esta parte se conectó de abajo a abajo de patadas La primera entrada como puedes ver en la vista, a la parte inferior de esta vista de texto, por lo que está conectada a la parte inferior de la vista de texto Tengo este error y porque escribo esta cosa extra idolada Bien, déjame ver. Tengo otro error. ¿Qué hace aquí? Tengo tamaño objetivo táctil a una pequeña, es a una pequeña, necesita un poco más de altura. Bien, déjame arreglarlo también. Ahora pongo altura media a 48 DP, así que mi texto de edición no puede ser menor, la altura de mi texto de edición no puede ser menor que 48 DP. El resultado es que el usuario puede tocarlo fácilmente. Si es más pequeño que para ATP, es difícil para nosotros, algunos usuarios tocarlo y seleccionar esta edición de todos modos. Como puedes ver, también arreglamos este error. Bien, déjame ejecutarlo rápidamente de nuevo para ver qué pasa. Como podemos ver, tengo este primer número, puedo escribir número. Esto es decir primer número. Este es nuestro primer número. A diferencia de nuestra pista, no va a ninguna parte Cuando escribimos números y cualquier otra cosa, Si escribimos alguna otra cosa, no va a ningún lado. Se puede entender. Ahora, ¿para qué tenemos esta etiqueta? Dijimos esto que escribimos ¿para qué sirve? Es para este texto de edición. Por eso, dijimos que es etiqueta para esta idea. ¿Cuál es esta idea ID del texto de edición? Espero poder explicarlo. Bueno, antes de que me olvide, no tienes que ejecutarlo cada vez que lo ejecuto mucho porque quiero mostrarte lo que pasa. Bien, no tenemos el segundo número. Podemos usar esto para poner los objetos en la pantalla, o puedo mostrarte otra cosa. Da click aquí, el cuando presionas el click izquierdo, puedes usar la rueda central de tu mouse para atornillarlo así. Bien. Ahora, suéltalo. Control de prensa C. ¿Ya puedes copiar el texto? Controlame lo que acaba de pasar. Se crea una copia de este texto y de esta editas, pero tenemos un pequeño problema Lo que tenemos estos ID, no podemos tener ID duplicados en esta vista. Deberíamos cambiar estas identificaciones. ¿Qué cambio esta ID? Lo cambio a 62nd entrada el texto. Lo cambié a etiqueta de segundo número. Lo cambié a T segundo valor porque cambié este ID de edición de texto para editar el segundo valor. Ya fijamos la altura media así que no necesitamos volver a hacerlo porque la copiamos. Y al fondo de la 62ª entrada a esto tan fácil como eso Bien, mira el lado derecho. Se puede ver que estos están uno encima del otro. Es nuestro problema. Tenemos un problema aquí. Déjame hacer zoom. Y como pueden ver ahí uno encima del otro, ¿qué podemos hacer? Primero, permítanme cambiar este valor de edición de texto. Lo cambié a él primer valor, lo cambié a él primer valor. Ahora debería cambiar esta etiqueta por el primer valor ya que todas nuestras identificaciones son buenas por ahora. Ahora cambiemos su posición. ¿Cómo puedo hacer eso? Quiero que esta vista de texto esté al final de este texto de edición. Lo cambio a la parte superior de esta vista de texto conectada a ellos. Se dispara fondo de éste. Se puede ver esto conectándose al fondo de éste. ¿Bien? Y esta edición toma la segunda entrada, fondo de ¿qué tenemos aquí ahora? Esta vista de texto y luego esta edición, esta vista de texto y esta edición de texto. Volvamos a ejecutarlo. Vuelvo a ejecutar mi aplicación. Como pueden ver, tengo mi primer número. Este es mi primer número y mi segundo número. Este es mi segundo número. Bien, Don. 13. Día 2: Conceptos básicos del diseño de materiales en Android: Diseño de Materiales en Android. Yo ejecuto la app, pero como ves, todavía tengo dos errores aquí. Sin embargo, mis aplicaciones pueden ejecutar como son algunos errores, solo en la parte de diseño o archivos XML relacionados con layout y no puedo impedir que ejecutes tu app. Significa que no te detienen. En lugar de arreglar estos errores, quiero que mi app sea más hermosa. Veamos cómo quiero hacer esto, ¿de acuerdo? El diseño de materiales, una guía completa para movimiento visual y el diseño de interacción en plataformas y dispositivos, crea productos hermosos y utilizables. El uso de componentes de material le brinda más control sobre cómo se ve su aplicación para el usuario. Hace que su interfaz de aplicación, interfaz de usuario sea más hermosa e interactiva. Ahorra tu tiempo. Muchas características que necesita ya están implementadas para usar componentes de material en su. Asegúrese de tener esta línea en su archivo gradial. Recuerda, la versión 1.11 0.0 puede variar dependiendo de la hora que veas este video ¿Qué significa eso? Significa que la versión 1.11 0.0 es la versión mínima que utilizas en el futuro llegaste a este punto y esta línea, versión mínima que usas, es ésta. ¿Por qué? Porque ves este video en el futuro. Y la versión que utilizo en este momento es esta, tu versión es igual o superior versión mínima es esta. Y claro, minimizar, ¿de acuerdo? Déjame moverlo un poco aquí. Y haz zoom con esta mano de aquí, aproximadamente, ¿de acuerdo? Entonces, ¿qué debemos agregar aquí? Margen. ¿Bien? Un margen. ¿Cuánto margen? Por ejemplo, diez DP. Diez DP, o copia esto. Copia exactamente esta línea a la otra. Bien, vamos a ejecutar esto otra vez. Entonces mi app ahora como puedes ver, tengo este espacio a su alrededor. Podemos tener más espacio. Déjame mostrarte. Bien, agreguemos un poco más, por ejemplo, 30. 30 también. Déjame ver qué pasó ahora. Puedes ver que mi app ahora tiene más espacio entre estos dos. Este margen en el espacio esto, se puede hacer otro número, por ejemplo 20 o 40. Es opcional creo que para empezar, es buen margen o espacio externo utilizado para hacer una distancia entre objetos en la página. Para que tu interfaz de usuario sea más hermosa y fácil de usar, puedes definir el margen para todos los lados y diseñar el margen o cada lado por separado. Por ejemplo, si quieres margen para dos lados y no para los otros dos lados, puedes definirlo solo para dos lados. En fin, veamos el ejemplo para todos los lados con la misma cantidad. Cada uno de estos cuatro es para un lado, Para derecho, izquierdo, arriba e inferior. Por ejemplo, solo puedes tener cuatro top y no, y entonces no tienes margen alguno para los otros tres lados. Bien. A medida que eliminamos esas vistas de texto, deberíamos mostrar algo por ayudarnos. Añadimos pista, agrego esta pista. Primer número. Primer número. Copo esto en el segundo número. Bien, ahora solo copio esto. Cambiar el texto. Bien, segundo número ahora, como puedes ver a la derecha. Primer número. Segundo número. Bien. Una cosa más antes de olvidar lo que es diferente entre el texto y esa pista. Cambié esto a texto y todavía tengo para el primer número de pista. Déjame correr y mostrarte. Bien, como pueden verlo, escríbeme el primer número. Y si escribo 123, la pista desaparecerá cuando la quite. Vuelve la pista. Cuando escribo algo en segundo número, el texto sigue aquí porque escribo este texto. Si elimino, puedo eliminar algunos de estos, pero no puedo eliminar el primer número. Si escribo algo, la pista se habrá ido. Pero no, el texto es el valor del texto agregado. Bien, por ahora, lo cambié para insinuar. Nuevamente, cambio esto para insinuar. Bien, vamos a ejecutar la app y si escribo algo, nuestra pista se habrá ido. ¿Qué pasa si tengo más de dos cajas así? Los más de dos editan texto, por ejemplo cinco lo, diez editan. Por ejemplo, para registrarme tengo nombre, apellido, teléfono, correo electrónico, y muchas otras cosas. ¿Qué pasó si quiero mantener las pistas y también el usuario puede escribir texto, diseño de entrada de texto, un componente de material envolver y editar texto, o entrada de texto, editar texto. Es mejor usarlo con entrada de texto editar texto. Puede agregarle estilo con un atributo de estilo. diseño de entrada de texto tiene algunos atributos, la mayoría de ellos son estos. Por ejemplo, con la sugerencia, puede mostrar la sugerencia como etiqueta algunos otros atributos útiles de diseño de entrada de texto. Por ejemplo, con lent, limita el número de caracteres que el usuario puede en la entrada de texto, editar texto, un componente de material para obtener la entrada del usuario. Te da más control sobre un estilo y cómo se debe mostrar al usuario se debe usar dentro de una capa de entrada de texto, diferentes estilos para mostrarlo de diferentes maneras. Como pueden ver, se veía así. Si cambias el estilo, puedes hacer que el aspecto se vea así o cualquier otra cosa. Sólo te voy a dar dos ejemplos. El texto de entrada de texto tiene algunos atributos. Algunos de los más importantes en esos atributos son por supuesto, suministro de ID como identificador para acceder posteriormente al objeto. Id es el nombre. ¿Cómo llamamos a este objeto? Casi en todos los objetos tenemos esta D muchas veces es opcional. La mayoría de las veces ponemos un ID porque queremos hacer algo con ese objeto. De todas formas, tipo de entrada, por ejemplo, el tipo de datos que se colocan en un número de texto y el Oder, por ejemplo, si le das este número de tipo de entrada, solo puedes poner número dentro de ese Significa que si tu usuario intenta poner algo más, esta entrada de texto, editar texto no acepta y el usuario solo puede poner número dentro de este texto ingresarlo. T. Permítame agregar. Bien, ¿qué debo agregar? Bien, Texto, texto, texto. Este congule material Android, Textfield Text Bien, presioné ahí, así que agrego este teléfono y quiero controlar el espacio, digamos match patent, y este teléfono es contenido de rack. ¿Bien? Bien. Ahora déjenme cerrar esto. Bien. Como puedes ver, todavía tenemos problema aquí porque no puedes cerrarlo así. Esto, primero debes cerrar esta parte. Entonces Andrew, cierras el otro. Por algo como esto, si te olvidaste, tienes ese error. Como ve, todavía tengo este error de problema. ¿Por qué? Porque no sabe dónde debería estar. Por favor, explícame dónde debe colocarse, dónde debe colocarse o algo así. ¿Dónde debería estar? Porque quiero colocarlo, en lugar de mi primer texto de edición, debo copiar las restricciones del primer texto de edición. Tengo esta posición hasta aquí. Ahora bajamos. Tengo este control x corte. Editar control X cortar, controlar, pegar. Nuevamente, lo tienes aquí, control V, tienes este texto de edición dentro de este diseño de entrada de texto, ver a la derecha se cambia. Por supuesto que deberíamos tener una identificación. ¿Cuál es nuestra identificación? Es diseño de entrada primero, mayúscula F. Bien, qué A continuación puedes ver tenemos esta cosa roja aquí. Por esta cosa roja de aquí, tenemos error. ¿Por qué? Porque decimos que la parte superior de ustedes debe ser la parte inferior de esto es el primer valor. Se podría decir que tenemos este primer valor de EDT aquí. Pero como está dentro de este diseño de entrada de texto, esto no puede reconocer que esto solo puede acceder a las capas externas, no a las internas. diseño de entrada funciona como una capa, ¿Cuál es la solución? No puede encontrar esto, pero puede encontrar este diseño de entrada Primero, copiar, controlar, pegar. Ahora ha cambiado. Déjame mostrarte de nuevo Control. No sabe dónde debería estar y se ve así. Como puedes ver, Control, mira el control correcto ahora. Eso, debería estar bajo esto. ¿Bien? Hasta ahora, déjame ver qué acaba de pasar, ¿de acuerdo? Tenemos este estilo diferente, primer número 123. Segundo número 123, no pase. Se puede ver que uno a tres no pasa. Pero aquí es más bonito y tenemos la pista y minimizamos esto. Minimizar esto y continuar. Podría hacer una pausa, por ejemplo, minimizar las cosas que puedes ver porque no quiero perderte el tiempo. ¿Nos encanta este primer número ahora? Sí, lo hacemos. ¿Qué debemos hacer? Sube, selecciona este control de control C fácilmente. Aquí adentro y barra, ciérrala fácilmente. Oh, diseño de entrada. Primero por supuesto, cambiar la identificación. No puedes tener ID duplicado Segundo, porque quiero colocar el segundo número debajo del primer número. Yo debería hacer esto, copiarlo y pegarlo aquí. Primer número, segundo número. Tenemos dos textos añadidos. Eso es hermoso. Ahora volvamos a ejecutar la aplicación. Ahora esto es lo que tengo. 123 y 123. Y tengo mi, no me gusta el color del segundo número. Quiero que se cambie. Fondo Blanco. Bien, tengo blanco. Bien, ¿cuál es la diferencia? Se puede ver cuál es la diferencia. Ahora hagámoslo más hermoso. Bien, quita esto aquí, le damos estilo. Agregué estilo estilo, base desde base. Componentes de material rígido, diseño de impode de texto. Tengo esto, déjame correr. Esta es nuestra app 123123. Así, se puede ver la diferencia. Como usamos este diseño de entrada de texto, podemos usar diferente, no solo texto. Cómo acabamos de intentar ingresar esto para copiar el lado de aquí y pegarlo en. Toma, toma así como puedes ver. Control. No hay sugerencia. Debería traerla para nosotros. Está bien copiar esto también. Y antes de que me olvidara, no debería ser. Texto. Debería ser enviar mensajes de texto, poner, editar, texto. Como Andrew Studio no lo trae para nosotros, solo lo escribo yo mismo. Bien, déjame dirigir esto. Bien. ¿Qué tengo? ¿Primer número así? Segundo número así. Oh, mi texto es así. ¿Qué debo hacer? Creo que le doy demasiado margen. Por ejemplo, si le doy 60 solamente y dijimos , ahora es mejor. Pero se puede ver que la cosa es cosa de diseño. Se pueden aprender estas cosas. ¿Qué debo hacer para mejorarlo? Y otras cosas durante tu aprendizaje, puedes entender que estas cosas sucedieron. ¿Qué debo hacer para hacerlo bien de todos modos? Déjame copiar toda la cosa de aquí abajo a allá. Por ejemplo, cambié mi texto de edición. Este cambio también. El también lo tenemos aquí. Pienso 60 y lo siento, le doy media estatura seis. Debería darle seis. Bien. Y estos son innecesarios. Y esta copia y ja de aquí, ¿de acuerdo? Ambos son los mismos ahora. Y minimizar algo como esto, es mejor. Trato de mostrarte más formas de hacer una cosa. Para que puedas elegir entre ellos. ¿Qué te gusta hacer de esa manera? Te voy a mostrar muchas cosas. Déjame mostrarte contador también. Tengo este texto de entrada y tengo este layout. Añado aquí contador como debería ser cierto. ¿Qué es esto? Déjame correr otra vez, 1234. Se puede ver que tenemos esto. ¿Qué es esto? Tenemos número cuatro. Si digo 111, tengo tres, uno y algo más. Es mejor usar Max también. Contador Max Len. ¿Cuántos números? A lo mejor porque en el futuro se puede ver que tiene limitación en los números. Por ejemplo, no puede tener un número 500 más un número de 500 dígitos, debe tener alguna limitación. Tal vez diez, tal vez 15, tal vez 20 números, pero no se pueden tener números infinitos. Deberías limitar ¿cómo funciona? Primero, déjeme copiar esto. Control C aquí. Control, como dije, ve Editar Control, Copiar y Pegar Control. Hago esto desde mi teclado, bien. Corre. Minimizar diez números , 1, 2, 3, 4, 5, 6, 7 , 8, 9, y 1 0, es diez número. Si escribo dos más uno, puede ver que se volvió rojo porque el máximo es de diez. Bien. Antes de que me olvide, debo mencionar se pueden ver estas cosas que agregamos, por ejemplo, contador, contador enable y otras cosas, tal vez incluso estilo. No tienes estas cosas en texto de edición simple, las tienes dentro de estos textos añadidos más avanzados. 14. Día 2: Prueba: Bien, bienvenido al segundo día. Pregunta quiz. Pregunta uno. ¿Qué es la actividad de lanzamiento en una aplicación Android? Repito, ¿qué es actividad de lanzamiento en una aplicación Android? Pregunta número dos, ¿cómo se posicionan los objetos en la interfaz de usuario? Diseño de restricción. Repito, los objetos en la interfaz de usuario están posicionados usando el diseño de restricción. Presta atención. Puedes pausar el video y responder eso o escribir tu respuesta en una hoja de papel. Cualquier cosa que te guste de cualquier manera. Pregunta número tres. ¿Cuál es la diferencia entre el valor del contenido match, patent y wrap para el diseño de Android con propiedad? Repito. ¿Cuál es la diferencia entre match parent y wrap content value for Android layout with property? 15. Día 3: día 2: respuesta al cuestionario: Bien, a quiz. Respondamos a nuestras preguntas. Pregunta número uno, ¿qué es actividad de lanzamiento en una aplicación Android? La primera actividad que se ejecuta cuando abres tu app en un dispositivo Android. Puede asumirla como la página predeterminada en su Pregunta número dos, cómo se posicionan los objetos en la interfaz de usuario usando el diseño de restricciones. En el diseño de restricciones, la posición de cada elemento se determina en relación con los demás elementos de la página. Cuál es la diferencia entre match parent y wrap content value for Android layout with property match parent, el ancho del objeto será el mismo que el w de su padre. ¿Recuerdas del curso, se ajusta al contenido parent wrap. El ancho del objeto será el mismo que su contenido. Cuanto más contenido, más, más ancho, y viceversa. Como recuerdas, también vemos esto en el curso. Espero que las respondas todas correctamente. Si no, siempre puedes revisar el curso. Hay muchas más cosas que puedes aprender en el curso. 16. Día 3: agrega buttons (tipos de button y materialesButton): Bien, ¿en qué? Bien, bienvenido de nuevo. Acabo de cerrar mis puertas del día anterior y la pondré dentro de las lecciones para que puedas usarla Bien, sigamos trabajando en Android Studio. Use el icono junto a los bloques de código para cerrar los bloques de código, o haga clic en el icono para abrir el bloque. ¿Qué significa eso? Significa hacer clic en estos para cerrar el bloque y dar clic en el para abrir Del. Si haces clic en, tienes algo como esto. Y si haces clic en estos, tienes algo como esto abierto. ¿Puedes ver? Nosotros presionamos y presionamos también puedo presionar el, ¿Ves lo que está pasando? Prensa los minimizamos. Es realmente mejor, incluso los comentarios. Minimizamos los comentarios como si seleccionáramos estos o estos. Los puedes ver a la derecha, pero nosotros los minimizamos. Así podemos ir fácilmente entre ellos. Retirar extra. Entonces es todo nuestro comentario de código, este comentario y esto, y nada más. Es mejor, especialmente cuando tienes muchos objetos en tu maquetación. Es realmente, realmente mejor. Bien, ahora está realmente organizado. Ahora, ¿cuál es mi calculadora? Bien, ahora agregué dos campos de texto para obtener entradas de usuario para mi cálculo. Ahora es el momento de agregar botones para calcular diferentes operaciones aritméticas Nos gustaría tener algo así al final. Pero, ¿qué son los botones? Los botones comunican las acciones que el usuario puede realizar. Puedes usar botones en diferentes lugares en la interfaz de usuario de tu app. O por ejemplo, para tarjetas, diálogos, Windows modelo, tableros de herramientas o todos los demás tipos de botones Tenemos cuatro tipos de botones. Tenemos texto, botón, botón contorno, botón de contener tigre. ¿Qué significa eso? ¿Cómo debo saber cuál es cuál? Te doy algunos ejemplos. Puedes ver esto, es botón de texto, Puedes ver este botón de Contorno. El botón de contorno se ve así. Talbot se ve así. Los tgalbtens se pueden usar para vender de un grupo de opciones. Tenemos 123 opciones, queremos elegir dos para eso. Nosotros el usuario de Galton puede elegir cualquiera de y Contener botón la mayor parte del tiempo que usamos el botón de contener en este momento en nuestra app usamos botón de contener En el futuro usar otros botones también, otro tipo de botones también Pero por ahora solo quiero que sepas que tenemos estos cuatro tipos de botones, así que no te confundas si en el futuro vimos estos, dices, ¿no dijiste, solo tenemos este tipo de botón? No, tenemos otros botones por ahora y más adelante, los tres restantes. Bien, continuemos. Material, Un material de botón, como decíamos. Botón Contener, Eso es con lo que trabajamos. Este botón de material tiene algunos atributos. Algunos de los más importantes son estos. Como de costumbre tienes el DNI. ¿Qué es el ID? La forma más sencilla, como dije, identificación es igual al nombre de la persona a la que llamas su nombre. Es su identificación. El ID es cómo identificas a un equipo. Cualquier botón, este botón de material tiene una identificación. Otros objetos como dije en Andrew Studio tiene IDs, cualquiera muestra qué botón nosotros que muestra en el botón. Tenemos algún texto en el botón por ejemplo pelos menos u otras cosas que se pueden encontrar en el atributo. Por supuesto que tenemos otro botón Agregar, podemos agregar botón, pero por ahora no agregamos botón. Agregamos botón de Material para eso. Bien, si tengo razón, tengo este Material de Botón. Pero como pueden ver, bien, tengo este Material de Google Android Material. Pero a este le agrego botón más avanzado. Bien, agregué y envolví el contenido. Envuelva el contenido. Y nosotros, y esta altura, y la cerramos así , tengo este error. ¿Por qué? Porque estamos dentro del diseño de restricciones. ¿Cuál es la regla para el diseño de restricciones? Siempre debes especificar dónde está tu objeto conectar para conectar a la izquierda conectar a donde. Debemos precisar eso. Deberíamos decir por ejemplo, la parte superior de este botón debería estar a la baja de este. ¿Ves esto? Déjame hacer esto otra vez. Por ahora, es padre porque está conectado con, pero no quiero eso. Quiero que esté conectado a la parte inferior del segundo número. Tengo esta restricción de diseño de arriba a abajo del diseño de entrada en segundo lugar. Hago esto sin escribir. Sólo quiero mostrarte que también puedes hacerlo de esta manera. Todavía tengo este problema. ¿Por qué? Porque recuerdo en dos direcciones, así que queda una dirección, al menos dos direcciones. Entonces quiero hacer esto sin escribir ningún código también. Solo ven aquí, haz clic, muévelo a la izquierda y suelta Restricción de diseño Start para comenzar ¿qué padre? Bien, resolví el error. Resolví el problema para este diseño de restricción. Bien, agreguemos otro botón. Botón de material. Por supuesto que solo copiamos el gusto. Tenemos dos botones uno encima del otro, pero quiero el segundo botón a la derecha del primer botón, para que no estén uno encima del otro. ¿Qué debo hacer? Primero debes agregar un ID para el primer botón. ¿Bien? Id, Bien, BT N, por lo que restricción de diseño. Empezar al inicio del padre. No, no deberíamos decir ni inicio de. ¿Deberíamos decir dos a qué? Sí, ¿de fin a fin de quién? Al final de N. Mira a la derecha. En la revisión por pares, el botón se mueve. Esta vez está a la derecha del primer botón. Entonces volvamos a hacer esto. Copia. Bien, tengo 123 y cuatro botones. Tres de ellos como puedes ver están uno encima del otro. Debería agregar la identificación y hacer lo mismo, pero creo que debería haber una mejor manera. ¿Qué opinas que seguimos la mejor manera en el siguiente video 17. Día 3: Conceptos básicos del diseño lineal en Android: Disposición lineal. Bien, vamos a arreglarlos de la mejor manera. ¿Qué debemos hacer? Deberíamos tener un diseño lineal L. Tipos de diseño de Android. Ya hablamos de diseño de restricciones. Tenemos muchos diseños diferentes. Ahora es el momento de la disposición lineal. El diseño lineal es un grupo, es un grupo de vistas que alinea a todos los hijos en una sola dirección, vertical u horizontalmente Es un layout muy útil ya que queremos hablar de ello en esta sesión. Bien, atributos de diseño lineal. Tenemos estos cinco atributos más útiles. También tienes otros atributos, pero trabajamos mucho con estos cinco por supuesto. Id, suministro e identificador, puedes llamar a tu objeto con este ID. Parece un nombre para una orientación de persona. Se puede decir que las cosas deben ser vertical u horizontalmente. Altura. Y por supuesto, Gravedad. Cubrimos la gravedad en el video también ahí dentro. Bien, claro. Contenido Contenido. Yo sólo presiono inter, inter, inter. Nada más si te gusta saber. Quiero decir tres adentro y otro adentro y otro adentro. Por supuesto, podemos agregar diseño de restricción. En este diseño de restricción, me refiero a cualquier diseño dentro del otro diseño. Pero creo que es mejor para este curso y esta situación utilizar el layout lineal. Bien, déjame cerrar esto, ya que escribo éste, Android Studio, escríbeme esto ahora. Puedo poner lo que quiera entre el tipo de inicio y final. Como de costumbre, tenemos error. ¿Cuál es este error? Decía que debes especificar ¿dónde debo mostrarlo? ¿Por qué es sencillo? Porque está dentro del diseño de restricción. Las reglas de diseño de restricción decían que tienes que especificar cada objeto dentro mí dentro de este diseño de restricción. ¿Dónde debo mostrarlos? Al menos debes especificar anclar para ello, ves por ejemplo en el material, pero especificas dos lugares para conectar, uno para un inicio, uno para arriba, al menos dos. Si pones uno, incluso uno, tienes el error en dos. En fin, también tenemos este error . Déjame resolverlo. ¿De cuántas maneras tengo una? Usa esta vista con clic del ratón y arrastra al lugar que quiero. Una forma es esta segunda vía. Ven aquí, presiona Inter y empieza a escribir el código que quiero. Así, una restricción de diseño, empieza a comenzar a la parte inferior. De todas las demás cosas, esta es la segunda forma, solo escribe. Pero mi favorito. Mi favorito. Y como puedo sugerir es tu favorito en el futuro. Ven aquí. Oh, me encanta. Control C. Control. Realmente me encanta. Intentamos que sea el mejor curso de Android Studio y Catlin como sea posible Trato de contarte la mayor cantidad de consejos y trucos que pueda, por ejemplo. Bien, el diseño de entrada segundo. Hay diseño de entrada, Este es el diseño de entrada en segundo lugar. Pero, ¿dónde está? ¿Cómo lo podemos encontrar? En la parte inferior izquierda de tu teclado, tienes la tecla de control. Presiona esa tecla de control y luego mueve tu mouse sobre esto. Si haces clic en él, puedes ver a qué apunta, a qué apunta. Haga clic significa, déjame intentarlo de nuevo. Este es mi trazado lineal. La parte superior es a la parte inferior del diseño de entrada en segundo lugar, pero no sé dónde está el diseño de entrada. Segundo, ¿cómo debo saberlo? Presiona control, ve y haz clic. Te muestra tu DNI vino de aquí. Tan fácil como veas. Bien, ¿qué debo hacer a continuación? Todavía tengo el error. Déjeme agregar otra. Copiar y pegar. Porque no tengo el tercero. Yo sólo agrego. Debo agregar otro o puedo hacer otra cosa. Déjame ver. En lugar de decirle esto mi izquierda debería estar conectada al padre izquierdo, puedo quitar fácilmente el Look exactamente y cambiar mi peso match parent ya que el peso es de izquierda a derecha y sentirme completamente posible con nuestra posición izquierda y derecha resuelta. No tenemos ningún problema por dónde debería estar. Al medio, a la derecha, a la izquierda. Se agrega para resolver este problema, ¿dónde debería estar? Pero como agrego este partido padre, el problema está resuelto. Es de izquierda a derecha. Y no hay otro espacio, así que no tengo que especificar mi izquierda y derecha. Todavía puedo, pero no tengo que hacerlo. Mi error para este diseño de restricción se ha ido. Ahora espero poder hacer mi punto. Entonces tenemos este trazado lineal. Bien. Otro inter, ¿qué debemos hacer con esto? Podemos seleccionar esto y esto y controlar X control de corte. Pegar los cuatro botones ahora están dentro de este diseño lineal. Ya que están en mi disposición lineal, no tengo esto. ¿Por qué? Porque el diseño lineal no los necesita. Eliminar los demás también serán eliminados. Bien, los borro a todos. Se puede ver a la derecha, los borro, pero no hay diferencia Why, Porque es layout lineal. Se puede ver si hago clic en el diseño lineal, se dice que esta es mi capa lineal. Es una línea. Y la parte superior a la inferior de la izquierda, derecha e inferior no conectada a nada. Y los cuatro objetos están dentro de esto y se disponen como una línea. ¿Qué quiero decir cuando digo que esto es como una línea? Ves si digo orientación, tengo esta orientación que es horizontal. Por defecto, si lo cambio a vertical, se puede ver que todos los botones están verticalmente entre sí. Colocado el uno al otro verticalmente. Pero por defecto, son horizontales. Si borro esto. Eso, considérelo como horizontal. Si controlo el espacio, ¿verdad? Los horizontales, son horizontales. Si lo elimino, déjame mostrarte el control predeterminado X. Sigue siendo el horizontal predeterminado. Una vez más, esto es vertical. Espero poder mostrarte ¿cómo funciona la orientación en el trazado lineal? Como viste en el diseño lineal, no podemos poner dos objetos uno encima del otro. ¿Por qué? Porque están uno al lado del otro en una fila. Pero como viste en el diseño de restricciones, podemos ponerlos el uno al otro como lo hacemos muchas veces. Déjame mostrarte mejor restricción arriba a botón control X. Ahora puedes ver los botones y este diseño lineal son la parte superior de los otros objetos en este diseño de restricción. Pero incluso en este momento, los cuatro botones están uno al lado del otro y ninguno de ellos está encima del otro. ¿Por qué? Debido a que se trata de un diseño lineal. Recuerde, por favor recuerde, debe saber cómo funciona el diseño lineal. Debe saber cómo funciona el diseño de restricciones. Y en base a tu necesidad, puedes decidir cuál es mejor en la situación diferente, claro. Bien, tengo la A. Déjame agregar las otras identificaciones también. Bien, ya agregué PT y agregué ahora PT y menos. También agregué división PTN. Sólo recuerdo que debería mostrarte algo más. Ves si haces clic aquí, no solo haces clic, es clic y no seleccionas. Así que simplemente hago clic Control de prensa C. En mi teclado, se puede ver el Android Studio copiar toda la línea. Como digo, lo más importante en este curso es mostrarte todo lo que pueda, consejos, trucos, y cosas. ¿Por qué? Porque tengo muchos años de experiencia. ¿Qué pasa si no te puedo decir todo esto? Bien. Puedes ver solo hago clic y presiono control. Ver toda la línea copiada. Hago clic aquí, solo aquí. No hacer nada, no seleccionar, no nada. No presione Inter en mi teclado. Entonces solo presiono control. Nosotros el Android Studio, agregamos otra línea y hacemos la herencia por mí. Agrega esta cosa que acabo de copiar mayor facilidad que puedas ver y agregarla para mí en nueva línea. Pero tengo error. ¿Qué es el error? Esto está duplicado, pero no es problema. Déjame bien, PTN multiplicar. Agrego este PTN porque es una regla personalizada entre programadores No es necesario, pero es mejor hacerlo. Tengo esta vertical y déjame cambiarla a esta horizontal también. Es opcional, como digo, es la horizontal por defecto. ¿Bien? Bien, tengo un problema más y otra garrapata. Para eso quiero mostrarte que están pegados el uno al otro y este tiene extra inter. Este es el fondo de la cosa y no es bueno. ¿Qué debo hacer? A lo mejor ver inter. Tengo muchos en y muchos otros problemas. Incluso aquí, espacio extra, espacio innecesario y mal código de escritura. ¿Qué debo hacer, especialmente cuando mi código es realmente grande? Por ejemplo, se puede ver que sólo tengo 116 líneas. ¿Y si tengo 500 líneas? ¿Cómo debo arreglarlos? Puedo usar el código de menú aquí. Formato de control de archivos más más turno más L. Puede pulsar en su control de teclado Mayús más L o llegó al código de menú y presionar Reformatear archivo Ahora Android Studio te muestra esto, quieres reformar la actividad de archivos bajo LineMML. ¿Qué quieres hacer? Yo digo que quiero concertar código. No conservar los frenos de línea. Yo quiero hacer ambas cosas. Corre. ¿Quieres eliminar saltos de línea personalizados? Sí, lo hago. No reviso esto porque a veces tal vez presiono no. Bien. Sí. Ahora, ¿qué tengo? Tengo el spray traerlos todos pero quedo este porque agrego estos inter yo mismo. Pero se puede ver, por ejemplo, si no tengo el y ahora están pegados el uno al otro, puede ver que se están pegando el uno al otro control de turno y L, decía, ustedes quieren hacer esto yo dije que sí, sí. Añadió estos Ers y arregla mi código. Ahora puedo leer mi código realmente mejor. Es un comando muy útil. Hago esto muchas veces en diferentes proyectos, incluso en mi código, puedo usar eso para reorganizar mi abrigo Creo que deberías saber todas estas cosas. Bien, deberíamos agregar algo de texto para cada uno de estos botones, pero lo guardamos para el siguiente video. 18. Día 3: Trabajar con textos y cadenas (cómo administrar los valores de Stings en Android): Texto y cadenas en Android, ¿de acuerdo? Este, como puedes ver, nuestro objeto tiene ID. Y es algo regular, algo estable, algo común entre otros objetos también. Siempre que veas una identificación, significa que le das a este objeto un nombre así, tienes este texto, ¿de acuerdo? Todos los objetos que pueden mostrar un texto en ellos tienen el atributo text. Se trata de obras similares a los otros objetos. Le das una t y te muestra ese texto en tu app, por ejemplo, también tenemos esta propiedad en los diseños de entrada de texto. Y el otro, déjame darle un valor p, le doy este plus, puedes ver este plus aquí. Bien, acabo de copiar este control. ¿Por qué no solo presioné aquí y presioné el control? Porque tengo personajes extra al final. Si copio, tal vez tenga que quitar esto. Bien, Paste. Pero esto no debería ser más. Yo también debería poner este menos. En vez de más, debería darle división también. Debería darle multiplicar, este cuatro multiplicar. Mira a la derecha. Tienes estos cuatro botones. Déjame ejecutar la app. Bien, lancé mi app. Se puede ver más, menos, división, y multiplicar se ven así. Pero espera un segundo. esta línea amarilla aquí y aquí dentro. Aquí, aquí. Segundo número, incluso aquí. ¿Por qué tengo todas esas líneas amarillas? ¿Qué debo hacer? Déjame continuar con eso. Decía, la estrella de cadena codificada duro debería usar un recurso de cadena de signo. ¿Qué significa eso? Es decir que debes poner todas tus cadenas dentro de los recursos. Como podemos ver, los recursos completos. Presiono Proyectos, para poder ver los recursos, los valores completos nombrados, los valores abiertos. Bien, yo la abro, tú tienes la cuerda. Deberías poner todas tus cuerdas aquí dentro. Además, puedes ignorarlo. Está bien, tu app se está ejecutando. Ahora puedes ver que ejecuto la app. Está bien. Pero es recomendable que pongas todas tus cuerdas aquí. Es muy útil, sobre todo cuando se quiere utilizar el segundo idioma. Solo imagina que publicas tu app y ahora tienes muchos usuarios. Ahora quieres usar segundo idioma, tercer idioma, tal vez diez idiomas. ¿Qué debes hacer? Esta cadena te ayuda en esas situaciones. Esta lámina de cuerda ayuda. Es genial. Es mejor y recomendable. Pones todas tus cuerdas aquí. Donde decir cuerdas, se recomienda meter todas tus cuerdas. Lámina de cuerda en y ventaja de estudio. Fácil de administrar y mudiqly tu texto y cadenas. Fácil de agregar otros idiomas para tu app. Me refiero a valores de cadena localizados. Desventaja. Ninguno. ¿Puedes ver dónde están las cuerdas? Tienes cuerdas foer debajo de esto fo tienes stringr después de esta cosa Se puede ver la estructura del lenguaje Exml. Los valores de cadena se restauran como un par de valores de nombre dentro de la cadena de esta manera. Se puede ver como este nombre, este es el nombre para indicar qué cosa quiere decir mostrar en un objeto u otras cosas. Valor medio para establecer o modificar lo que se debe mostrar en el objeto. Recuerda que el valor es lo que le muestras a tu ejemplo de usuario. Es mejor. Bien. Y Roy toma, oh, es bueno, es igual a cadena, esta referencia a ese archivo de cadena hablamos dentro de ese archivo. Esto dentro de ese archivo, buscas el nombre T R, buscas este nombre dentro de este nombre de cadena, tenías TR anuncio este nombre para el texto que mostraste este valor. Y si cambias el carácter pelos a, por ejemplo, este texto agrega, ahora tienes exactamente lo mismo. Pero cuando ejecutas tu app en lugar de esta pelos, puedes ver esta app si usas en muchas ocasiones y muchos lugares, solo debes editar esta y todos esos lugares son reemplazados. Bien, lo cambiamos a esto, hablamos de este nombre. Cambiamos de estos a esto, Esto es en esto. Además si pueden ver, lo coloco aquí y lo cambiamos a esto. En todas partes que usamos este nombre así. Ahora cambia, espero poder explicarlo. Lo cubrimos en el video, podemos estar seguros de que lo entiendes. Lo que hay dentro de esto, son recursos, inicio y recursos, un nombre de cadena, nombre de aplicación, mi calculadora, tu nombre de cadena. Cada una de tus cuerdas tiene un nombre y cada una de ellas tiene un valor. Por ejemplo, tienes una cadena que llama a un nombre. Este es el nombre de tu aplicación. El valor es mi calculadora. ¿Cómo podemos agregar esto? Puedo dar click aquí y presionar Control. Copia y control. Otro control ¿por qué? Mi primer control no funciona porque ya está seleccionada esta línea y el texto que es, simplemente cópielo en esta línea. No hay diferencia pero segundo control. Agrega este otro control de control y puedo cambiar cada uno de estos nombres y sus valores para poder usar estos nombres dentro de mi app. ¿Hay una manera diferente? Sí. Si quiero puedo duplicar. Déjame mostrarte tan rápido como película. Controla D aquí. Línea duplicada. No copia tu código y luego quieres pegarlo. Simplemente duplica esa línea de todos modos. Controla, controla, controla, controla fácilmente y la controla para deshacer lo que acabo de hacer. De cualquier manera. Déjenme volver rápidamente a aquí. Puedes ver si entro ahí, tengo esta lámpara. ¿Qué dice esto? Extraiga un recurso de cadena. Si presiono esto, dice, ¿cuál es el nombre de su recurso? Y claro, se puede ver el valor, pero ¿cómo debería llamarlo? Déjame ver cómo debería llamarlo. Bien, capa de subrayado T R. Bien. Yo personalmente te recomiendo esto agregas en todas partes este SDR entre antes de tu nombre de cadena Es más fácil de entender. Presiono, bien, y como pueden ver, un signo, una cadena STR se multiplican dentro de nuestro archivo de cadena. Mira dentro de nuestro archivo string, ve y encuentra STR, multiplica, sea lo que sea que sea. Ponlo aquí, déjame ver. Str multiplicar el Android Studio que acaba de agregar para mí, ¿cuál es el valor S star? En cualquier momento que quiera usar esto, puedo usarlo fácilmente en muchos otros lugares. Si en algún momento quiero reemplazarlo por el texto, por ejemplo, multiplicamos en lugar de esta estrella Escribo sólo en un solo lugar. Todos los lugares que uso reemplazan, no deberías tener muchos idiomas. Incluso si solo tienes un idioma, puedes usar esto muchas veces, muchos lugares. Si quieres cambiarlo o corregirlo, puedes hacerlo fácilmente aquí, Hazlo aquí dentro. Llegamos a esta cadena, XML. Pero, ¿y si cierro? No sé, ¿dónde está esta cuerda de hacha? Te puedo mostrar. Ya está aquí. Pero no, ¿dónde está? Te voy a mostrar la garrapata. Déjame refrescar tu memoria. Presionas el botón izquierdo hacia abajo en tu teclado. El botón de control, presiónelo. Mueve la boca. Si haces clic en él, te muestra ¿De dónde viene? Pre. Vino de aquí. Incluso exactamente, mostrarte qué línea ves. Piérdelo. Presiona exactamente desde aquí. Es realmente bueno. Bien, déjame hacer otra. Tengo esto, pero quiero hacerlo con insinuación. Bien, tengo la pista en esta entrada de texto. Bien, tengo esto. Puede hacer clic o presionar Alt más In. ¿Qué significa? Presiona Alt y te abre esto. O puedes presionar aquí o una en. Es lo mismo. Extraer recurso de cadena. Bien. El nombre de nuestro recurso será el primer número y el valor, el texto exacto que escribamos. ¿Bien? Yo solo agrego guión bajo STR, ¿de acuerdo? Y la línea amarilla. Y si presiono control y hago clic en él, este es nuestro primer número STR y el valor es el primer número. ¿Hay alguna diferencia? Si ejecuto la app, ¿tengo mis primeras tomas de número? Sí. ¿Aún tienes tus primeras tomas de número? No hay diferencia. Sólo tienes que organizar todas tus tomas. Bien. Uno más. Yo uso la lámpara o un inter, bien, para mostrarte el bote. Puntuación C, R. ¿Bien? Hecho. No presiono control y clic, pero como pueden ver, no hay diferencia. Todos ellos están aquí. Tres para ir. No voy a hacer estos tres. Y guárdalos para el siguiente video porque quiero mostrarte cómo es el multi lenguaje en el siguiente video. Cubro eso también solo para estar más familiarizado con eso. No vamos a crear un multi idioma porque solo somos principiantes, sino que lo hacemos en el futuro. Sólo quiero mostrarte cómo funciona eso. Únete a mí en el siguiente video. Gracias. 19. Día 3: introducción a las aplicaciones de Android en varios idiomas: Agrega cadenas para otro idioma. Bien, ellos regresan. Tenemos esta vista de Android en la parte superior. Se puede ver. Android ver Android. Lo cambiamos a qué proyectar. Así es como se ve tu proyecto en tu disco duro donde se guarda, ¿de acuerdo? Abro la app, abro el SRC, significa Fuente, abro principal, esta carpeta principal, ¿bien? Abro recursos RES solo un poco más, ¿de acuerdo? Tengo esta carpeta valores. Yo también la abro. Equipo de cuerdas de colores, puedes adivinar que el color es para mis colores. Y esta cuerda tiene todas mis cuerdas. Entonces tenemos los recursos como agregar otra cadena que M cambie Android View a Project View. En ventana de proyecto, se puede ver este paso dos bien. R E S Foll bajo app SRC Fol. En esto en la app SRC completo, encuentra esto todos tus recursos, recurso RS El botón derecho del ratón sobre los recursos y eligió directorio, este recursos haga clic derecho en nuevo directorio, Paso cuatro, nombre. El nuevo nombre del directorio debe comenzar con valores. Continúa este personaje con tu idioma objetivo, pero no con el todo. Por ejemplo, si quieres francés, solo si quieres usar árabe, R, es realmente sencillo. Paso cinco, copia el archivo XML de cadena actual en el directorio de valores, el nuevo directorio. Lo que tienes, los valores, estas cadenas dentro de él. Se copia eso dentro de los valores franceses. Como pueden ver, por ejemplo, ya tengo árabe. Puedes tener muchos idiomas, tantos como quieras. De todas formas, paso seis, de vuelta a la vista de Android en la ventana del proyecto. Me refiero a esto. Paso siete, ahora tienes otras cadenas de idioma que se pueden traducir y modificar fácilmente. Como puedes ver, tienes String, esto es por defecto. También tienes árabe y francés. Puedes ver esto no tiene nada después este idioma predeterminado corrija en cadenas Em, te voy a dar por ejemplo, inglés, E, N, francés, F, R, japonés, J A, y Alemania G, E. Haga clic derecho aquí. Y los recursos, ves recursos S, click derecho. Nuevo directorio ahora valores. Pero tengo valores. Si tengo valores. Estos son mis valores , son mis valores predeterminados. Mis valores predeterminados son el inglés. Ahora lo que quiero otro idioma, déjame ver. Por ejemplo, tienen derecho al lenguaje en dirección opuesta. Es bueno. A, R, Árabe, Y pulse Inter. Tengo estos valores, árabe, R, qué. Ahora, haga clic derecho y copie o controle. C puede aquí y pegar. ¿Qué debemos pegar? ¿Qué tenemos aquí? Esta cadena? Es igual que nuestra cadena anterior. ¿Por qué? Porque copiamos pegar ahora lo que cambia proyecto a Android. Ahora tienes todas estas cadenas por defecto tú, cadenas árabes. Se puede ver árabe. Y puedes ver los dos después del nombre de la carpeta, porque tienes dos cadenas. Bien, déjame traducir este árabe. Yo sólo copio estos. Y lo llevo a Google Translate porque no conozco ningún árabe. Lo pego ahí y solo copio Resultado y lo traigo de vuelta. Espera, bien. Traducido. Pegar. Bien, mi calculadora. Y esa es Star. Pero estos dos, estos están traducidos. Bien. Como puedes ver, ya que copio y pego desde Google Translate, uno de mis nombres lo recortó, ¿qué debo hacer? Vuelvo a mi original, puedo ver la copia y traerla de vuelta aquí. Nuestro segundo número. Bien. Si tienes todos estos problemas, es mejor que solo copies este y este texto y 1.1 los lleves a Google Translate y los traigas de vuelta. Si trabajas en una empresa con muchas otras personas, es mejor dárselo a una persona que trabaja como traductor, no solo usar Google Translate. Solo uso Google Translate para mostrarte cómo parece que no es profesional. Si quieres hacerlo profesionalmente, un traductor debe hacerlo por ti persona. O sea, de todas formas, lo decía traducciones para todos los lugareños en el editor de traducciones este patrón. Déjame probarlo. Haga clic en qué tengo, estas cuatro claves ingeniosas sobre el valor traducible y predeterminado ¿Qué significa esto? Mi valor predeterminado. ¿Te acuerdas? Dije que tengo un fuller con mi default y agrego R. Mi valor predeterminado es el primer número, mi valor predeterminado es el segundo número Pero mi texto traducido es esto y esto. Si tengo un tercer idioma, por ejemplo, el francés, tengo otra columna para francés, chino, japonés, coreano, o muchos otros idiomas tienen todas las demás columnas. Espero poder mostrarte. ¿A qué me refiero? En fin, el solo para estar seguros, tenemos este segundo número aquí y este segundo número aquí. El nombre debe ser el mismo, sólo el valor debe traducir, el nombre debe ser el mismo. Incluso si traductor hecho a mano, usted debe traer el nombre de vuelta. Todos los nombres son iguales. Déjame mostrar una cosa más en este editor, esta tabla de columnas, ¿qué significa? Tengo esta estrella para multiplicar, pero la estrella no se puede traducir. Yo sólo tengo una estrella en todos los idiomas, por ejemplo, solo reviso esto. Mi estrella solo tiene el valor predeterminado. Déjame mostrarte otra cosa de otras maneras, comprueba esto. Mira, tengo este inicio aquí en árabe y tengo esto aquí en inglés. Si quito esto de aquí, por ejemplo, así, ya no lo tengo. Yo uso el control si quiero. ¿Puedo traerlo de vuelta de todos modos? No lo tengo. ¿Qué pasa ahora? Si volví a los valores por valor definido, tengo esta línea roja porque no tengo un nombre traducido ahí, así que tengo esta línea roja. Pero si, déjame cerrarlo y abrirlo de nuevo. Bien, esto es estrella, tengo esta cosa roja. Y decía, no lo tenemos en árabe. Dicha clave K, R multiplicar tiene traducción faltante para árabe local. Pero si le digo que está traducido, no tiene ninguna traducción. Es sólo una estrella en todos los idiomas. O tal vez más división menos. En fin, ya no se lee. Si vuelvo aquí, ya no se lee. ¿Por qué? Porque traducible es igual a falso Ya no se puede traducir. Espero poder explicarlo bien. Bien, ¿y ahora qué? Ahora tengo esto y quiero agregar este plus también. Qué cambio ves. Nombre del recurso, Valor del recurso, curso K, ST. Yo también tengo esto. Valores Árabe. Bien, entonces lo reviso. He comprobado los valores de mi Default y mi versión en árabe. Presiono esto, bien, Y cadena CR. Si dejo el ratón aquí, se puede ver por defecto y el valor árabe también. Y presiono control a la izquierda abajo en mi teclado. Muevo el ratón aquí. Implementación múltiple. Oh, ¿qué es la implementación múltiple? Si le hago clic, dijo que no puedo llevarte hasta allí. ¿Por qué? Porque no tiene un solo lugar. Tiene implementación múltiple. Puedes elegir tu destino. Tienes uno en los valores y tienes uno en este árabe. ¿Cuál quieres? Yo digo muéstrame en valores, se nota en valores. Déjame probar esto otra vez. Control. Haga clic ahora. Muéstrame la versión árabe. También tengo esto en versión árabe. Si dejo el ratón sobre el nombre, aquí dentro, puedo ver la configuración en Default y Arabic, y cada uno de los valores para ellos. Solo para que quede claro, hacemos esto para mostrarte cómo puedes tener dos idiomas, tienes muchos otros idiomas, incluso diez idiomas. Y como puedes ver, es realmente fácil. Es muy sencillo agregar otros idiomas, pero es bueno por ahora y una instrucción muy útil sobre cómo puedo usar cadenas. Y porque estamos en el nivel básico, ahora no podemos agregar idioma en nuestra app. Pero sólo para que estés familiarizado con estos, cubrimos estas cosas. ¿Bien? Simplemente agregue el otro, por ejemplo, el alt inter, STR menos y Arábica, también agrego este STR D en el arroyo, se puede ver un menos Lo tengo. E incluso multiplicar. Como pueden ver, aquí no tengo esas líneas amarillas, porque ahora está en camino que Studio y Google recomendaron. Imagina que tienes. ¿Usa esto en el lugar 100 o este primer número en el lugar 100? Y piensas, ¿qué debo hacer si quiero cambiar mi, tomar esta cadena primer número? Puedes ver que tengo el valor predeterminado aquí y este es mi primer número de SCR Creo que debería agregar una S al final de esto, por ejemplo, estos primeros números. O quiero cambiarlo a algo así, 123 y segundo número 123. Y tres puntos y tres puntos también. ¿Qué pasa ahora? De todas formas, decía por tres puntos puedes tener este personaje, pero solo uso dos puntos porque no quiero entrar en ese A. De todas formas, solo sigo a las lecciones, podríamos llegar a ellas en otras lecciones. Entonces los primeros números 123 y tres puntos. Segundo número 1232 puntos y estos caracteres. Así que imagina que lo uso en diez jugadas, 15 jugadas, 100 jugadas. ¿Debo ir a cambiar cada una de ellas? Por supuesto que no. Si agrego esto o cualquier otra cosa después de eso, todos los lugares que uso cambian. Ahora puedes ver los primeros números 123. Incluso si ejecuto mi app, puedes ver dentro de la app, todas están cambiadas. Lo uso en 100 lugares diferentes, Todos ellos cambian todos a la vez. Porque los cambio en un solo lugar. Aunque quiera cambiar esto más dos, ¿qué pasa ahora? Vuelve, ya ves este anuncio. Si tengo dos idiomas en mi app, puedo escribir la palabra árabe para el anuncio en ese idioma. Si mi app cambia el idioma al árabe, el usuario podrá ver este anuncio en idioma árabe o en cualquier otro idioma. Bien, volvamos a cambiarlo. Un cuento largo, aunque tengas un idioma, es mejor. Es más mejor usar el archivo XML de cadena. Puedes organizar tu texto. Seguimos con nuestros botones en el siguiente video. 20. Día 3: Propiedades de Buttons: Propiedades cuatro botones. Ahora, tenemos estos cuatro botones y nos gustaría mejorarlos. ¿Qué debemos hacer? Tenemos esta disposición lineal. Bien. Prensa. Tenemos gravedad, gravedad versus gravedad de disposición. La gravedad organiza el contenido dentro de los medios de vista para el objeto gravedad del diseño arregla la posición de las vistas del objeto fuera de sí mismo significa respecto a su patente Veamos la diferencia de algunos de los valores en esta imagen. También hay otros valores también. Pero solo mira la diferencia aquí. Los cuadros azules son campo de texto dentro de un diseño lineal. Déjame ver. Con gravedad, tenemos centro izquierda Android. Con disposición gravedad, tenemos centro izquierdo android, por su patente, no por sí mismo. Las notas para gravedad versus gravedad de diseño, gravedad, contenido de envoltura y gravedad no tienen sentido juntas La gravedad no funciona bien en un diseño relativo, pero puede ser útil con un diseño lineal. Diseño de gravedad. La gravedad del diseño solo funciona en el diseño lineal y el diseño del marco. Coincidir con la gravedad padre y el diseño no tienen sentido juntos. Todo con diseño bajo línea define algo que afecta a los elementos exteriores. Por favor, tenga cuidado. Todo el subrayado de diseño define algo que afecta a los elementos exteriores Creo que deberíamos hacerlo más grande y más audaz. Puede ser centro y todo el botón o centro ahora. Entonces aprendemos a usar la gravedad. Donde podemos usar la gravedad. ¿Podemos usarlo en otros lugares? Déjame intentarlo. Control C. Copio toda la línea. Tengo el segundo valor, y presiono Control y centro de gravedad. ¿Qué pasó con el segundo valor? El segundo número ahora centro. Sigamos. Yo también tengo esto, Control. Y tengo esto en el centro. ¿Qué más tenemos? Puedo escribir en lugar de centro tengo mi primer número al final. Se puede ver la pista al final, o incluso empezar, puedo tenerla al inicio. Es el valor diferente como puedes ver. En fin, continuemos con esta disposición lineal. Tengo esto en patente de partido. Y si le doy contenido rap. Le doy la gravedad y le dije B en el centro. Pero si digo contenido rap, es centro, pero ya no tiene más espacio. Ya sabes, el diseño lineal ahora es contenido envolvente. Entonces es el tamaño de su contenido y el contenido es centro. Pero a la izquierda y a la derecha, ya no hay espacio para que esté en ningún otro lugar. Pero si dices match pattern. Ahora tienes el espacio a la izquierda y a la derecha. Ahora bien, si quieres ser centro, tienes el espacio para moverte o si quieres decir n tienes el espacio para ir al final, pero envolver contenido, no hay diferencia entre start o center cuando envuelves contenido. ¿Por qué? Porque no hay espacio aquí. De todas formas, Y el centro. Larga historia corta gravedad es para el interior. Por ejemplo, puedes ver la pista. El equipo que por dentro cambió su ubicación, no afuera. Y en el trazado lineal, los equipos que están dentro del trazado lineal cambian su posición, no algo fuera. Todo el diseño lineal no, no se mueve. Pero las cosas dentro de la disposición lineal se mueven con la gravedad. Para que podamos entender cómo la gravedad afecta a nuestros objetos, nuestro todo objeto y ponernos en nuestra pantalla. Tengo un objeto más que mostrarle. Tengo este anuncio BTN, por ejemplo, inter G ya que ya están centrados, pongo inicio Para que puedas ver el plus al inicio ahora. Déjame borrar esto. De todas formas. Bien. Vamos a esperar el diseño. Pesas 0.25 un cuarto, es de uno. Si escribes solo un cinco en vez de esto, la mitad, se desvía a uno, cómo inferir tu número de dos dígitos, equivale a por ciento es por ciento Es 25%, 25% a esto, 25% a esto, y 25% a esto y 25% a esto. Ahora, los cuatro botones tienen 25% para ellos. Hagámoslo más hermoso. ¿Qué debemos hacer? Agregamos margen. Bien. Bien, ocho D P es bueno. Si decimos una D P, algo así, si decimos 20 DP, algo así, ocho es bueno algo así. Nueve. Es bueno, pero ¿ qué tal si nuestro proyecto se hizo más grande y tenemos más márgenes y otras dimensiones ¿Qué debemos hacer entonces? Como cadena, como recordarás, tenemos esta cadena aquí. Estos también hablamos de otros idiomas también. Tenemos para dimensiones. Y hay que poner esos números y valores ahí dentro. En valor cli li, nuevo archivo de recursos de valor Bien. Diamantes es bueno y dicen. Bien. Bien. En este expediente, necesito tener un nombre de hombres deberíamos llamarlo. Diez margen y vamos a cerrarlo y decir o digamos nueve DP como escribimos ahora vamos a usarlo. Aquí tenemos a los nueve. Espacio de control, tenemos margen de botón. Se puede ver en signo diamante botón margen tiene el mismo valor. Le puse el ratón nueve DP. Si lo cambio a 11, se puede ver que tengo 11 DP. Por cualquier otro valor. Ahora tengo. Debido a que definimos esto, también puedes usarlo aquí para la entrada de texto. Pero yo lo nombro pero margen. Déjame cambiar el nombre. Vamos a llamarlo margen normal ahora. Cámbielo al margen normal y copie esto. Tengo este margen de maquetación. Yo también quiero que este sea margen normal. Como no puse el mismo tipo para mi primer texto, solo lo uso aquí. Tengamos este margen para otros botones también. Control C. Ahora, Control y control, perdón, Control y control. Así como esto, es hermoso. Bien. Puedes usar este margen con otras cosas. Simplemente presiona el control C y copia esto para este campo de entrada de texto, también tienes margen. Margen de propiedad o comentarios como ID. Muchos de estos objetos tienen margen. Como pueden ver, ahí está la diferencia. Controla, vuelve a pegarlo. Mira a la derecha Esta es la diferencia. Déjenme darle el superior, no éste. Esto ya tiene el margen. Yo quiero dárselo a esto. Por ejemplo, el control, le doy uno a esto. Presiono control y lo vuelvo a pegar. Mira la diferencia controla este cambio porque el margen. ¿Cómo tiene siete D P? Y como digo, si cambio los siete DP de aquí, todos los lugares que se utilizan se cambian al mismo tiempo. Bien. Y sólo lo cambio en un solo lugar. Bien. Podemos ejecutar la app y ver cómo se ve, pero no puedes hacerlo tú mismo. Y una propina extra. Yo solo ejecuto la app por mí mismo para ver qué pasa. Me da un error. Y yo eligiendo este APA tty one. Lo cambio a esta API ty cuatro y parece que arregla el error y no tengo ningún problema. Puedo correr como pueden ver. Entonces, antes de que te preocupes y hagas otra cosa, revisa estas cosas básicas. Por ejemplo, tu nivel de API o las otras cosas, o tal vez reconstruimos, puedes solucionar el problema En fin, nos vemos en el siguiente video. Bien. 21. Día 3: Prueba: D tres preguntas quiz. Pregunta uno, ¿cuáles son los diferentes tipos de botones? ¿Cuáles son los diferentes tipos de botones? Pregunta dos. ¿Cuáles son los usos del atributo Android ID. ¿Cuáles son los usos del atributo Android ID? Puedes pausar el video y responder la pregunta. Después retoma el video y sigue viendo. Bien. Pregunta tres. ¿Qué hace el atributo de orientación de Android en el diseño lineal ? Lo siento. ¿Qué hace el atributo de orientación de Android en el diseño lineal? Bien. Cuestión cuatro. ¿Cuál es la diferencia entre gravity y layout gravity? Cuál es la diferencia entre Gravity y layout gravity. Bien. 22. Día 4: respuesta al cuestionario del día 3: Cuestionario del tercer día. Respuestas. Veamos qué hacemos. ¿Cuáles son los diferentes tipos de botones? Tenemos botón de texto. Tenemos boton de contorno. Tugalt y botón contener. Tenemos estos cuatro tipos de botones. Pregunta dos. Cuáles son los usos del atributo Android ID. Es un identificador y se utiliza para acceder a un objeto posteriormente. Por ejemplo, para definir otra posición de objeto relacionada con ese objeto o en el código para cambiar o modificar el objeto. ¿Puedes pausar el video y leer las respuestas tú mismo y compararlas con tu propia respuesta? ¿Pregunta tres? ¿Qué hace el atributo de orientación de Android en el diseño lineal? Define la dirección de los objetos dentro de un diseño lineal. Horizontal para una fila vertical para una columna. El valor por defecto es horizontal. Pregunta número cuatro. ¿Cuál es la diferencia entre gravity y layout gravity? Gravedad, establece el contenido dentro del objeto. Disposición de gravedad, establecer la posición de los objetos fuera de sí mismo con respecto a su patente. 23. Día 4: sección de resultados: Sección de resultados. Necesitamos una parte de resultado para el resultado de nuestra calculadora. Cerremos todo esto. Pierdo todo esto. Ahora tengo esto después de la disposición lineal. Después de este diseño lineal, quiero espacio de control de texto. Tengo contenido de envoltura seleccionado. Simplemente presiono adentro y en el espacio de control, en. Todavía tenemos esta cosa roja porque deberíamos decir donde queremos estar esta cosa. Dónde debería mostrarse. A la parte inferior del diseño contrate al fondo a la parte inferior de la patente Simplemente presiono inter cuando seleccioné y escribo inicio y comienzo para comenzar y reprimida no tengo ningún error, pero decía que debes cerrar Yo escribo slash y y agregas esto no hay error. También necesitamos un texto. Escribamos texto y el texto es común entre los equipos que son visibles y pueden tomar texto. Te puedo mostrar el texto. Tenemos advertencia porque es mejor estar adentro como recuerdas, cuerdas. Presione y presione inter al mismo tiempo para ver ¿qué debemos hacer? Podemos dar click sobre la bola de luz. Puede ver clic o presionar en Extraer recurso de cadena. Tenemos vamos a ponerlo en árabe también y nombre del recurso. Añadimos ST antes de este nombre. Te acuerdas del árabe que agregamos presione este Ken tienes el resultado de ATr aquí Tenemos este árabe aquí. Qué tenemos hasta ahora, cerramos esto yo uso esta mano. Tenemos esto aquí. Si quieres verlo mejor, deberías deseleccionarlo. Ya puedes ver que está seleccionado. Hacemos clic en cualquier otro lugar. No seleccionaste y puedes ver el resultado aquí. Nosotros tenemos esto. Vamos a escribir más margen. Y espacio inter y de control, le damos margen normal. El margen es para algunos espacios, un poco de espacio desde los bordes. Ahora, se ve genial. Sigamos en el siguiente video. 24. Día 4: sección de resultados, parte 2: Resultado sección segunda parte. Necesito una línea. Añado ancho de diseño, como pueden ver, se requiere. Le doy partido padre, y por supuesto, altura. Como puedes ver, también se requiere. Le doy dos D P Escribo un Slash para cerrar esto. Como pueden ver, ya tenemos esta línea aquí, pero no la quiero ahí. Lo quiero en la parte superior de mi resultado. Entonces primero, le damos a este texto la etiqueta de resultado D. T X t. Como pueden ver, tenemos esta línea roja debajo de la vista. Decía, debes especificar dónde quieres ver esta vista a menos que la mostremos en la parte superior. Yo digo, Bien, voy a especificar donde me lo enseñas. De abajo a arriba de la parte superior de t x resultado. Simplemente damos el ID T x resultado que acabamos de dar el ID. ¿Qué acaba de pasar? Tenemos esto aquí abajo ahora, como pueden ver, También debemos darle antecedentes. Entonces escribimos fondo, fondo, ¿de qué color? Creo que lo similar es bueno. Los similares. Y ahora tenemos esta línea. No más. Para que veas Como quiero que veas, le doy, por ejemplo, 12 DP. Ves esto es mentira negra. Bien lo voy a dar lo cambiaré de nuevo a dos a dos DP. Ya que no tenemos fila dentro y con el estudio. Creamos vista y le damos esta altura y w y le damos a esta vista antecedentes. Por ejemplo, el rezago porque queremos la línea de falta, y sea cual sea la altura que le demos, tenemos línea con ese grosor. Verás, solo lo cambio a 11 12 DP y puedes ver una línea más gruesa tan fácil como eso. Si le doy este ingenio, por ejemplo, cinco DP y le doy esta patente de coincidencia. Tienes línea así, dos DP otra vez y coinciden con patente. Voy a cambiarlo de nuevo. Tengamos un poco de relleno para esta vista de texto, presione ahí y aquí. Se puede decir Android y luego decir relleno o simplemente decir relleno. Tenemos este margen normal como pueden ver, pero creo que debería especificar algo más para el relleno. No. Abro valores. A ver. Deberíamos crear algo aquí. Controle C en esta línea y presione entre Control V. Dije que no se puede haber duplicado. Yo digo, Bien, déjame solo tener relleno. Tengo acolchado normal y quiero tener un poco diferente entre esto, le doy ocho. Vamos a cerrar esto. Y para el relleno, voy a dar Normal no fusionado, relleno normal. Ahora minimizamos esto así. Como puedes ver, el acolchado es para el interior. Si no tienes este relleno, déjame acercarlo más. Yo lo cortaré. No tienes este espacio interno. El acolchado es para esto dentro, interno. Déjame mostrarte la apuesta. Para esta parte para el lado interno, tienes este acolchado. Si no lo tienes, no tienes esos espacios. Y si no tienes este margen, margen para esto afuera. Se ve así. Si no tienes relleno, relleno es para el interior, si no tienes margen de margen para el exterior. Si cambias los valores para el relleno dentro de los espacios se hicieron menos y o más, y para el margen, espacio exterior se hizo cada vez más. Menos o más. ¿ Qué más tenemos? Por ejemplo, tenemos este relleno, y también podemos especificar este relleno para arriba o abajo. Abajo, creo que es mejor muestra. Tenemos esto para el fondo. Para el fondo, tenemos esto así, quitamos el acolchado inferior, así, el acolchado del botón de atrás, así, y solo tenemos el acolchado, se ve así. ¿Qué más tenemos? Bottom start top y muchas otras cosas. Pero la mayor parte del tiempo, usamos el relleno. Utilizamos el margen, no especificación para la parte inferior o la parte superior. Y Pero pero puedes tener esas cosas. Y creo que los alcanzamos en los cursos futuros a medida que planta. Te voy a dar un ejemplo más. Ves este margen. Cambiemos este margen como relleno para no inferior no para empezar. Tienes el margen solo para un inicio, solo del lado izquierdo. Y si quitas esto, lo tienes por todas partes. Basta de esto, copiemos este control C y el caso aquí. Dijías que tienes nombres duplicados. Elimino esta etiqueta. Ahora está bien comenzar sin fin a fin de qué terminar de esta etiqueta de resultado. ¿Por qué hago eso? Porque quiero que esto diga que el resultado estará aquí. Y quiero que éste muestre el resultado real. Entonces éste por saber dónde está el resultado y éste para mostrar el resultado. Conectemos el lado derecho de esto a aquí así. Déjame cambiar el ingenio. Tenemos contenido wrap, pero no quiero tanto poco. Déjame tener padre de pareja. Pero tenemos un problema como podemos ver. Está en la otra vista de texto. Si lo vuelvo a cambiar para envolver contenido, como pueden ver, es demasiado pequeño. Entonces ninguno de ellos me ayudó, y quiero esto de aquí final de este texto hasta aquí. Pero, ¿qué debo hacer? Podemos escribir cero DP como este cero dP. Lo que acaba de pasar. No es demasiado grande. No es demasiado pequeña. Es justo la forma en que quiero este DP cero para el w. Cuando puedes usarlo, puedes usarlo cuando tu izquierda y derecha estén conectados. Si por ejemplo, tu derecho no está conectado, no puedes usar este DP cero. Por ejemplo, permítanme quitar esta línea. Ya no puede funcionar porque tu derecho no conecta con este derecho. Si lo vuelvo a poner, ya es trabajo. Espero que mis consejos y trucos puedan ayudarte porque trato de darte muchos consejos y trucos como puedo. Sólo una cosa más, deberíamos decir dio, ¿por qué? Porque el texto, como puedes ver, está a la izquierda. Lo quiero en el centro. Ahora vamos a ejecutar la aplicación. Nosotros esperando. Nuestra app está funcionando, y es genial. Continuemos con esto en el siguiente video. 25. Día 4: herramientas: Herramientas. Como saben, es una calculadora. Quiero ingresar alrededor de diez o 20 obtiene para esta parte de resultado. Voy hacia abajo y como pueden ver, tengo texto aquí. Simplemente lo cambiaré a cero, uno, dos, tres, cuatro, cinco, 6789 O tal vez 20 dígitos. Es mejor y más realista. 20 dígitos es suficiente. Veamos cuál es el resultado? ¿Cuál es el resultado final? Es nuestro resultado final. Se ve así si ingresas 20 dígitos. Ejecutemos la aplicación haciendo clic en ejecutar aplicación. Nuestra aplicación ya está funcionando. Minimizo esto y como pueden ver, se ve así. Vamos a detenerlo. Como puede ver, el resultado me muestra este número en el dispositivo y en el resultado final en el dispositivo del usuario, el usuario puede ver estos números también. Lo que quiero hacer, quiero cambiar este Android a herramientas. Como pueden ver, tengo esto ahora, y ese subrayado amarillo se ha ido porque no me recomienda ponerlo en el archivo string Así que déjame correr el arriba otra vez. Lo que pasó ahora, aquí no tenemos este número. Pero como puedes ver, déjame parar la app. Lo tienes aquí. Entonces tú como programador puedes ver, ¿cuál es el resultado salido? ¿Qué aspecto tiene? Se ve así. Pero si creas tu app final, El usuario no tiene estos números. Usuario tiene algo como esto y espacio vacío. Es muy útil para mí como diseñadora ver cómo se ve cada parte si tengo que ponerles algunas cadenas unos datos. Pero claro, no queremos tener los datos en nuestra app de salida Es solo prueba y por ayudarnos a diseñar mejor para facilitar el diseño. Además, si lo detengo de nuevo y minimizo, como pueden ver, si lo quito, nada ha cambiado. Todavía está aquí, es del mismo tamaño. Todo es igual. Pero sólo ponemos esto aquí para ver qué va a pasar. Ahora, ¿podemos saber cuánto espacio necesitamos? Por ejemplo, si 20 dígitos no caben, podemos entenderlo ahora. Una cosa más ya que ya estamos aquí, déjame ver. Tenemos esto. ¿Qué pasa si eliminamos esta línea? Si lo eliminamos, tenemos un error en todas partes que llamamos herramientas, y esto puedes importar namespace, para que podamos entender usas herramientas y ¿a qué te refieres con herramientas Podemos importar espacio de nombres o presionar todo inter. Simplemente haga clic en eso e importe las herramientas. Todo es ahora. Como digo, si queremos usar algo, debemos declarar esa cosa. Por ejemplo, queremos usar los Ts en el espacio de nombres tools Entonces primero, debemos usar herramientas namespace. Después de eso, podemos usar herramientas. O tal vez Android, tenemos Android Android Android aquí, y tenemos el espacio de nombres de Android aquí Si lo quitamos, decía, no sé Android. Qué es Android. Deberías importar el espacio de nombres para Android. De lo contrario, tienes error, así que importa, y soluciona. En pocas palabras, usamos estas palabras clave, y deberíamos hacer algo. Andrew Desio sabe ¿cuáles son estas palabras clave? Usamos espacios de nombres para eso. 26. Día 4: 005 variables parte 1: Variables, primera parte, variables en cortesano. Variable es un continuador para asentar valores de datos, cómo definir escribes R, tu nombre de variable es igual a valor o tus carriles variables igual valor, y R o kwar R, el valor de la variable se puede cambiar Por ejemplo, el nombre es igual a o. El primer nombre es igual a John. El nombre de la variable, primer nombre cambia a John. El valor de a el valor de la variable no se puede cambiar. Si estás seguro de que el valor no se modificará en el futuro, usa esta palabra. L H es igual a 25. Si damos un 45 en la siguiente línea o en cualquier otro lugar, tenemos error. Las reglas de nombre variable pueden contener dígitos, guiones bajos y signos de dólar Debe comenzar con una letra, signo de dólar o subrayado, con diferencia de mayúsculas y minúsculas Mi edad y mi edad son variables diferentes. Ves la A, la mayúscula A o una pequeña A. Están marcando la diferencia. Debe comenzar con una letra minúscula, y no puede contener espacios en blanco. Las palabras de reserva, como las palabras cutlin K, como R, o una cadena no se pueden usar como nombres ¿Qué aspecto tiene? Está terminado. Nuestro diseño está terminado. Ahora, se ve así. Yo dirijo el proyecto, y como pueden ver, si escribo algo y presiono un botón, no pasa nada y otro número el botón y no pasa nada. Necesitamos escribir código para decir si hacemos clic en este botón, ¿qué debería pasar? Abrimos el proyecto y en el proyecto, abrimos actividad principal. Sobre la actividad principal, tenemos esta parte y prensa inter. Escribimos nuestro código para la actividad. Quiero encontrar este botón este botón, PTN en, quiero encontrar PTN en mi código de corte lin Escribo buscar vista por ID. ¿Qué quieres encontrar? Quiero encontrar el botón de material de malta está aquí. ¿Qué es ID? Quiero encontrarlo por la identificación. Primero, quiero ver los recursos. Ves que hay recursos fer. Escribo R Quiero el ID, O, R ese ID ID. ¿Qué es el ID? Puedes ver todas las identificaciones aquí. Quiero PTN en. Mira aquí, PTN en. Esta es mi identificación. Entonces digo PTN al. Solo quiero estar seguro para poder presionar control y hacer clic en él. Me lleva a ese botón con esa identificación. Una vez más, presione control, haga clic en el ID. Esto es a lo que nos referimos. Espero decir todo esto claramente porque quiero seguro que lo sepas muy bien. Usted lo encuentra. ¿Qué debo hacer? Pongo un punto. ¿Qué debemos hacer? Establecer en el oyente de clic. Y como pueden ver, tenemos dos set unclick listener. Esto y esto. Yo quiero este. En inter, ves todos los objetos que tienes aquí tienen unclick oyente Incluso estas casillas para inter en texto, estas cosas tienen unclick oyente como el. En fin, es realmente sencillo. Decimos sentarse en hacer clic oyente. ¿Qué significa? Significa, qué debería pasar si hacemos clic en este botón en esta cosa, cualquier cosa. ¿Qué debería pasar? Debería pasar así. Toma este número. Toma este número. Sumar estos dos juntos y mostrar estos dos dentro de este. Esto es lo que tenemos que hacer. Toma este número, toma este número, agrega estos dos, y muéstralos aquí. Hagamos esto. Nosotros queremos tomar esto. ¿Qué es esto? Es entrada de texto dit texto con el nombre de EDT primer valor Lo que quiero hacer, quiero encontrar vista por ID. Nuevamente, encuentra vista por ID. ¿Qué es? Es dit, dit con Big E dit dit text o a especificar. No hay diferencia, pero para ser especificado, entrada de texto editar texto. Entrada de texto editar texto. Y decía que deberías importar entrada de texto editar texto. ¿Ves? Si no tienes esto, s deberías importar esta Clase I importada. Entonces está bien. Vamos a tapar esto otra vez. Bien. Editar texto o texto en ambos textos de edición son ambos texto de edición. Solo quiero mostrarte que no hay diferencia y puedes usar ambas. ¿Cuál es su identificación? R recurso punto, punto qué punto ID. Quiero el ID, punto, entonces qué EDT, ya puedes entender por qué escribimos editar textos con EDT o textos o botones con algo antes que ellos Por ejemplo, escribimos para botms Bt N porque los encontramos fácilmente. En fin, DT primer valor, y es lo mismo. Puede presionar fácilmente control y hacer clic en él. Ves te refieres a qué. Lo que quiero, quiero el valor interior que lleva. ¿Cómo puedo encontrarlo puntear lo que quiero texto? Quiero el texto dentro de ese texto de edición. Entonces déjame simplemente dar click aquí Control C e ir a la siguiente línea, Control V. Tengo dos de estos ahora, pero no el primer valor. Quiero para el segundo para el segundo. Tengo ediciones. Primero, edita segundo. Es muy común. Sólo tienes que copiar una línea y pegarla en otro lugar, así no tengo que escribir todas estas cosas. Sólo una parte que cambia. Ahora bien, qué, como decimos, queremos sumar esto y ponerlos en esta parte. Necesito un lugar para almacenar el valor de los datos. Necesito un lugar para una llaga mi valor. Muchas veces que necesitas algún lugar para restaurar tu texto, tus valores, tu número. Este es el momento en que usamos variables. Particular y variable, el uso R. R es la abreviatura de variable. ¿Cómo deberíamos llamar a esta variable? Lo llamamos H o familia familia o apellido apellido pi n. ¿Qué quieres almacenar en esto? Quiero almacenar en esto. Déjame simplemente quitar esto y solo nombre. ¿Qué tipo de datos quieres almacenar en esto? Quiero almacenar un texto dentro de esta variable. Qué es el texto, lo conocemos como una cadena. Ya ves el problema. Deberías escribir Big S. Si no escribes Big S, tienes el error. Es sensible a mayúsculas y minúsculas dentro de esta programación. Ahora, ya está terminado. Posteriormente, se le puede poner algo de valor. Por ejemplo, mi nombre es igual, deberías poner una cuerda en esta sierra. Escribes, por ejemplo, Jack. Si intentas poner número en esto, por ejemplo, 23, tienes error, ¿Y? Porque no se puede poner número dentro de la cuerda. Mira puedes poner este 23 como texto dentro de esa variable, pero no como un número. Entonces presiono shift y este botón al lado del inter y voy aquí y vuelvo a hacer esto. Se trata de un texto. Está bien poner un texto dentro de la cadena, pero no un número. Devuélveme mi nombre. Un consejo más, puedes poner esto aquí arriba cuando declares esta cadena. No hace falta que lo uses aquí. Fácilmente puedes darle a esto el valor cuando declaras el valor capaz. Una cosa más, O cosa. Decía, esto es extra. ¿Qué significa eso? Significa que si haces clic aquí y haces clic en eliminar. Se quita la cuerda. ¿Por qué? Porque el corte ln entiendo le pones una cuerda y le da el tipo de cadena a esta variable de nombre por defecto, no tienes que decir qué es. Pero a veces quieres ser específico. Acerca del tipo de datos. Entonces en esos tiempos, puedes decir qué tipo de datos quieres exactamente. Incluso en esta situación, le da a mi nombre tipo cadena. Entonces si digo, tengo mi nombre, ponle un número a esto. Dice, no, no, no, no, no. Consideramos esto como cadena. Entonces no puedes poner dentro de esta cadena, un número. Además, si consideras esto como un texto está bien, pero no como una cadena. Ni una cuerda. Hablamos mucho de número. Déjame tener un número también. Él igual Déjame ver. Tengo, H es igual a qué? 11. También puedes tener tu tipo de datos. ¿Qué es int para integer? Decía que tienes un error y porque deberías poner grande. Y también decía, ya ves, Se puede quitar. Y si no está bien. Entero es como uno, dos, tres, cuatro, cinco. No tienes más pequeños que uno en ellos. Por ejemplo, 1.5, no tienes 1.5 en esto. Por ejemplo, 111.4. Te da error. ¿Cuál es el problema? Se puede usar doble cuatro. Los números decimales, no se puede tener este número dentro y en. Y como puedes ver, puedes entender por qué a veces debemos declarar cuál es nuestro número. Porque a lo mejor no queremos decimales y solo queremos int En esos tiempos, declaramos lo que quiero. Qué queremos. Déjame quitarlo. Y una cosa más, si digo que H es igual a 23, está bien. Esto lo he repetido muchas veces y lo cambio mucho. Pero en vez de R, digo, puedo cambiarlo. Simplemente dale el valor a esta variable una vez, no más. Esta es la diferencia entre y. La diferencia entre R y es sólo esto. Veo en el siguiente video, 27. 006 día 4 006 variables, parte 2: Variables, art dos. Permítanme seleccionar todos estos ED t primera entrada. El tipo de datos es una cadena y equivale a dos algunos datos. Y ya que como estamos en corte, no te tenemos esta cuerda. Detecta cuál es el tipo de datos a menos que queramos y necesitamos hacerlo. Déjame simplemente quitar esto y copiar esto. Pon esto aquí. Este texto va dentro de esto y este es nuestro texto. Nuestros datos van a esta variable. Déjame cerrar esto. Antes de que me olvidara, debería escribir eso a una cadena. ¿Por qué? Porque quiero estar seguro de que la cadena de ese texto va a mi primera entrada de edición. Muchas veces muchos otros lugares. Deberíamos especificarnos para asegurarnos de que el tipo de datos correcto va a alguna parte. Solo para estar seguros y no tener ningún error y problema. Entonces debería copiar esto hasta aquí, y no tengo primero, tengo segundo copiar y pegar perdón pegar. Es segundo valor y esa cadena también. ¿Qué hace esa cadena tw? Esa twe string va aquí y toma la cuerda dentro de cada una de estas y la pone dentro de mi variable Una cosa más. Verás, tenemos que una cuerda. No tenemos int, ni siquiera con big o, no tenemos que int a una cadena. Ahora, vamos a tener nuestra tercera variable. El resultado EDT es igual a lo que. Copia esto, pegarlo aquí, los. Copia esto y pegarlo aquí. Esto más esto va a resultar. ¿Por qué? Porque escribimos código para PTN t. ¿Y ahora qué? Ahora, queremos este resultado DT, poner esto dentro de este fondo. ¿Qué es? Este es el resultado TC. Nuevamente, solo copio esto y lo pego aquí. Cambia esta parte a t x t resultado. No lo recuerdo, no es entrada de texto, dit text. Es vista de texto con T. grande Vista de texto. Ya ves, esta es la vista de texto. Presione control, haga clic en esto. Esto es resultado de texto, y es una vista de texto. Entonces, ¿qué sigue? Lo siguiente es ¿hacer qué texto? ¿Qué debemos poner dentro del texto? E T resultado. ¿Qué es el resultado DT? El resultado que almacenamos, vamos a ponerlo dentro de ese texto. Bien, déjame ejecutar la app y ver el problema. Para que podamos aprender tantas otras cosas. Solo para estar seguros, ten cuidado con mayúsculas y minúsculas. Es muy importante. Las letras grandes y pequeñas son diferencia en enfriamiento. Ejecutemos la aplicación. Entonces ahora, si pongo tres y pongo cuatro, debería tener tres y cuatro es igual a siete. Vamos a agregarlos. Ves el número 37, T cuatro, decía que es igual a 37 y. Te digo por qué. Los considera como texto y pone tres y cuatro uno al lado del otro. No los números, no como números, como texto. Primero tres, luego cuatro, juntarlos, tres, cuatro. Porque le dices a la computadora que haga esto. En fin, como digo, estos son texto ahora. Entonces, ¿qué debo hacer? Este texto, este texto. Incluso le hacemos a una cadena, porque son texto, ¿qué debemos hacer? Entonces ahora, ¿qué debemos hacer? Deberíamos decir que queremos que esto sea entero. Entonces D a lo que ves a una cadena, a ancho, demasiado largo para int. Quiero int. El segundo, ya lo ves dicho, tienes aquí dentro una cuerda aquí. Resolver el problema a qué integrain. Nuestro problema resuelto, y tenemos esto como un entero. Verá, dit resultado entero. Nuestro problema resuelto, pero espera, tenemos otro problema. Este texto consigue cantar. Pero tenemos este int. ¿Qué debemos hacer para resolver este problema? Déjame resolver esto porque este texto, toma texto, toma una cadena. D a una cadena nuestro int, va a la cadena, ser una cadena y luego va dentro del resultado. Revisión de L et. Queremos entero, punto a adentro, queremos un anillo, punto a un anillo. Ahora volvamos a ejecutar la ap. Pongo tres dentro de esto, pongo cuatro dentro de esto. La última vez vemos 34 porque programa los armó. Presionemos este botón y luego tenemos siete. Tres más cuatro equivale a siete porque ahora es número. ¿Ves? También tenemos estas advertencias. ¿Qué dicen? Dicen, puedes cambiarlo a al, y porque solo pones los datos una vez dentro de esta variable. Para que puedas usar. Es opcional, no hay problema con R, pero puedes usar. Yo los cambio, y se puede ver que la advertencia de tres se convierte en una. Resuelvo este tres. Veo en el siguiente video, 28. Día 4: funciones: Funciones. Una función también conocida como método, un segmento de código que se ejecuta sólo cuando se invoca o se llama funciones puede recibir datos, denominados parámetros Se utilizan para ejecutar tareas o acciones específicas. Crear una función. Usamos la palabra clave fun, como puedes ver, y como puedes ver en el ejemplo, llamamos a una función para llamar a una función, escribimos ese nombre de función seguido de dos paréntesis como este Bien. Volver a nuestra programación. Escribimos algún código simple para tomar este número y este número cuando presionamos este botón más, los agregamos y los ponemos en esta parte. En nuestra vista de texto. Apenas esta línea de código. Ahora, el problema. No es bueno que escribamos así en clase principal y escribamos todo esto juntos. Si nuestro programa se hizo un poco más grande, todos los códigos dentro uno del otro y en un solo lugar, fácilmente podemos perdernos dentro de todos esos códigos y nuestro programa podría En su mayoría, en su mayoría, tener muchos problemas y errores porque no podemos encontrar qué es qué. Nos perdemos. Antes de que me olvidara, tenemos esta función de descrear Escribimos nuestros códigos dentro de esta parte sin crear. Cuando nuestra actividad se crea, estas cosas pasan. Puedes ver incluso esta creación es una función con esta palabra F U N, puedes ver que esta es una función. Vamos a crear una función. Presiono aquí dentro. Escribo f porque quiero crear una función de función, mi nombre de función. En ella, oyentes. Este es mi nombre de función y abrir y cerrar, y esta es mi función. Ahora, ¿qué debo hacer? Selecciono todos estos hasta el final y control X, los corto, Control, los pego 29. Día 4: errores y LogCat: Errores, y log cat. Bien, continuemos. Minimizar esto. Volvamos a ejecutar la aplicación. Esta es nuestra app. Inserto un número aquí. Puse esta cosa en blanco, y presiono este botón de clase. ¿Qué acaba de pasar? Mi app se cerró porque un error, porque no puse ningún número en mi segundo cuadro de texto. Ya ves este logcat. Haga clic en esto. Tienes el logcat Haz esto un poco más grande. Y puedes ver este error aquí. Se ve justo en la parte inferior. Tengo esta excepción fatal. Allá aquí. ¿Qué es? Este es mi error. Tengo otras descripciones, pero principal y lo más importante, esta línea para esta cadena de entrada vacía. ¿Por qué? Porque en este código, quiero hacer esta cadena vacía a entero. No tengo un cero. Tengo cadena vacía. Esto hace que el error. Incluso dijo, tienes este error en donde en actividad principal, Cutlne 26 Aquí está la línea 26, línea 26. Para que puedas averiguar dónde está tu error exactamente. También, se puede ver en las clases de Android, por ejemplo, en Java para las cosas enteras y otras cosas. Pero como no queremos hacer nada con esos, solo trabajamos con nuestro propio código y arreglamos nuestro propio problema en la línea 26. ¿Qué problema, este problema? cadena de entrada está vacía. Punta extra. Ves este paquete mío y paquete mío, porque solo quiero ver mi propio paquete. No quiero ver otras cosas. Puede presionar el espacio de control para ver la sugerencia. Presionemos el espacio de control para ver otras sugerencias. Aún no necesitamos otras cosas. Puedes ver todos ellos están aquí paquetes u otras cosas. Aún no los necesitamos. Lo único que necesitamos para ver nuestro propio paquete. Empaque el mío. ¿Por qué? Porque solo quiero este nombre de paquete para ver qué pasó con esto. Si no escribo esto, podría ver todas las demás cosas porque este emulador tiene otras cosas dentro. Pero no necesito esas cosas. Yo sólo quiero mi propio paquete. Y antes de que me olvidara, presionemos esto para agregarlo para favorecerlo. A lo mejor la próxima vez lo necesitemos. En fin, ahora entendemos lo que acaba de pasar. Minimicemos esto y vayamos aquí. Te doy otro ejemplo. Presiona inter aquí. Verás, tengo, por ejemplo, ¿qué? ¿El número uno es igual a qué? Iguala, por ejemplo, 34. Esto es cadena. Y cuando quiero convertir esta cadena a un número, está bien. Pero si está vacío, tengo error. Si es cero, está bien si está vacío, tengo error. Entonces tengo, por ejemplo, ¿ 23? Está bien. Incluso si pongo una cadena después de eso, tengo error. Únicamente número. Puedo convertir una cadena a número, sólo si tengo número. Bien. Ahora entendemos, ¿cuál es el problema? Aferremos esto y continuemos en el siguiente video. 30. Día 4: si hay algo más: E, tienes si como esta e condición y algún código. Si la condición es verdadera, tu código se ejecuta, y tienes e, si condición, este código, y si no, la condición no es verdadera de lo contrario. Este código. Por ejemplo, tienes esta e para este valor la edad es igual a 24. Si tiene menos de 30 años, imprime menos de 30. Tengo menos de 30, esta parte corre, imprimo 30 o más, pero no tengo menos de 30, esta parte corre. Mi salida es menor a 30. Volver a la codificación. Entonces tenemos un problema. Veamos nuestra app. Queremos verificar si esta parte tiene número y esta parte tiene número, entonces ejecutamos nuestro código. Entonces veamos si estos están vacíos o no. Justo aquí, antes de ejecutar nuestro código, escribimos necesitamos una condición. ¿Si qué? Si utils de texto, necesitamos algo de utils de texto Text utils es para Android. ¿Necesitamos qué? Necesitamos está vacío porque queremos comprobar que la cadena está vacía o no, está vacía. Lo que está vacío. Nuestra primera entrada EDT es t o no. Vamos a comprobarlo. Bien, vamos con otra forma. Primero, eliminamos esto y luego eliminamos esto. Esto es lo que lleva ahora esta variable. Verás, se veía así justo. Variable variable, ¿qué, por ejemplo, T es lo que dit dit text equivale a por qué? Porque podemos crear una variable que no sea string o números. Podemos crear variable poner el tipo de un objeto como editar texto, y simplemente ponemos esto dentro de ese copiar y pegar. Ponemos esto dentro de eso y por supuesto, entrada de texto editar texto. Está bien. Recuerdas, no tenemos errores. Podemos escribir editar texto o entrada de texto editar texto. Vamos a quitar esto. Como digo, escribimos el texto de edición dentro de la variable. Así y queremos usar el propio yo textual. Por supuesto, deberíamos escribir punto punto qué hacer texto. Porque queremos comprobar que el texto está vacío o no. Déjame abrir y cerrar esto y presionar ahí. Simplemente continúo esto en el siguiente video, porque quiero mostrarte cosas diferentes en el siguiente video. Solo quiero separar esto 31. Día 4: propiedad de error de EditText: Es propiedad de error de texto. Vamos a continuar. Bien, EDT primera entrada. Tenemos este dit primer insumo. ¿Qué acaba de pasar? Esta dity primera entrada, el texto está vacío. Entonces, ¿qué debemos hacer? Haces algo al respecto porque está vacío. Error de punto. Es un gran error de propiedad. ¿Qué debemos mostrar dentro del error es igual, obtener texto. Obtener texto. G texto qué punto de recurso dentro de la cadena de recursos. Mira las cuerdas, ¿ y luego qué? STR SCR. Tengo muchos SCR, pero no tengo SCR para este error ¿Qué debo hacer? Escribo el nombre perfecto. En entrada. Yo primero Entrada, por favor creo que es bueno o en primeros interfiros Entrada. Por favor, error. Es opcional. Podemos escribir cualquier cosa así. ¿Entonces qué? Entonces debemos dar click en aquí y dar click en esta Pulpa de pub Light y crear un recurso de valor de cadena para esto. Bien Vamos a crear este valor de cadena. Se. ¿Cuál es tu valor? Por favor primero pienso numero numero asi como ese. Y el cheque para el árabe también. Hago clic. Ahora el error se ha ido porque tengo esto. Si abro este proyecto, vaya a las cuerdas. Tengo cuerda y cuerda árabe, cadena. SCR en la primera entrada, por favor, error. Por favor, entre el primer número. Dentro del árabe, por favor en primer número. Ya ves, no hay diferencia. ¿Por qué? Porque debería traducirlo yo mismo. Vamos a esconderlo y perder esto y perder esto. Larga historia corta. Si está vacío, dame algún error, Whatr, este texto. Escribamos otra cosa. Ahora bien, entendemos qué es, pero ¿de qué otra manera? Esta condición no es cierta porque ponemos algo de texto dentro de esto. Entonces corre el otro. Escribimos otra cosa. Dentro de lo demás, quiero verificar la segunda entrada. Entonces no es la primera entrada. Esta vez, segunda entrada. Entonces solo copio todo el control C. Haga clic aquí. Control. Lo siento, necesito espacio. Si no está vacío, vuelva a comprobarlo. E está vacío, primero, no el primero. Ahora es el momento de adivinar qué. It, Espacio de control, es segundo valor, texto. Si el segundo valor, el texto está vacío, así que haz qué. Es el primero, no el primero. Ten cuidado. Usted copia, pero debe cambiar la parte que desee. Si no, no das error, tomas error de la app. La app no funciona igual que tú quieres. El programa no te da error, pero la app no funciona como esperas. Así que ten cuidado. Segundo valor. Por último, cambio este verso para tomar. Segundo, y dice: Bueno, ¿qué debemos hacer? Crear un recurso de valor de cadena. Puedo usar esta bombilla o dar click aquí y dice, ¿cuál es tu valor? También reviso el árabe. Por favor en segundo número presiono este grados, otra vez, déjame checar. Por favor, entre segundo número. Ese es el primer número, es el segundo número. Por favor, entre el primer número, por favor, entre el segundo número. Como digo, deberíamos traducir árabe o cualquier otro idioma. Yo solo escribo árabe como ejemplo. Por último, L. Qué más hacer Esta parte, si la primera entrada tiene algo y la segunda entrada tiene algo, tiene algo, Ahora es el momento de agregarlos y ponerlos poner el resultado dentro de la vista de texto. Oh, tengo este error. Déjame arreglar este punto punto qué dos cadenas. Después dos adentro. Y otra vez, puntear a una cadena, luego dos adentro porque nuestro en necesita una cadena. Vamos a correr esto. Haga clic aquí y espere. Bien minimice esto y haga zoom, esto, y no interpongo nada. Yo solo hago esto un poco más grande y da clic aquí. Tengo este error. Doy click en esto. Por favor, entre el primer número. Oh. Entonces esto me dice qué debo hacer para solucionar este problema. Me muestra esta cadena de entrada primero. Bien, 22. Además, otro error. ¿Cuál es otro error? Por favor, entre segundo número. Bien. Ya ves que me atrapa dentro del segundo. Ahora, ¿qué debo hacer? Inter un número 22 más uno es igual a 23. Presionemos plus y se bloquea. ¿Por qué? Porque tenemos error. ¿Cuál es el error? Vamos a abrir este gato. Abrir L cat. Tengo esto y voy a subir. ¿Qué dice? Dice para la cadena de entrada, excepción de formato de número. ¿Para qué sirve esta cadena de entrada? Cuál es la cadena de entrada que no puedes cambiarla por el número. Esta es nuestra cadena de entrada. Esto no es un número. Es texto. ¿Por qué? Verás, este es nuestro texto, y no puede convertirlo a número. Antes de que me olvidara, ves esto, ves otra cosa aquí dentro. Pero no quiero estas otras cosas. Simplemente puedo escribir. Bien. Quiero escribir nivel. Déjame presionar el espacio de control. ¿Ves? Espacio de control. Me muestra esta guía. Quiero escribir nivel. La edad es el nivel del mensaje. Esto es nivel. Nivel Inter. Nivel, lo que quiero error. O puedo presionar el espacio de control. Me muestra. Tienes nivel de esto, esto, esto, esto, esto, y esto. Quiero error, en vez de escribir eso. Entonces, lo que acaba de suceder, Error de nivel, y error de espacio y nivel. ¿Qué muestra? ¿Ves? Sólo los errores. Nada más, solo los errores. Porque quiero encontrar todos los errores. Yo lo hago sencillo. Especialmente cuando tienes muchos mensajes y solo tienes algo específico. ¿Ves? Digo paquete mío porque solo quiero mi paquete paquete, y digo error de nivel porque solo quiero el error de mi propio paquete. Y si tienes mucho error, puedes hacer click derecho, borrar. Li cat, borra todos estos y vuelves a ejecutar la app y exactamente haces esa cosa para mostrar el error Entonces no ves error de hace 5 minutos, 10 minutos o 1 hora. Apenas a partir de ahora, puedo limpiarlo así clic, borrar e ir a la app, hacer la cosa y tener error exactamente para esta parte del tiempo. Otra cosa, como digo, tiene esta línea 33. ¿Por qué? Porque tienes este error en la línea 33. No hacemos nada con los códigos Java. Tenemos esta parte. Trabajamos con esta parte, línea 33. ¿Qué es la línea 33? Esta parte. Tenemos error en esto. Aunque estuviera aquí, ahora estoy aquí. Si hago clic en esto, me lleva a la actividad principal línea de corte 33, la ubicación exacta de mi error. Conocemos la razón. Conocemos la línea. ¿Cuál es el problema? El problema es que convertimos esta primera entrada edity a una cadena ¿Qué es esta primera entrada de edición? Esto es control de prensa y clic. Esta es la entrada de texto editar texto. Convierte esto una cadena y luego intentas convertirlo al número. Entonces no se puede convertir esto un texto al número. No se puede convertir y porque no es un valor, es un objeto. Entonces, entiendo ¿cuál es mi problema? Primero debo decir, quiero el texto de este DT primero de entrada. Luego haz esa cadena de texto, luego haz que esa cadena sea un int. Entonces esto es lo mismo. Primero, toma el texto, y luego conviértalo en una cadena, y luego haz que esa cadena sea un entero. Espero que entiendas. Esta variable es un texto de edición. Este es el problema. Una cosa más, puedo usar esto con Big i integer dot value of value of this string value of string. Déjame cortar esto y ponerlo dentro de esto y no necesito esto así hago esta cadena como entero, así. Es igual. Déjame simplemente cresta inter aquí para que veas que esto es igual a esto. Bien. Incluso puedo presionar inter aquí, así que lo tengo en la siguiente línea. Puedo escribir a directamente o puedo usar el método Android para hacer esto. Bien. Vamos a ejecutar la aplicación. Pero primero, como digo, ves clic derecho Borrar como ca. Lo borras así. Y ahora si tienes otro error, puedes verlo. Vamos a ejecutar la aplicación. Tengo el primer número. Yo no pongo nada. Haga clic aquí, digo, por favor número de interfer. Si pongo algún número, el error desaparecerá. Esta propiedad de error es realmente buena. Es para entrada de texto. Este texto de edición. Escribo 22. Se ha ido, el error se ha ido, y presioné más, tuve otro error. ¿Por qué? Porque está vacía. Yo escribo uno. Se ha ido. Presiono este patrón plus y tengo este 23 aquí. 22 más uno es igual a 23. 32. Día 4: menos: Menos. Solo usamos estos cuatro PLS. Ahora es sim cuatro menos. Desde aquí, encuentra V y ID. Vamos a copiar esto. Control C, er control. Ahora, tengo copia los códigos anteriores, exactamente los códigos anteriores. Lo primero que cambiamos PTN, no Pt n menos Ves esta parte, tienes el plus. No necesitas el plus, necesitas el menos. Es muy sencillo, es muy fácil. Comencemos la app, ejecutemos la app, minimicemos esto y escribamos siete menos tres y presionemos esto menos igual a 47 menos tres es igual a cuatro. Si presionas esto más es diez, pero si menos es igual a cuatro. Tan fácil como esto, escribes el código menos. Creo que se podría decir, ¿por qué no repetimos muchos de estos códigos, por ejemplo, Esta primera entrada editada y esta editada primera entrada, tenemos muchas de estas cosas. ¿Por qué repetimos repetir estos códigos? ¿Por qué las usamos muchas veces? Sí, claro, mejoramos nuestro código, pero en las lecciones futuras. Por ahora, simplemente copio este código, cambio este nombre y cambio este personaje y ver qué tan fácil puedes escribir código para el siguiente botón, te veo en los próximos videos, y creo que es suficiente para hoy. Sí, quizá. Te veo al día siguiente. 33. Día4: examen: Día cuatro, quiz. Pregunta número uno. ¿Cómo podemos crear una línea en Android? Puedes escribirla y luego responderla. ¿Cómo podemos crear una línea en Android? Pregunta número dos, ¿cuál es la diferencia entre margen y sumar? ¿Cuál es la diferencia entre margin y padding? Pregunta número tres. ¿Cuál es el uso de la siguiente característica? Herramientas de texto. ¿Cuál es el uso de la siguiente característica? Herramientas de texto. Pregunta número cuatro, ¿cuál es el uso de la función? ¿Cuál es el uso de la función? Eso es. Puedes anotarlo todo esto y luego Cuando respondas, revisa el primer video al día siguiente para compararlo con tus propias respuestas. 34. Día 5: Day4QuizAnswer: El cuatro son respuestas. Pregunta número uno, ¿cómo podemos crear una línea en Android con vista de campo y ancho o alto limitados? Como recuerdas, nosotros, por ejemplo, damos 23dp en ancho o alto, y podemos tener una línea Pregunta número dos, ¿cuál es la diferencia entre margin y padding? Relleno, para espacio interior, margen o espacio exterior. Necesitas espacio alrededor, por ejemplo, tu botón, usa margen. Necesitas un espacio para el interior. Necesitas usar acolchado. Pregunta número tres. Cuál es el uso de la siguiente característica, las herramientas prueban al PLA, el contenido solo al diseñador y no en la versión de salida. Por ejemplo, necesitamos ver si ponemos 20 dígitos uno al lado del otro, ¿cuánto espacio ocupa? Pero no queremos que 20 dígitos estén en nuestra salida o incluso en nuestro emulador, solo cuando estamos codificando y diseñando. En esos tiempos, utilizamos herramientas de texto. Pregunta número cuatro, ¿cuál es el uso de la función? Agrupar código con el mismo dios. Por ejemplo, escribo un montón de código para agregar. Escribo un montón de código para multiplicar. Escribo un montón de código para cualquier otra cosa. Yo uso función para agruparlos. Y como digo, cuando tienes programa de figura, por ejemplo, tienes miles de líneas de codificación. Entonces usas muchas funciones. Así podrás encontrar el grupo de código que necesitas para editar o corregir los errores o cualquier otra cosa. Y una cosa más, creo que digo, si no, lo digo ahora. Cuando usas un montón de código muchas veces es mejor usar la función. Por ejemplo, Imagina que necesitas guardar algo antes de cerrar la app. No escribes ese código de ahorro muchas veces. Escribes ese código una vez en una función con el nombre propio, y siempre que quieras salir de la aplicación y guardar algún estado o algo así. Usa esa función. Espero que disfrutes y aprendas todo esto. De no ser así, por favor revise el día cuatro. Si aprendes, bienvenido al día cinco. Aprendamos muchas otras cosas juntos. 35. Día 5: revisa lo que hemos aprendido hasta ahora y algunos consejos: Revisión y Tips. Vamos a repasar. Creamos una calculadora. Yo sólo quiero ver el diseño de esto y sí, así como esto. Esta es nuestra calculadora. Donde creamos nuestra calculadora y decimos que el layout contiene las cosas que ves en los recursos, en el layout. O. Esta actividad principal contiene las cosas que podemos ver. Me refiero a esta página o a esta vista. Yo debería decir. Llamamos a estas páginas actividad, y en la primera lección, creamos este proyecto desde cero bajo Catlin, bajo nuestro nombre de proyecto, proyectamos el nombre del paquete Creamos esta actividad principal. Para esta actividad principal, creamos un layout. Hablamos de las actividades que cada actividad tiene un layout. Esta parte tiene el código, esta parte tiene el diseño. Entendemos que este XML contiene nuestro layout y hablamos de cómo podemos ver el modo de diseño dividido y o simplemente código. Hablamos de diseño de restricciones, y también de diseño lineal. Eso parece una línea y. Ser los objetos dentro de la disposición lineal, Están orientados. Ellos arman, se muestran juntos como una línea vertical u horizontal. Después de eso, creamos estas dos cajas para entrada en textos, y estos botones. Hablamos de estos materiales y por qué nosotros los materiales. Decimos el propio Google, el propio Google introduce material. Porque los diseños de materiales conforman de alguna manera mejor. Como recuerdas, creamos estos botones y como queremos que se alineen juntos, creamos este layout lineal y lo hacemos horizontal. Y también hablamos del peso porque queremos que nuestro lado sea por peso. También creamos una línea por esta vista, creamos una línea. Simplemente damos este fondo y una altura para que podamos tener la línea en este lugar. Mencionamos que tenemos estos antecedentes para este punto de vista. Y también decimos que tenemos este trasfondo para todos los demás objetos. Al menos la mayoría de ellos. Por ejemplo, podemos simplemente copiar esto y pre inter pegar aquí. Ya ves. Ahora tenemos estos antecedentes para esta vista de texto así. Hay otras propiedades como este fondo, como el padding, como este set hate ID que son comunes entre mayoría de los objetos porque la mayoría de estos objetos tiene estas propiedades. Y como puedes entender cómo usas este ID, puedes usarlo en los otros objetos. Podemos llamarlos propiedades comunes o propiedades regulares. También creamos esta vista de texto y esta vista de texto porque queremos ver el resultado final. Tengo algunas reglas. Se lo recomiendo a la gente. Puse ID primero. Por ejemplo, ingenio y altura siguiente, y de abajo hacia arriba una especie de al final. Te recomiendo que escribas así. Es más fácil encontrar cosas. Hace muchas cosas más fáciles. Y hago esto de muchas otras maneras. Se puede ver ID primero y luego Witt y altura. cuando quiera encontrar la identificación. Siempre lo sé, primero pongo la identificación. Es de mucha ayuda. O la otra cosa, ya ves, tengo estos textos. Tengo este texto primero control. Tengo este texto. Veamos en la cadena principal. Ya ves que todos estos tiene este STR, SCR SCR. ¿Por qué? Porque es mi principio. Es mi regla. Es más fácil de saber, es una cuerda. Y es más fácil de encontrar cuando quiero buscar esto no tienes que hacerlo, pero estas reglas mejoran las cosas. Y también, tenemos este layout, como digo, tenemos estos valores, diamantes, y cadenas. Esta cadena es el idioma predeterminado, y también agregamos un idioma árabe. Puedes agregar cualquier otro idioma o puedes tener diferente idioma predeterminado. Lo ponemos inglés default. Nuestro idioma predeterminado, ponlo en inglés. Simplemente copio estas tres líneas, las pego en Gu translate y copio y pego los resultados dentro de estas tres líneas. ¿Por qué? Porque quiero traducir a los demás. Esto es árabe. No debería ser inglés. Vamos a cerrar esto, vamos a cerrar. Una nota externa, incluso puedes tener click para estos para esto o incluso estos. Todos estos pueden tener click. Pero como recuerdas, solo ponemos para estos botones. La mayoría de las veces lo usamos para los botones, pero puedes usarlo para las otras cosas. Como recordarás, para ese clic. Deberíamos definir ese botón, encontrarlo, y definir que k escuchar. Para encontrarlo, usamos find V Y ID y encontramos ese botón. Mi botón es botón de material. Debería definir cuál es mi objeto que voy a encontrar. ¿Dónde está esto? Presiono control. Haga clic en esto. Este es mi anuncio TN. Qué queremos hacer cuando presionamos este botón, queremos agregar esto con este código, ya puedes ver, nos enteramos de cada uno de ellos y los sumamos junto con este plus y los ponemos dentro de este resultado tit. Te recomiendo antes de empezar a escribir, antes de empezar a escribir, piensa en lo que quieres hacer. Por ejemplo, primero, decido que quiero agregar estas cosas, luego empiezo a codificar. Y platicamos, debemos encontrar cada uno de ellos, así que usamos find view by ID para cada uno de ellos. Primero entrada n, segundo, y también comprobamos, ¿están los vacíos? ¿El otro está vacío? Si no, vamos a ejecutar el código. También hablamos de este error. ¿Cómo podemos mostrar error? Es suficiente para la revisión. Comencemos a codificar y continuemos el curso. 36. Día 5: Gradle y encuadernación de vistas parte 1: Gradel y vista de encuadernación parte uno. Bienvenido de nuevo. Vamos al código. Actividad principal abierta. Verás que tenemos muchos vista fina por identificación. Para encontrar el objeto. Debería escribir todo esto. ¿No hay ninguna solución más fácil que nos ayude? Entonces no tengo que escribir esta vista fina, vista fina por ID cada vez e ir a buscar ese objeto. Hay una manera más fácil. Qué uso ver encuadernación. ¿Qué es la encuadernación de vistas? Vew binding te ayuda a no tener que escribir estas vistas finas por ID Si quiero decir que quiero hacer clic en este botón, no tengo que escribir un código A y es más fácil encontrar mi objeto. Primero, Gradle. Esta es la parte gradle. Este archivo, ¿lo ve? Este segundo archivo con este nombre. Ten cuidado. Hay el mismo nombre justo aquí arriba, no esa aplicación de módulo, no ese proyecto, aplicación de módulo. Vamos a abrirla. Haga doble clic. Abrimos esto. ¿Qué es este gradle Si quiero usar los temas y las bibliotecas, primero, debo definirlos aquí Por ejemplo, queremos usar view binding, primero. Pero primero, debemos definirlo, luego podemos usarlo. Dónde deberíamos hacer esto en la sección Android CDs Android. Ábrela. Bajemos ahí adentro, inter, inter. Escribamos B. Escribo solo algunos personajes de estas características de compilación, y me da todas las cosas que comienzan con build F. Pero solo ten cuidado. Si escribes, por ejemplo, O, ya no lo encuentras. Puedes usar android studio hell, pero no deberías escribir nada malo. Cuidado y abrir y cerrar. Tenemos vi vinculante, y es igual a lo que es cierto. Y porque queremos usarlo. Entonces, ¿qué pasa? ¿Qué es esta luz? Sincronizar ahora, ¿y? Porque cambiamos nuestro gradiente. Deberíamos hundir todo el proyecto. Entonces puedo presionar esto así, presionar esto y sincronizar ahora o en la parte superior, ves que dice sincronización ahora. Por qué han cambiado los archivos gradle. Entonces deberías syn, presiona, y espera. Bien, es terminar de nuevo a nuestro código. Bien, vamos en la cima justo aquí. Entonces, ¿qué debemos hacer? Definamos una variable. Podemos usar o. Nosotros usamos. ¿Cuál es la diferencia? Deberías saber. Si lo es, podemos darle múltiples valores diferentes, pero solo una vez le quita el valor. Por supuesto, si olvidaste estas cosas, deberías revisar videos anteriores. Entonces, ¿cuál es el nombre? Encuadernación. Encuadernación principal de actividad. ¿Es este un nombre o código importante? ¿Por qué es la actividad principal vinculante? Porque Mi ML es actividad principal. Entonces quiero que la actividad principal sea vinculante. Cualquiera que sea el nombre de esta cosa, mi encuadernación es con ese nombre. Por ejemplo, si se trata de actividad sobre debería escribir actividad sobre encuadernación. ¿Qué sigue? Inflador de diseño para inflar puntos. Bien. Tengo algún problema con esto en placa, y me da error. Entonces, ¿qué debes hacer? Hago esta solución sencilla que acabo de hacer. Primero, voy a este menú. Ir a construir. Prensa, proyecto limpio. Limpie el proyecto, presiónelo, espere hasta que esté terminado, y luego qué archivo viene hasta el final. En validar caches. Por qué toma alrededor pienso 30 minutos por lo menos para mí. Y tengo que buscar por algunas otras cosas y me confundí. Después de estos años de codificación. Incluso a mí. Así que ten cuidado. Revisa todas estas tres cosas. Si no te puede ayudar. Primera vez que invalidas y reinicias. Usted comprueba esto. Comprueba esto, comprueba esto. Borrar todo, invalidar y reiniciar. En la primera vez, porque olvidé que podría porque me olvidé. No puedes estar seguro. Podría porque me olvidé. Revisa estos tres. No estoy seguro de cuál de ellos hace el trabajo. E invalidar. De todos modos no funciona. Compruebo al fin, reviso todos estos tres. Y primero, antes que nada, reinicié mi sistema al final. Después de reafirmar, vuelvo a hacer todo esto. Primero, vine después de reafirmar, reconstruirme, perdón. Kyan Después de Kyan, ve. E invalidar. Y entonces creo que tal vez esto pueda ayudar a verificar estos tres. ¿Por qué? Porque claro todo. Incluso la caché del sistema de archivos. Borra todo e invalida y reinicia. Comprobar, verificar, invalidar reinicio, y luego acabo reconstruirlo Entonces vi esto ¿dónde está mi error? Se acabó. Ahora todo está bien. En fin, podría hacer esta parte uno un poco más corta porque al menos me tomo media hora para averiguar qué pasa. Por favor, tome nota de estos tres pasos. Es muy importante. A veces hasta profesionales, programadores, cometen estos errores Es un error realmente simple. ¿Ves? Repito una. Simple error. Tú y dices: Bien, yo invalido, y te olvidaste, revisa estos y te confundes porque el error no se ha ido ¿Qué debo hacer? ¿Qué debo hacer? No lo encuentro. En fin, continuemos. Espero esto, esta única cosa te ayude mucho porque me ayuda a mí y a muchas otras personas y a reiniciar. No estoy seguro tal vez reiniciar pueda ayudar. Si no puede ayudar, primero reinicia tu computadora, luego haz esto. Y recuerda, perdón, recuerda, deberías conectarte a Internet porque vuelve a tomar la biblioteca. Casi me olvido de decirte esto. Es importante. Ahora, ¿dónde estábamos? Activamos nuestra encuadernación, y si presiono control, ya ves, presiono control y hago clic. Voy a la actividad principal. Control de prensa. ¿Dónde está? Está aquí. Te voy a mostrar una cosa. Ves esta actividad principal. Si presiono control, haga clic, venga aquí de nuevo. Entonces es igual este igual este corto de cuento más largo. Esta es mi actividad principal. Esta es mi capa, pero es vinculante. Así creamos una variable que contiene esta actividad realizada. Establecer vista de contenido, establecer nuestra vista a este código de este recurso de diseño porque nuestra actividad contiene dos parte uno es este código cout y dos Esta capa, esta vista, lo que la gente puede ver Ahora, queremos unirlas, así que decimos set content view para este código. Por ejemplo, agreguemos layout new y layout resource file. Haga clic. ¿Cómo deberíamos llamarlo? Digamos Iniciar sesión, solo presione. Lo agregamos Simplemente agreguemos un botón, botón y a aquí y esto y esto y esto a aquí. Verás puedes hacer esto con el modo de diseño. Usted ve aquí, diseñar código dividido. Es diseño. Simplemente abre este botón común, arrastra y suelta el botón y así conecta los puntos a las esquinas. Y escribimos código, porque es mejor porque es más específico y eso lo prefiero. Pero después del curso, depende de ti, puedes usar esto. Prefiero escribir esos códigos. A lo mejor en el futuro en el curso, yo hago el modo de diseño para que veas más de esto y puedas decidirlos. Veamos la división. ¿Qué tenemos? Todos estos códigos. Ahora, si quiero establecer la vista de contenido, por ejemplo, iniciar sesión, puedo dar inicio de sesión a esto y presionar control y hacer clic para ir a iniciar sesión. ¿Por qué? ¿Porque es tala? No hay diferencia. Podemos comentar esto. ¿Recuerdas comentario? ¿Qué es comentario? Cuando comento un código, no lo consideramos como código activo. Nosotros solo lo escribimos para nosotros mismos. A Andre D Sudo no le importa qué escribas en ese código. Puedes escribir lo que quieras. Incluso escribe estrellas, cáscaras, todas las cosas que quieras, o escribe Por ejemplo, puedes escribir esta línea haz eso. Como digo, Andre D Sudio no ejecuta los comentarios. Ignorarlos, como todos los demás lenguajes de programación. Así que vamos a correr a ver qué tenemos. Yo ejecuto la app. Me da error. Por supuesto, ¿por qué? ¿Qué acaba de pasar? Ya ves. Quieres ejecutar códigos y encontrar V Y ID que no tengas en ese inicio de sesión. De todas formas, cuento largo comentario corto, y corriendo de nuevo. Esto es lo que tenemos. Este botón, y esta es la página de inicio de sesión. Detener la aplicación. Hago todo esto para mostrarte ¿ qué hace esta vista de contenido de conjunto? Establece nuestra vista de diseño. En vez de esto, muéstrame esto y a Ling un cuento corto, esto es lo que quiero ver. Continuemos con esto en el siguiente video, así que no tenemos videos muy, muy largos. 37. Día 5: Gradle y encuadernación de vistas, parte 2: Gradial y vista vinculante parte dos. ¿Dónde estábamos? Hablamos de set content view y ¿qué hace? Vamos a borrarlo. Presiono eliminar en mi teclado. Hago clic. Ahora dice, no tengo ningún inicio de sesión. Cambio esto a actividad principal. Ahora vamos a eliminar este comentario, y queremos que esta vista de contenido, tome los valores de este enlace que contiene nuestra actividad principal. ¿Recuerdas actividad principal vinculante? Vinculamos nuestra actividad principal. Lo primero es que cortamos este control x e inter control V, y? Porque queremos usar esto dentro de esto. Ahora, decimos, definimos este control C y dentro de este control V. Se establece la vista de contenido desde ese enlace Debes escribir declaración de tu variable antes del lugar donde quieras usarla. Ahora, escribimos eso. Verás, si no abre esta ayuda. Puedes, por ejemplo, si hago clic en otro lugar y volví aquí, no me da esa cosa de ayuda. Simplemente presiono espacio de control para abrir esto o simplemente escribir cualquier carta para lo que quiero, por ejemplo, escribo R Y, porque quiero root. Ahora, en lugar de hacer todas estas cosas, simplemente puedo escribir algo así como atar. Encuadernación interior PT N. ¿Recuerdas por qué escribimos PT N antes de botones? Ahora tengo mis cuatro botones. Si escribo otras cosas, por ejemplo, solo agrega, no las puedo encontrar tan fácilmente. Escribo PTN antes de los nombres de los botones. Ahora, quiero encontrar todos mis botones. Simplemente escribo PTN. Tengo la lista de mi botón. Las reglas, la estructura del naming que te dije, Hay una razón muy fuerte para usar estas reglas Es muy importante. Puedes tener tu propia regla, pero debes usar la regla todo el tiempo cada vez. Escribo PTN. Entonces quiero mi botón. PTN. ¿Dónde están mis botones? Tienes estos cuatro botones. Y quiero mi anuncio PTN. Yo sólo voy abajo, abajo, abajo inter. Anuncio PTN Dentro de ese anuncio PTN, ¿qué quiero? Quiero poner en oyente. Es más fácil entonces encontrar vista por ID y otra cosa. De acuerdo, y escribo mi código aquí dentro. Lo escribimos en lugar de todo este código, simplemente escribimos binding y esto es un anuncio PTN, en lugar de todos estos códigos, vinculante Y claro, después de eso, se puso en oyente. Podrías decir, por qué no te mostré esto en la primera, por qué me molesto para mostrarte este tipo de código. ¿Por qué no solo escribimos el código corto en su lugar? Porque debes entender todo el camino que puedes hacer las cosas y puedes decidir en cierta situación, cuál es mejor. Deberías aprender. Esto es fundamental. Esto es básico. Deberías aprender estas cosas con mucho, mucho cuidado. Por eso, cuento todo lo específico y con muy detalles y ejemplos. Así que por favor aprenda estas cosas con mucho cuidado y muy bien. Déjame darte otro ejemplo. Próxima línea, tienes. Encuentra vista lo muevo aquí. Bien. Buscar vista por ID. Entrada de texto, editar texto y otras cosas. Todas estas cosas, quiero mi primer valor Edit. ¿Recuerdas Editar primer valor Editar primer valor? El ID. Es el nombre de ese objeto. Quiero este DT primer valor. ¿Qué debo hacer? ¿En vez de todos estos? Déjame mostrarte atar D, D. Esto es muy bueno. E. ¿Por qué deberíamos escribir DT? Podemos usar cualquier cosa, pero si escribimos D t al inicio de nuestro texto de edición, simplemente los encontramos. Este es nuestro dos editar texto, y simplemente inter Este código es igual a esto. Todo esto se convirtió en esto simple, fácilmente. Como digo, deberías aprender ambos caminos. Con mucho cuidado porque esto es financiar el método, muy, muy importante. Antes de que me olvidara, debo eliminar este comentario también. Este es mi método. Esta es mi función. Bien. Escribamos encuadernación y sustituyamos todas estas cosas. Vamos. Binding Bind D. ¿Qué acaba de pasar? Dije, no conozco ninguna encuadernación. ¿Dónde está vinculante? No sabemos vinculantes. ¿Sabes lo que acaba de pasar? Declaramos nuestra vinculación. Esta es nuestra encuadernación, y el uso nuestra encuadernación, pero con el mismo nombre, ves Control C. Exactamente, acabo de copiar eso. Control V, pega eso, pero no puedo usarlo aquí. La U dice que tengo la variable, el nombre vinculante. Puedes usar la encuadernación, no antes de eso. ¿Te acuerdas? Acabo de decir si declaras esto vinculante, puedes usar antes de esa declaración. Por eso, movemos esta línea de código de aquí abajo a arriba y porque solo queremos usarla junto a ella. Por favor, por favor, preste atención, aprenda muy bien estas cosas. Estos son muy importantes. Todos estos son conceptos básicos fundamentales. Deberías conocer todas estas cosas. Voy a repetir esto. ¿Qué es esto? Val, val o Va, declaramos nuestra variable con esto. Después de eso, el nombre, decimos el nombre de esta variable de valor, lo siento, variable. El nombre de esta variable es vinculante. Entonces después de eso, podemos usar esta encuadernación, e incluso la cosa dentro de esa encuadernación con esa. Y luego después de eso, podemos decir De nuevo, queremos usar esa encuadernación. E incluso si abrimos otro ámbito en esa área, permítame decir solo área. Dentro de la nueva área de aquí, podemos usar esa encuadernación. Pero por encima de eso. Por ejemplo, aquí dentro, no puedo usar esa encuadernación. ver, si lo pego vinculante aquí, simplemente no declaramos eso. Simplemente no presentamos eso. Entonces nadie sabe qué es esto. Deberíamos primero S, cuál es nuestra vinculación. Bien. Así como así, Usted ve el abierto aquí. Justo aquí, sí, justo aquí y ves esta línea hasta abajo. Nosotros ellos aquí. Abrir ellos. Esta zona. Decimos que nuestro atamiento es existir, pero solo esta zona, solo en esta zona y y después decimos val vinculante en esta zona y después de esta val vinculante, no antes. Cuando cerramos el área, ya no podemos usar esa encuadernación. Déjame darte un ejemplo más déjame decir o esta vez, R H es igual a 22, y digo, declaro mi variable, quiero usar aquí. ¿Puedo hacer eso? No, primero, Esto está dentro de esto y segundo, lo uso antes de declararlo. Pero si digo, esta variable de aquí, está bien. Y otra vez, si mi edad va fuera de la zona, no hay ge aquí dentro. Nadie sabe dónde está el borde porque lo declaramos aquí dentro. Entonces para cerrar esto. Tenemos una función y podemos usar las cosas que declaramos dentro de esa función, solo dentro de esa función y las funciones que están dentro de esa función, no fuera. Antes de que me olvidara, digo declaramos función con f. Esta es la palabra clave. Limpiemos esto y también esto. Déjame arreglar este problema en el siguiente video. Entonces nuestro video no se hizo muy grande. 38. Día 5: Gradle y encuadernación de vistas, parte 3: Gradial y ver encuadernación parte tres. Queremos solucionar nuestro problema. Deberíamos usar nuestra variable globalmente. La variable global es una variable con alcance global. Quiero decir que es visible a lo largo del programa. Tiene muchos niveles y solo queremos ver esta variable aproximada las funciones que necesitamos. Déjame mostrarte. Como digo, si declaramos una variable en este lugar, podemos acceder a ella en esta zona y porque la declaramos en este lugar, podemos acceder a ella en esta zona. Entonces vamos aquí arriba, presionamos en inter inter aquí, bien, w qué al control vinculante C control V. ¿ Entonces qué? Entonces el tipo. ¿Qué es este tipo de variables? El tipo es su actividad principal de unión. Me da error porque no le dimos ningún valor a esta variable, y dice que deberías darle algún valor. Arreglamos esto así que marca es igual a nulo. Yo solo dije que no tenías que darle ningún valor a esta variable. Sólo déjalo. Sé que es la regla. Debo dar este tipo de valor variable. Pero por ahora, solo déjalo. Por eso, le doy nulo. Nulo no significa nada. No es igual a cero. No es un cero. No es nada absolutamente nada. Está vacío, no un cero. U, no es igual a cero. Por qué hicimos esto porque queremos darle este valor, pero por dentro y crear cuando creamos nuestra clase, queremos darle a esta unión nuestro valor. Déjame mostrarte, si quiero hacer esto, simplemente puedo controlar C y darle este valor Está bien. Pero no lo quiero así. Se. Está bien. Ya ves. Yo no quiero ser nada y después quiero darle el valor así. En el tl, es la regla. Queremos tener una variable global. La variable global debe tener un valor. Es la regla en el gato. Este lenguaje tiene esta raíz. Pero como no queremos, deberíamos hacer este truco para dejarlo pasar por ahora. ¿Qué? Recuerda, debes darle valor a esta cosa. Supongo que me preguntas, le das esta variable. Eso lo veo. ¿Qué es esto? ¿Por qué pones un signo de interrogación aquí? Verás debes decir que mi variable puede ser nula o no. Por defecto, no puede. Pero agregamos este signo de interrogación. Ves si elimino esto y le doy esta variable y nula. Me da error. Pero si añado esto y digo, puede ser nulo. Está bien. No tengo ningún error. Déjame darte otro ejemplo. Porque queremos hacer este primer proyecto y fundamentos básicos lo mejor que podamos Vamos. V, qué, dale nombre. Este es un nombre. Nombra qué. Por ejemplo, debe ser una cadena. Yo sólo digo, digo que es un anillo y digo que es igual a nulo. Pero tengo un problema. Te acordaste, debes escribir estas cosas con mayúscula o ser. Sotlin distingue entre mayúsculas y minúsculas. Entonces debes escribir S. mayúscula Si escribes una S pequeña, no es una cadena. Sólo recuerda. En fin, ¿qué dice? Nulo puede ser un valor de una cadena de tipo no nulo. H. ¿Qué debemos hacer? Decimos este nombre F nombre nombre puede ser nu. Está bien. Si no lo decimos, es fuerte. Pero si decimos que está bien. Bien, vamos a limpiar esto y darle espacio, y propina extra. ¿Recuerdas que decimos que puedes saltarte el tipo de valor? No tienes que decir, ¿qué valoran estas cosas tipo? Te acuerdas Pero por si acaso, le das el valor a esa variable. El corte puede decidir cuál es este tipo de cosas. Por ejemplo, si digo, F nombre es igual a, incluso una cadena vacía o simplemente espacio o unos pocos caracteres o cualquier otra cosa Está bien. Pero cuando queremos darle nulo. No, no está bien. Deberíamos decir lo que hay en estas cosas en el futuro. Incluso si damos número a estas cosas, reconoció que es un número. Pero cuando queremos darle nulo, puede reconocerlo. cotin es realmente bueno porque puede reconocer qué tipo de variable es esta Pero sólo cuando le das algo a esta variable. Elimino esto y ejemplo extra, como pueden ver, tenemos este enlace, y no tuvimos que decir qué tipo de variable es esta porque enseguida le damos valor a esta cosa. Dice, sí, es actividad principal vinculante. Larga historia corta, cuando damos null, debemos definir qué es esto porque no puede decidir qué es nulo. Entonces porque lo definimos aquí, no necesitamos esta val. Y como decimos val, podemos darle a esta variable de valor otro valor. Y? Porque usamos val. ¿Recuerdas la diferencia entre val o V y V, toma un valor. V se puede reescribir muchas veces. Entonces para arreglar esto, cambia esta va a va. Seguimos esto en el siguiente video. 39. Día 5: clasificación y unión de vistas parte 4: Gradial y ver encuadernación parte cuatro. Bienvenido de nuevo. Tenemos algunos errores, línea roja para ese error. Se puede ver la descripción de ese error. ¿Qué dice? ¿Yo digo? La variable que hayas definido puede ser nula. No es nulo. No es definitivamente nulo, pero puede ser nulo. Porque nulo no es nada. Esta parte decía, no acepto nada. Deberías hacer algo al respecto. No me puedes mandar algo que pueda ser nada o como digo, nulo. ¿Qué debemos hacer? Acabo de llegar aquí después de esa encuadernación, puse uno y dos de este letrero. Si presionas mayúsculas y presionas el número uno en tu teclado, tienes el letrero. Dos de estos acabo de escribir y el error se ha ido. ¿Qué dice? Dice, déjalo ir, o simplemente dices ese error, está bien. Seguro que no es nulo. ¿Por qué hago esto? Porque estoy seguro que doy algunos datos. Ya no es nulo. Entonces puedo decir, déjalo ir. Oh, solo ponemos dos signo de exclamación. Creo que y la pronunciación es incorrecta. Qué signo de exclamación como recuerdo, y el error se Por favor, perdóname por mi bajo inglés. Tenemos dos más de estos. ¿Qué es esto? Son solo mis ejemplos. Entonces me quito esto y todo está bien. Vamos a continuar. Ahora, ¿ recuerdas que acabamos de usar esta Y? Porque es pelota de sallow. No termina aquí. Qué puedo hacer con esta variable scallo ball, seleccionar todo esto Yo solo digo atar cosa ahí dentro. T t n. tengo mis cuatro botones. Tn agregar que el que quiero. Al igual que antes de que diga, puede ser nulo. Su vinculación puede ser nula. Yo digo, estoy seguro que no es nulo. Déjalo ir. ¿Por qué no es nulo? Porque acabo de decir que tiene un valor. Doy el valor aquí. Sólo para que lo sepas, tu programa va de a abajo. ¿Qué significa? Esta línea está corriendo, después de eso esta línea está corriendo, después de eso esta línea está corriendo. Después de eso esta línea está corriendo, eso decimos, tenemos el valor. Entonces antes de esta línea, nuestra función, le damos el valor. Entonces no lo es. Siempre es de arriba a abajo hasta la línea de fondo 21, después de eso, línea 22, después de eso 23 24. Está bien. Porque queremos aprender muy bien, déjame mostrarte otra manera. Podemos usar Este signo de interrogación y aquí, interrogación, también está bien. ¿Cuál es la diferencia? De una manera y de segunda manera. Tenemos dos formas. ¿Cuál es la diferencia? Si le damos signo de interrogación, si es nulo, no te da error y solo olvídalo y déjalo. Simplemente ignórelo. Sí, etcétera. Simplemente ignore este conjunto de códigos. Entonces, cuando decimos este signo de interrogación. Después de la variable, eso puede ser nulo. ¿Dónde está? Eso puede ser nulo. Entonces quiero decir, si no es nulo, haz el trabajo, ejecuta el código, pero si es nulo, olvídalo. Así que no ignore ningún error. Entonces recuerdas, si escribes esto, tienes error si es nulo. Pero si así, simplemente te olvidas de ello y lo ignoras. El programa lo ignora si es nulo, no hay error. Te da error y detiene el programa, pero no te da error y simplemente ignora el código. Todo el código desde aquí hasta allá abajo. Ignorar todo el asunto. Una cosa es buena de aprender de un programador que redactó otros programas Te puedo dar consejos. Te digo, es mejor algo así. Te digo, es mejor. Utiliza este signo de interrogación. Muchas veces, uso este signo de interrogación en lugar de este Y. Así que durante eso si mis programas se ejecutan, mi programa no se bloquea. Y ya ves el punto. Yo no lo escribo aquí, está bien. Dices si vinculante es nulo. Olvídate de ello. Pero BTN también puede ser nulo. Entonces digo: Bien, si no es nulo, continúe. Por eso, tengo dos signos de interrogación, uno para esa parte, otro para esta parte. Podrías preguntar, Bien, ¿por qué no escribí este signo de interrogación aquí? Ya ves que está bien. Déjame quitarlo. Bien. Tiene error. Ahora, está bien. ¿Por qué? Porque quiero que veas la manera diferente de hacer las cosas. Es muy importante. Tu aprendizaje es muy importante. Y desde mi experiencia, sólo utilizo este tipo de ignorancia. Cuando acabo de dar el valor. Puedes hacerlo de todas formas en cualquier lugar en cualquier momento, pero solo uso este tipo de que está bien. Entonces yo justo en la línea uno o dos antes de dar el valor. Estoy seguro de que esto no es un no. Pero las otras veces en otros lugares siempre uso signo de interrogación. Esta es mi experiencia. Una última cosa. ¿Por qué tengo tanta repetición en esto porque claro, ustedes tienen, déjame ver, 66 líneas de código. Muchos de ellos están justo ahí, tal vez 50 líneas de código. Es realmente un proyecto pequeño que hicimos, así podemos enseñarte mejor. Pero imagina solo imagina en vez de 66 líneas, tienes un gran proyecto en el futuro con 66 mil de líneas Te gusta o no. Se pueden tener muchos de estos problemas. Este tipo de reglas para tu propio bien. Estos son realmente importantes. Imagina que ese tipo de proyecto tiene error y todo sale mal. Apégate a estas importantes reglas. Espero que estés bien. Sigamos y tengamos muchos vinculantes como este. Yo solo minimizo esto para tener una mejor vista. Ahora, aquí vinculante, y el signo de interrogación ptn menos y otro signo de interrogación Así como eso, ya ves, es simple, simple y similar. Ahora, aquí tengo esto. Déjame comentado. Para que puedas ver punto vinculante, solo para que no te pierdas y confundas con ¿qué debo escribir E t primer valor. D primer valor, D primer valor, y por supuesto, nuestra marca que. F editar segunda marca de enlace punto ED, segundo valor. Y ni siquiera tenemos que ponerlo en línea separada. Solo tienes que ir aquí y presionar o seleccionar y eliminar. ¿Por qué? Porque es un código mucho más pequeño y no tenemos que alinear. Verá, repetimos continuamente la encuadernación de encuadernación. Encuadernación aquí, encuadernación aquí. O incluso aquí, deberíamos escribir vinculante. ¿No hay una mejor manera? Por favor, recuerden todas estas cosas. Pero ten en cuenta, ¿no hay una mejor manera? Deberías aprender todo esto. Pero a partir de aquí, tenemos esta pregunta. Entonces, ¿qué puedo hacer? Entonces no tengo que escribir estas tantas fijaciones y signos de interrogación y muchas cosas Hazlo más fácil. Vamos a subir aquí. Ahora, aquí dentro, presiono tap tap. Si presionas un espacio, vas tanto, pero si solo estás aquí, por ejemplo, y presionas tabulador, saltas a la siguiente sección. En la siguiente sección, ¿qué hago? Yo escribo. Encontrar. ¿Qué sigue? Signo de interrogación. ¿Qué sigue? Punto. Esta es una buena. Aplicar. ¿Qué acaba de pasar? Escribimos esta app. Este es un gran código de corte de Android C. Este es un gran código que Android studio en Catlin nos proporciona Vamos solo de aquí a todos hacia abajo. Controla x, vuelve aquí, controla y acelera. Me ayuda que pueda quitar todas las fijaciones, como esta Sólo mira. Este es el signo de interrogación vinculante vinculante y eliminación de puntos. interrogación vinculante eliminar punto de signo de interrogación vinculante. Permítanme comentar esto y controlar C y aquí el control. Porque quiero que tengas los ejemplos. También puedes hacer esto en tu código porque me gustaría que conocieras todas las diferentes formas. Sigamos aquí eliminar. Como veis, no tenemos que escribir Este signo de interrogación, y es amarillo, y, porque yo solo digo que este enlace no es nulo, ejecuta este código. ¿Qué es este código? ¿Todos estos códigos? No tengo que volver a comprobarlo con este signo de interrogación. Yo lo quito, está bien. Si lo quito, está bien. Aquí no hay más signos de interrogación, si es nulo, no se ejecutará ninguno de este código. Sólo tengo que escribir una pregunta, Mark. Espero que entiendas todo esto. Si no, por favor. Después de que este video esté terminado, repasa este video. Estos son consejos realmente importantes. Y si no lo escribo aquí, todos estos son de rango. Tengo que ejecutarlo. Ahora, continuemos. Tenemos este resultado de texto. Simplemente haga doble clic y controle. Quiero reemplazarlo. Seleccione todos estos y controle. Así como así. ¿ Ves el segundo camino? Simplemente hago doble clic en Control C, selecciono todos estos. Control. Haga doble clic en el control C, seleccione todos estos, controle y elimine y espacie porque ya no tenemos que alinear. Es realmente más pequeño. Ya ves lo corto que se hizo cuanto mejor se hizo más pequeño, se hizo. Ahora, aquí abajo, doble Control C y por supuesto, control. Déjame hacerlo aún mejor. Tenemos este valor Difers. Sí. ¿Y si comentamos esto y comentamos esto? Primer valor, control C, primera entrada, primera entrada y primera entrada y segundo valor. Tenemos segundo valor, segundo valor, segundo valor? Ya no necesitamos esto. Sólo podemos eliminarlos. Y nuevamente, el primer valor aquí adentro aquí, aquí dentro. Es realmente más pequeño. Yo sólo puedo copiar este control, x y bajar aquí en control. Tienes el código aquí, así que mi código no es realmente grande. Lo cierro de nuevo, ordeno mi código incluso puedo copiar estos controles X y ponerlo aquí y no darle el valor mi resultado. Pero lo guardo de esta manera. ¿Por qué? Porque creo que es más legible. Es más fácil de entender. Pero está bien si solo controlo, esto y lo pongo aquí. Así. Déjame mostrarte, déjame mostrarte Control C, y t xt resultado tx es igual. Deberíamos abrir así y encordar. Está bien. Lo que prefiero este. Primero, le doy el resultado a esa variable de valor y después de eso, el valor en la variable, lo pongo en las tomas el resultado. Es más fácil de entender mejor. Continuemos con esto en el siguiente video. Gracias. 40. Día 5: codificación de los otros buttons: Codificando los otros botones. Bien, ¿dónde estábamos? Agreguemos los otros dos botones. Copia todo el código. Como ve, inter y control V. ¿Cómo llama? P t n, multiplicar, ¿ qué más ves este menos aquí? Lo cambiamos a la estrella o multiplicamos. Podemos seleccionarlo y copiarlo o podemos usar el código. Ya copiamos. Inter Control V, ritmo otro menos. ¿Qué es esto? P n. Tenemos cuatro btn, btn, d, y ¿cuál debería ser? División, cambiamos. Esta parte y esta parte. También tenemos división. Ejecutemos nuestra aplicación. Presionamos esto entre botón, ejecutamos la app. Nosotros esperamos. Nuestra aplicación acaba de lanzarse, tardó 6 segundos. Ocultar esto Porque es una app pequeña. Apenas tardó 6 segundos. Tal vez las aplicaciones más grandes tardan 20 o 30 segundos. Bien. Vamos a tratar de ver qué tenemos. Si pongo siete y pongo dos, los agrego, ¿qué tengo? Siete más dos equivale a 97 menos dos, equivale a cinco, siete dividido a dos es igual a tres. 3.5 pero como tenemos entero, no tenemos la mitad. Entonces 3.5 es tres. Creo que en el futuro, también lo arreglamos. En fin, y multiplicar siete multiplicar dos, siete, siete es igual a 14. Todos nuestros cuatro botones son buenos y finos. Bien, no tengo el siete. Digo más. Por favor, entre primer número, menos entre primer número división número primer número. O si digo dos y digo multiplicar dos por dos dos es igual a cuatro. Pero si me quito este dos y digo multiplicar, por favor en primer número. Pongo cuatro dentro de esto y me quito esta. Vuelva a comprobarlo, división , segundo número, uno, división, cuatro menos equivale a tres I, tres, Pero si no tengo este menos, por favor en el segundo número. Funcionó muy bien. Es bueno. Ha funcionado bien. Paramos nuestro proyecto, y en el siguiente video, lo hacemos aún mejor. Sólo recuerda. Nuestro propósito no es hacer esta calculadora. Simplemente hacemos esta calculadora para mostrarte los fundamentos básicos, así que aprenderla muy bien 41. Día 5: retorno de valores de funciones: Devolver valores de funciones. Sigamos. Tenemos este anuncio PTN, y tenemos esta parte Así que comprueba si hay entrada vacía o no. Si copiamos esto y presionamos control F y lo pegamos, solo está pegado para mí porque solo lo copio En fin, vamos a comprobarlo. Tenemos justo el código exacto aquí. Tenemos justo el código exacto aquí. Tenemos justo el código exacto aquí. ¿Qué acaba de pasar? Tengo uno, dos, tres, cuatro del mismo código. Es realmente malo ¿por qué? Como dije antes, imagínese, solo imagínese que tiene 92 líneas de código aquí. Pero y si tengo 10 mil, 50 mil o incluso 100 mil líneas de código. Y entonces, si solo repetimos el mismo código, no cuatro veces 100 veces. Por ejemplo, si imaginamos estas ocho líneas de código, cinco líneas de códigos, es una línea de 5 mil, 5 mil líneas de código, si vamos a repetir esas 5 mil líneas de códigos. Diez veces tenemos 50,000 líneas de códigos. Son 45 mil líneas de códigos sin motivo alguno. Y si queremos cambiar las cosas dentro de ese código, tenemos que editar aquí adentro, aquí dentro. ¿Hay una mejor manera? Entonces cambiamos el código en un solo lugar, y no tenemos que cambiarlo. Aunque utilice 100 lugares, vamos a cada uno de ellos y esas cosas exactas en 100 lugares. Y si olvidé uno o dos de esos 100 lugares, tengo error. Entonces no deberíamos. No debemos repetir el mismo código. Vamos a usar la función. ¿Qué es la función? Es una función. ¿Qué hace una función? La función es un montón de código con el mismo propósito. Por ejemplo, esta función con este nombre, con esta diversión para introducir nuestra función, El trabajo de esta función es sentarse en hacer clic Listener Por eso, digo en ella oyentes. Entonces, ¿sé qué hace esta función? Puedes poner cualquier nombre, pero debes darle un nombre a la función. Que puedas entender ¿qué hace esta función? Porque cuando tienes más funciones, podrías confundirte. Nombrarlos cuidadosamente. Esto es realmente importante. Sigamos. Bajemos aquí. ¿Dónde se abre esta función aquí y continuemos con esta línea esta línea, esta línea, esta línea, esta línea Aquí termina. Ves eso por allá. Ya ves eso. Permítame nuevamente dar click aquí aquí. Ves esa diversión ahí arriba que aparece. Dice, Esta parte de cierre, es para esa función. Entonces porque no quiero iniciar una función en otra función. Presiono inter para hacerlo por separado. Es otra función. ¿Qué debo escribir? Función. Función, ¿qué? ¿Qué queremos hacer? No puedo darle ningún nombre a esto. Y así como así. Aquí, esta es mi función. ¿Qué colorea? ¿Por qué esta función debería colores grises? Porque nunca lo usas. Por eso, se ve así. Si lo usas en cualquier lugar, incluso una vez, está bien. Por ejemplo, ya ves, solo copio esto, lo pego aquí, y está bien. Elimino esto. Sigamos. Pero queremos probar de otra manera. Creamos una función así. Queremos hacerlo de otra manera. Entonces me quito esto. Vamos a subir aquí arriba. Antes de esto presione tab a la siguiente línea, tab a la siguiente línea, tab a la siguiente línea, tab aquí. Déjame comprobarlo otra vez. ¿Qué hacen estos códigos? ¿Ellos revisan? ¿Está vacía? Vamos a llamarlo no. ¿Ves un valor pequeño y mayúscula n t y, B va a comprobar esto va a comprobar. ¿Es valor vacío o no? Valor Y, entradas. Pones no es entradas vacías. Así que abre, cierra. Simplemente presiona shift y número nueve y cero. ¿Qué dice? Se dice, se llama a la función no es entrada vacía. No conozco ninguna. Es correcto, porque no estamos definidos ninguno, no son entradas vacías. Simplemente creamos una función, pero borramos esa función porque queremos ver. ¿Hay otra manera? Sí, la hay. ¿Qué queremos hacer aquí? Tenemos este bub ligero. Si pulsamos sobre él, tenemos crear función, no está vacía entradas. Y si damos click en aquí, sobre esto y pulsamos inter. Presione Alt e inter. Si presionamos Alt e inter, estas cosas se abren. Déjame intentarlo de nuevo, Alt e inter. Estas cosas se abren o la bombilla. Como puede ver, bajo esos derechos. Haga clic o presione todo más inter. Cuando estas cosas se abren, simplemente hago clic en esto y crea para mí. La función no es entradas vacías, fácil, e incluso la escribe para que haga por mí porque debería escribir algunos códigos en su interior. Esto es privado, por lo que no se puede acceder a esta función desde otras clases. Esta es la función. Entonces puedes llamarlo dentro de esta clase muchas veces, incluso cientos de veces. Está bien. Este es su nombre, y continuemos. Te cuento de esta parte más tarde. Bien. Acabo de quitar esta parte porque solo quiero comenzar a codificar. Así que vamos arriba, arriba, arriba. Nosotros tenemos estos. Apenas control C, solo copio estos o control x, ¿por qué no? Baje, abajo, abajo, pegue aquí. No tenemos nuestro atascamiento. Entremos aquí, presione inter y escriba interrogación vinculante si aplica, y todo esto va el control. Aquí, el control inter. Cerremos esto de nuevo para estar seguros de que va bien. Se. Como sabéis, acabamos de terminar nuestro proyecto. Nuestro proyecto funciona bien. Pero no pretendemos simplemente crear una calculadora. Queremos aprender otras cosas. Por eso, sigo codificando otras cosas para mejorar nuestro código. Lo que hago, compruebo si está vacío, pongo algunos errores si está vacío, pongo algún error. Ahora, vamos a subir aquí. Yo solo controlo X y digo si turno y nueve control V, No es entrada vacía. Si no es entrada vacía. Reviso mi función para ver que está vacía o no. Pero tenemos un problema. ¿Qué? No es verdad, no es falso. Si funciona solo verdadero todo falso. Entonces dentro de esto si debo tener una condición. No tengo ninguna condición, así que tenemos un problema. Tenemos esta bombilla. Yo lo presiono. ¿Qué dice? Cambiar el tipo de retorno la función de llamada a Boulan así Esto quiere hacer mi función, esta función. Como Boulan esta función devuelve blean, true o false. Entonces subamos y digamos: Bien, estoy de acuerdo. Hagámoslo Blean. El error se ha ido. Ve aquí abajo. Es Boulan Esta es la diferencia. Aunque mi función devuelve Blean ahora. Esta función hace algo y devuelve el resultado. Tengo un error aquí. ¿Qué dice? Necesitamos un retorno y porque debe devolver verdadero o falso. Fulan puede tener dos valores verdadero o falso. Doy click aquí y digo T, T, devuelvo Falso. Si llegamos aquí, devolvemos falso. Nuestro error se ha ido. Pero no deberíamos llegar de arriba aquí abajo. ¿Por qué? Porque si ahí está mi e, llego aquí después de lo contrario, debería regresar a través Justo aquí, debería volver verdad. Yo digo que todo está bien. Entonces me voy a bajar. Yo digo otra cosa, devuelve T, no está vacío, no está vacío, así que vuelve verdad. Cualquier otra cosa, devuelve falso. Entonces subo y digo, si estas cosas son ciertas, haz el trabajo. Elimino este s, si es cierto, hago este trabajo y lo cierro de nuevo. Yo lo ordeno. Si esto es cierto, Calcular. Hago esto con esta función. Acabo de copiar esto. Control C, baje, seleccione todos estos. Prisa. Si es cierto, hazlo otra vez, y eso, y otra vez. Control. Tengo cero resultados. Y Be Yo sustituyo todos estos. Cerrar d. Tengo uno, dos, tres y cuatro llamando a esa función. Yo llamo a esa función cuatro veces. En lugar de repetir este código cuatro veces, lo escribo una vez y lo llamo cuatro veces. Ejecutemos nuestra aplicación para ver qué tenemos? Hasta aquí, solo quiero ver si todo está bien. Presiona este botón de ejecución. Como ya ejecuto la app, solo ejecuto mi app en menos de un segundo. Entonces solo presiono plus, por favor inter primer número. Oh, funciona. Uno. Si presiono menos, por favor entre segundo número, uno menos cero, cinco menos uno es igual a cuatro, ¿qué pasa con la división? Cinco. ¿Y si aclaro este cinco, multiplica? Por favor en primer número. Siete, multiplicar cuatro, multiplicar 28, simplemente fors bien , para arriba, minimizarlo, y ya ves Hacemos esto todo con esta función, no tenemos que escribirla cuatro veces Entonces tenemos un montón de código que hacen algo único. ¿Qué es esta cosa única? No es entrada vacía. Mocking no es entradas vacías. Si devolvemos medias verdaderas, ¿no son entradas vacías? Decimos verdad significa que sí. Si decimos falso, significa no. ¿Recuerdas si presionamos control y quiero ver cuál es mi primer valor de Dty Haga clic. Nuevamente, presione control y haga clic para ver ¿qué es esto? Haga clic. Este es el primer valor de Edity, el primer texto de edición, y devolvemos valor ¿Por qué? Porque queremos regresar, ¿qué acaba de pasar? Cuál es el resultado y es bulion. Entonces es cierto o falso. Ni un número, ni una cadena, verdadero o falso. Recuerdas, si esto es cierto, no vamos a Eels, saltamos ¿Qué hacemos? ¿Qué pasa si saltamos? Va aquí abajo. Se escapa a todos estos. Entonces esto más no va a correr, así que vamos tras él. ¿Qué tiene? Falso. Por ejemplo, si esto es cierto, no tenemos esto, falso. Si es verdad, no tenemos esta falsa. Pero si podemos ir al otro, volver verdad. Si devolvemos algo, no vamos tras Si volvemos aquí, no vamos tras esto, no vamos a devolver falso. Se detiene aquí. Siempre que devuelvas algo, te detienes ahí y no vas a bajar. Por ejemplo, aquí. Si escribo algo más, por ejemplo, volver a ro, me da una advertencia. ¿Por qué? Porque esto nunca corre. Devolves falso, y esto nunca corre. Ya ves, alcanzable, no puedes llegar ahí porque regresas aquí Siempre que regreses, no irá más lejos. Simplemente para. Elimino esto. Espero que entiendas bien esto. Así como este regreso, así, si es cierto, estas cosas corren y no van a ir a lo demás. ¿Y si esta vinculación es nula? Tenemos signo de interrogación. Entonces todos estos no se ejecutarán, devolvemos archivos, y no vamos a tomar ningún error. No tenemos ningún error. Ya hablamos este signo de interrogación y ¿qué hace? Déjame mostrarte una cosa más genial. Ya ves, para estar seguro de que entiendes. Si recuerdas si regresamos, el resto de estos códigos no se ejecutan. Entonces, si volvemos a, ¿ qué dice? Dice que los otros códigos no se ejecutarán. ¿Qué escribes otras cosas? Si devuelves otros códigos no se ejecutarán. Y si ves, decía código alcanzable Porque los haces inalcanzables aquí dentro. Las paradas aquí. No tienes ningún si ni cosas. Simplemente corre y las paradas aquí cada vez. Los otros códigos inservibles. Y por tipo de cosa, solo ciérrala otra vez y una cosa más. En lugar de cuatro veces, escribimos una vez. Incluso si queremos usarlo 1,000 veces, está bien, aunque este código en lugar de diez líneas sea 1,000 líneas. Está bien. Lo quieres usar 100 veces, no tienes que escribir 100,000 de líneas. Escribes 1,000 líneas, y las usas 100 veces. Y si quieres cambiar algo, ¿qué, por ejemplo? Por ejemplo, ves que solo tenemos una línea después de la e. podemos quitar esta abierta y ellos, eliminar, eliminar. En lugar de eliminar esto cuatro veces al inicio de este video, simplemente lo eliminamos aquí y todo demás No tenemos que hacer aunque lo usemos 100 veces, lo corrigimos un lugar en esta función y todos los lugares a los que llamas a esta función. Está bien, no tienes que cambiarlo todos esos lugares. Creo que es suficiente para este video. No quiero que haga esto largo y espero que lo entiendas. Continuemos con el siguiente video. 42. Día 5: valores de entrada de una función: Valores de entrada de una función. Bienvenido de nuevo. Vamos a subir. Tenemos este insumo. ¿Qué son estas rejillas? Estos son los códigos que nunca usamos. Ves esta cosa amarilla. Esto es una advertencia. Tenemos advertencias. ¿Qué debemos hacer? Damos click en él. ¿Qué dice? Importación no utilizada, importación no utilizada. Tenemos cuatro de estos cuatro al lado de la advertencia, cuatro de estos, y aquí uno, dos, tres, cuatro. En la línea, seis, siete, ocho, nueve, en la línea seis, siete, ocho, nueve. Si no ves esto, sólo tienes que hacer clic aquí. Click, Klick Klick, click, o puedes minimizarlo, ocultarlo Minimizar y, a continuación, haga clic en. Y si en vez de la línea seis, estoy en otro lugar. Por ejemplo, estoy aquí, y esto es mil líneas. Quiero ver la línea siete. Simplemente hago clic en esto. Nadie haga clic. Haga doble clic en esto. Me lleva a la línea siete, me lleva a la línea ocho, me lleva a la línea nueve, la línea seis, así como así. Entonces, ¿qué debo hacer? En cambio, nunca usas eso sin usar. Entonces yo, por ejemplo, la línea siete, solo selecciono esto y elimino con espacio de paquetes, lo elimino. ¿Qué acaba de pasar? Yo sólo tengo la línea 68, nueve. Yo sólo tengo tres avisos, uno de ellos se fue, hecho. L et me lo vuelvo a hacer con éste. Este también se fue. Quiero mostrarte otra manera. ¿Ves esta bombilla? Haga clic o presione A inter? Simplemente hago clic aquí, solo hago clic, optimizo Importaciones. ¿Qué debemos hacer? Simplemente hagamos clic en él y veamos. Se quita. Elimina toda la importación no utilizada donde se acabaron mis advertencias. Hecho. Es bueno. Vamos a continuar. ¿Podemos crear otra función? Sí, claro. Por ejemplo, tenemos agregando aquí. Simplemente presionamos ahí y volvimos aquí. Dije, Agrega Ps. Por ejemplo, no es bueno. Déjenme decir números. Es mejor. Turno nueve y no necesitamos turno cero porque lo agrega él mismo. Entonces quiero crear esta función, darle a esta función dos números y me devuelve el resultado. Agréguelos. Entonces solo copio esta parte Control C, los divido con esto. Es solo el botón de mi teclado al lado de la M. Presiono ese control. O sea, el siguiente botón a la derecha M es este para separar. Por supuesto, para el primero, controlar, en lugar del segundo valor, EDT primer valor No hago eso con este valor entero de. Ya sabes las cosas, ¿cómo funciona? Yo solo lo escribo de esta manera para que sepas. Puedes hacer ambas cosas con punto a int. Así puedo eliminar esto y tengo estos números de anuncio. Una forma de crear una función es simplemente escribir la función así, hacer clic en ella y hacer clic en esta luz b o presionar A más inter y crear la función con los números de anuncio de nombre. Entonces tenemos esta función. Cuál es la diferencia. Esta función toma entradas de mí y me da un resultado de retorno. Verás, regresamos Ban. Ahora queremos devolver entero. Entonces tengo primero, entrada. Yo solo presiono tabulador. Está en Otra pestaña. Segundo, entrada. Otra ficha. Me gustaría permanecer en Otra pestaña. No se puede escribir con un pequeño. No tienes dentro con un pequeño. Por lo que debes escribir P y T. Estos son importantes. Entonces otra ficha y terminó. Este es mi privado, así que solo puedo acceder a él desde dentro de esa clase. Función. Entonces es una función. Es un montón de código que escribo solo una vez para un propósito específico y lo uso tantas veces como me gusta. ¿Cuál es el nombre? Es número de anuncio. Yo lo llamo. Lo nombro número de anuncio. Entonces, ¿sé qué hace? Ten mucho cuidado con el naming. Me gustaría escribir una letra minúscula a un inicio y elegir letra mayúscula para cada siguiente palabras. Puedes hacer lo que quieras, pero a mí me gusta así. Lo mismo para los corderos variables, como pueden ver, escribo con gran mayúscula I. No se pueden escribir con un pequeño Es un lenguaje de programación sensible a mayúsculas y minúsculas. Por eso, hay que tener cuidado con eso. No me gusta el anuncio. Permítanme decir que es stum y claro, tengo error aquí porque espera ad Así que también lo cambié. Es suma. Volvamos. Entonces tengo números stum Así que presioné tapa siguiente diapositiva. Otro toque aquí, regreso regreso regreso, ¿qué? Primera entrada. Por supuesto, P segunda entrada. Es realmente simple, una línea de put. Yo solo lo escribo frente a regreso. Para hacerlo más pequeño. Incluso yo no escribo una variable y declaro una variable aquí para agregarlas. Yo solo los escribo frente a retorno, y devuelve el int. Ciérrelo de nuevo y quítelo. Se puede ver así, devuelve b retorno. Entero y nosotros solo estos números. Ten cuidado cuando escribas. Esto quiere regresar, deberías regresar. Cuando escribes, esto debería devolver booleano, deberías devolver verdadero o falso Deberías regresar Blean. Te explico toda la función, así que no voy a repetirla, pero ten cuidado. Si solo tienes una entrada, no necesitas esto. Pero si tienes más de uno, agregas esto. Este personaje está al lado la M en tu teclado, escríbele. Yo no cambio, solo hago clic en, presiono el botón al lado de la M para escribir esto. Espero tu teclado igual que yo. Y puedes agregar muchos otros. Si presionas aquí, puedes agregar otro input lo que no necesitamos. Vamos a comprobar una vez más, antes justo antes de crear la función, debemos saber qué queremos. Quiero algunos números, ¿ y cuántos insumos tenemos? Tengo dos entradas. ¿Y qué queremos? Como digo, quiero algunos Ya que lo devolvemos de esta función, ni siquiera necesito esta variable. Déjame seleccionarlo y eliminarlo. Seleccione el Control X, pegado aquí y uno inter aquí y elimine este Inter aquí, elimine los valores aquí Yo sólo quiero organizarlo así. Así suma número, primer valor, segundo valor a una cadena. Ya ves como el ruido y organizo esto y yo claro todo esto, e incluso esto Así de pequeño puede ser esto. Comprobando vacío es una función. Algunos los números es una función. Conocemos nuestra entrada, y mostramos nuestra salida en resultado de texto. Este es el código completo para agregar. Ya ves lo fácil y pequeño y bien organizado que es esto. Entonces si tengo un programa muy grande, si lo organizo así, tengo muy, muy pocos errores. Siempre haz que se organice. Permítanme comparar eso con esto. Esto es realmente mejor. Entonces, ¿qué debo hacer? Yo sólo voy a bajar y decir, Probemos esto una vez más. No quiero escribirlas ahí arriba. Acabo de copiar aquí. Inter control. Tengo otra suma, así que no debería escribir dos funciones con el mismo nombre. Escribo menos y es gris y porque nunca lo usamos. También tenemos uno y dos insumos. Entonces solo queremos restarnos el uno al otro. Primera entrada menos segunda entrada, así como así. Una vez más, ¿por qué no inter y control V? ¿Qué es esto? ¿Qué es esto? Es la división D. Qué tenemos aquí, división, primera entrada, segunda entrada, división, no me gusta escribir todo esto. Entonces, acabo de copiar. Yo escribo ahí arriba, debería definir la d, la d y otras cosas. Eso no me gusta. Copio ya que lo escribo aquí arriba y pego y pego y lo cambio. Es realmente más fácil, y lo disfruto más. Yo también te espero. No lo llames pereza. Esto es más inteligente. Entonces una vez más, intercontrolar V y multiplicar y todas las cosas mismas cambian multiplican primera entrada y segunda entrada Entonces tengo tres funciones grises porque nunca las uso. Vamos a usarlas Dentro del si de aquí a aquí. ¿Qué tengo? Resultado TX, y lo organizo muy bien. Así que solo controlo C, e incluso aquí dentro del de aquí para aquí. Control TC resultado, algunos. No, no algunos y? Porque quiero menos números. Compruébalo. Ya no es gris. ¿Por qué? Porque lo uso aquí. El siguiente, eliminar aquí y dentro de este seleccionamos este control, nosotros muy, muy bien organizados, y esto es multiplicar y multiplicamos números, eliminar eliminar. Y tengo esto. Una vez más vino aquí. Retira esto dentro del control V y ¿adivina qué? División. Simplemente no quiero hacer clic en presionar eliminar. Así que selecciona esta comprobación. Ves el mismo nombre, está bien y estas cosas usaban. Entonces estas son mis funciones de código bien organizadas. Una buena aplicación, una buena aplicación para Android, un buen programa para Android es el programa que menos tiene línea de código. Y muy organizado. Por lo que minimizas tus errores. Tú puedes, no puedo hacerlo más corto. O tal vez, por ejemplo, si porque solo tengo una siguiente línea después de si, puedo quitar esto y esto. ¿Por qué? Porque si tienes una línea después, no puedes quitar esa área, un área específica localizadores Así como así. Solo recuerda, no son cuatro líneas. Es una línea. Yo sólo inter. Yo sólo presiono inter. Si me quito este inter, es toda nuestra una línea por eso. Tengo esta línea y puedo eliminar esos caracteres. Y puedo hacerlo aquí y aquí dentro y aquí dentro, cyli delete Incluso ahora, tenemos menos código. Déjame mostrarte que es solo una línea, eliminar y eliminar, y así como así y eliminar. Verás, es una línea. Los pongo uno debajo del otro para que quede más claro, pero es sólo una línea. ¿Cuál es el siguiente? Recuerda, si tengo otra cosa aquí, debería poner estos códigos dentro esa zona de inicio y cierre. Si no, mi e solo considera la primera línea, no el resto. Pero en una línea está bien. Y kilos. Aquí, retire. Y voy aquí abajo y turno a la derecha y este botón justo arriba inter para ordenar nuestro código u organizarlos. Subo aquí y me quito esto también porque quiero tener tanto como pequeño abrigo que pueda quitar todos los extras. Esto es muy mejor. Sí, sí, es bueno. Todavía tenemos esta advertencia, pero no es una advertencia importante. Es una advertencia débil. Déjame mostrarte esto también. Por ejemplo, dice, vinculación de propiedad podría ser privada en la línea 11. Esto es de lo que hablamos. Simplemente hago doble clic en él y me lleva a la línea 11. Bien, dije, hazlo privado. Entonces de otra clase, no se puede llegar a ellos. Parece razonable. No quiero, y es mejor no acceder a ellos desde otra clase. Bien, acepto la advertencia de esta semana. Puedo hacer click en esta luz bu o presionar plus in y hacerla privada privada. ¿Qué acaba de pasar? No se puede acceder a este enlace desde otra clase. puede acceder a él desde toda esta actividad principal, pero no de otro Klas ¿Y qué pasa con la línea 20? Bien. Hacer esta función privada también. Vine justo aquí o más llamar inter. Haz esto privado y no tengo ninguna advertencia. Este es un gran código. No tengo más advertencia. ¿Qué tengo aquí en lugar de esas advertencias? Tengo este hermoso cheque verde. A mí me encanta. ¿Por qué? Porque cuando tengo el cheque verde, significa que no tengo ningún problema dentro de mi código. Incluso las débiles advertencias, yo las cuidé. Si le hago clic, no tengo ninguno para tener este cheque verde en tus clases todo el tiempo tanto como puedas. Esto es realmente bueno. Intenta tener este cheque verde. En el siguiente video, te doy algunos consejos extra y reseñas realmente rápidas sobre algunas cosas y te digo consejos extra. Podría estar seguro de que no nos perdemos ninguna cosa básica importante. Gracias por mirar. Únete a mí con el siguiente video. 43. Día 5: consejos adicionales: Puntas extra. Vamos a tener algunos consejos adicionales y una revisión rápida. Revisemos muy rápido y cerremos el día. Bien. Creamos un proyecto desde cero y creamos la actividad para nuestra codificación. Deberías acostumbrarte a la actividad porque todo es actividad, y trabajas mucho con ella. ¿Cómo lo logré? Simplemente haga clic derecho en Nuevo y luego en la actividad. Y hago clic en la actividad de MTV, así como esta. Te lo acabo de decir, tengo esta actividad, pero también tengo un layout. ¿Por qué? Porque debo mostrar mis cosas, mis datos sobre algo. Así que también tengo un diseño. Debe ser con letras minúsculas y no debe tener un espacio en el nombre del diseño. Verás, si solo presiono espacio, dice que el nombre del diseño no está establecido en un nombre de recurso válido. Yo lo borro. Está bien. Grandes A también tienen un problema. Y si reviso esta actividad lanzadora, Esta actividad se convirtió en mi primera actividad. Cuando lanzo mi app. Esta actividad se manifiesta. Me convertí en mi primera página. Y también, tenemos el idioma de origen selecto. Carlin o Java, usamos Catlin oy Cotl porque el propio Google lo recomendó, y es realmente mejor que Creo que es mejor que Java, así que uso Catlin Bien, vamos a cancelar esto con este botón de cancelar o este botón de Klose De todas formas, tengo mis códigos dentro de este Catlin un java, y si quiero nuevos, hago click derecho sobre este lugar Y mis diseños están bajo el recurso. F debajo de la disposición. F. Esta es mi actividad principal. Andre Studio agrega automáticamente mi actividad principal aquí y mi diseño aquí. Visitemos nuestro layout, doble clich. Este es mi diseño. Y minimizar esto. Este es mi diseño. Esta es mi parte visible del proyecto. ¿Qué debemos hacer cuando hacemos clic en algo u otras cosas? No está aquí. Está en archivo de línea de corte. Pero aquí dentro, solo trabajamos con lo visible. Qué debemos mostrar y cómo arreglar las cosas. Organizar los objetos. Vamos a ver el corte en el archivo. ¿Qué debemos hacer, si algo sucede en nuestra opinión? Si alguien da click en algo o cualquier otra cosa, como debemos trabajar con datas en lenguaje de corte, en esta actividad principal hacer cortar, nosotros decidimos este tipo de cosas Tenemos este método de creación. Cuando sucede cuando esta actividad se lanza crea crea ser creado. Déjenme decir. Bien, déjame volver a lo visible. Tenemos este primer número, segundo número. ¿Qué son estos? Estos son texto de edición de entrada de texto. El usuario puede ingresar los datos dentro de ellos. Incluso les damos número de tipo de entrada. También utilizamos material y porque Google auto recomienda este Andrew Studio, lo recomiendo. Estos son texto de edición de entrada de texto más agradable con características adicionales. En lugar de texto regular y básico de entrada de texto. Verás, déjame ir aquí y escribir este texto de edición. Tenemos este sencillo texto de edición, pero no lo queremos porque es demasiado sencillo. Podemos usarlo también. No lo quiero. Incluso los hago diferentes entre sí para que veas que hay muchas formas diferentes de conflicto con estos textos de edición. Solo recuerda, esta es mi entrada de texto editar texto que usuario inter datos dentro. Pero también tengo este diseño de entrada de texto. esto le doy otro tipo de datos y ayuda a que la entrada de texto edite el texto se vea mejor. Por ejemplo, pongo dentro de esta longitud máxima, diez, agrega esto ves este cero de diez. Me da algo aún más hermoso y más poder para hacer que mi entrada de texto edite mejor el texto. Es lo de mi diseño. Pero los datos de datos van dentro de la entrada de texto editar texto. Tan larga historia corta, no puedo obtener datos dentro de mi código Catlin ellos estos diseños de entrada No puedo hacer eso. Debería tomarlo de editar primer valor. No puedo aguantar desde aquí. No confundas con esto. Esto es mi cosa visible y no pones datos dentro de él. Este cuadro de texto está aquí. Significa que esta cosa no tiene ni siquiera ese texto. Déjame mostrarte Control C, si lo pongo aquí primer valor. Esta cosa no tiene ese texto. Entonces entendemos que el usuario inters datos dentro de este texto de edición. También tenemos estos botones, estos botones. También utilizamos material para estos botones. ¿Por qué? Porque es más bonito y Más recomendable. Puedes hacer más cosas con estos botones y leer el propio estudio recomiendo esto e introducirlos. Yo desarrollo esto. Quiero ponerlos en línea entre sí. ¿Qué debo hacer? Yo uso la disposición lineal, esta disposición lineal. Porque quiero mostrarlos juntos como una línea. Yo los armé y digo que estos deberían mostrarse uno con el otro horizontalmente así. También podemos mantenernos verticales, pero en este caso, necesitamos horizontales. También le damos peso a cada botón para que cada uno de ellos pueda tener 25% del espacio del 100% de este espacio que la disposición lineal les da. Algunos de los diseños pueden no soportar este peso, pero el diseño lineal soporta el peso. Solo ten cuidado. No puedes usar todas las propiedades que ves en todas partes. El conjunto es uno, y le damos 25% a cada uno de estos cuatro. También esta vista de texto, ¿qué es esta vista de texto? Queremos mostrar datos. También agregamos esta vista, ocultamos esta vista porque queremos darle dos D de altura, y emparejar padre. ¿Qué es match parent? Todo el espacio en el padre, y le damos la altura dos D, y le damos el color negro. Entonces tenemos un solitario con color negro con la altura de dos DP con la w, match parent significa todo. Por mucho que puedas dentro de tu padre porque no tenemos línea dentro y el estudio, usamos esto. Y también, tenemos restricción de diseño de abajo a arriba de. Decimos, debemos mostrar esto a la parte superior de la etiqueta de resultado Txt. Se pega a la etiqueta de resultado Txt que vemos. E incluso se puede ver esa flecha que dice, me meto mi parte inferior a la parte superior de esto También tenemos una vista de texto. ¿Por qué? Porque queremos mostrar nuestro resultado final dentro de esto. Te presentamos herramientas y decimos que no mostró que no se muestra dentro del resultado final ni siquiera en el emulador cuando ejecutas. Es solo para ti cuando diseñas la app. Es para el diseñador programador. Entonces puedes ver si pones 20 dígitos, por ejemplo, lleva esto dentro de tu app. En fin, decimos si queremos acceder a botón u otras cosas, primero debemos encontrarlas. Entonces podemos decir, quiero trabajar con ese objeto. ¿Cómo lo hacemos? Vinimos a codificar y decir: Justo aquí abajo, puedes hacer esto. Encontramos vista por ID y damos el tipo de objeto. Por ejemplo, entrada de texto, editar texto y desde las reservas, desde los ID, le das el ID, y tienes tu objeto. También dijimos que esto tiene demasiado código. Podemos hacer que nuestro código baje nuestros programas más pequeños, nuestros códigos más bajos. ¿Qué debemos hacer? Utilizamos la vinculación y definimos esta unión. Como recuerdas, antes de usar esta encuadernación, vinimos y decimos dentro de esta cuna de aquí abajo, V vinculante es igual a verdadero. Podemos usar la encuadernación. Entonces te dijimos qué es variable global y ¿por qué deberíamos usar esta global? Y luego en crear, le damos el valor. También hablamos de trabajo nulo y nulo. También decimos porque nuestra actividad es actividad principal, tenemos esta actividad principal vinculante. Se basa en ese nombre. Por ejemplo, si se trata de registro, tenemos vinculación de registro. Y aunque presione control y en esta actividad enlace principal, haga clic en él. Vemos nuestra actividad principal porque es igual esta actividad puede. Tenemos este campo vinculante con estos datos, y luego le damos a nuestro set content view este enlace, porque queremos conectar esta actividad principal con la vista. ¿Qué quiero de la encuadernación que acabamos de decir que está llena b actividad principal. Queremos la raíz. Queremos que la raíz de esta vinculación conecte con nuestra actividad principal. Después de eso, tenemos a este oyente init. ¿Qué hace? Esta es una función que son todos los oyentes kl. Los ponemos todos dentro de innit oyente dentro de esta función También introducimos app. También diga por qué ponemos este signo de interrogación sobre esta variable nula capaz. Si es nulo, esta parte de aplicación que contiene todo el código hasta aquí no se ejecuta. No obtenemos ningún error. No vamos a tener errores. Otra cosa buena es que no tenemos que escribir anuncio PN vinculante. Signo de interrogación vinculante anuncio PN. Nos deshacemos de Esta parte para el conjunto estos BTN. Punto de interrogación vinculante. No lo repetimos aquí aquí. Simplemente es realmente mejor. Como resultado, podemos acceder directamente a este anuncio de BTN sin ningún código adicional Entonces decimos set on click oyente. Lo que se establece al hacer clic Listener. Escucha hasta que hagas clic en algo. Entonces al hacer clic en este botón, se ejecuta este código. Por ejemplo, este es mi botón. Quiero hacer algo cada vez que alguien, haga clic en él. Entonces digo sentarse y hacer clic oyente. Espera a que alguien alguien haga clic en eso. Entonces tengo esta condición y esta si verifico es esta entradas vacías o no. ¿Por qué? Porque si estos están vacíos, no puedo agregarlos. ¿Cómo puedo agregar un número con cosa vacía? Una cosa vacía, no puedo hacer eso con más o menos o división. ¿Cómo puedo dividir un número en nada, incluso no cero sobre nada? No puedo hacer eso. Compruebo que estén vacíos. También escribimos una función para cualquier poten que queramos hacer algo Damos nuestra primera y segunda entrada para las entradas, y ponemos el resultado dentro de ix resultado. Por ejemplo, déjame mostrarte el número de suma. Tomamos la primera entrada y la segunda entrada. Son ins, y los suman, luego los devuelven. Cuál es el tipo de esta función que devuelve. Es int. Tengo int para mi salida y mis entradas. Como digo, ponemos estos resultados en tixy result en la propiedad de este resultado tixty, propiedad, tenemos un nombre, qué hace que sea texto, y tenemos que hacerlo string porque este texto solo toma string porque este texto solo Si queremos darle número como este ins, no lo toma. Sólo una cuerda. Ya que confiamos esta función y es realmente buena, ponemos en nombre propio y los agregamos, solo copiamos esto y lo pegamos muchas veces Porque no queremos volver a escribirlo. Simplemente cambiamos esto y el nombre, incluso no el nombre completo, la primera parte del nombre. ¿Por qué? Porque prefiero escribir menos código, hacer más. Exactamente por eso, escribimos funciones para escribir menos código, hacer más. También aprendemos algo muy bueno. Este cheque verde. Si hay algún problema, podemos solucionarlo. Entonces no tenemos ningún problema ni siquiera nosotros problemas, y como resultado, cuando todos los problemas están arreglados, tenemos este cheque verde. Por lo que estamos en excelentes condiciones. Antes de que me olvidara, también tenemos dentro de este recurso, más que maquetación. Tenemos estos valores. ¿Qué tenemos dentro de él? Tenemos colores. Tenemos diamantes, así podemos dar cantidad de espacios u otros diamantes en este. Por ejemplo, si queremos darle margen, damos dentro de estos diamantes y luego lo usamos. Si queremos cambiar este ocho a nueve, lo hacemos una vez y todas partes de alguna manera se parece a nuestras funciones. Cambiamos un lugar y todos los otros lugares toma el efecto. Es lo mismo para los colores. Cambiamos un color en un solo lugar y todos los lugares que usamos ese color, cambian. También tenemos estas cuerdas. Estos también son importantes. Tenemos cadena predeterminada en inglés, y no podemos tener otro idioma predeterminado. Mi tiene idioma predeterminado del inglés porque los ingleses O mis objetivos. O vivo en un país inglés. Pero también los árabes podrían usar mis aplicaciones. Añado otro idioma árabe para mi segundo idioma, o incluso puede ser el francés. Mi segundo idioma puede ser el francés, puede ser el ruso, puede ser el chino. ¿Por qué uso árabe? Porque los ingleses son de izquierda a derecha, y los árabes son de derecha a izquierda. La diferencia porque son diferencia. En el futuro, te puedo enseñar un poco más con esto de izquierda a derecha y de derecha a izquierda. Eso hasta lo considero. Y en todas partes, cada vez que quiero escribir algo, uso esto aunque quiera escribir este plus, uso SCR Entonces si quiero cambiar este texto, lo cambio aquí, en todas partes uso este cambio de texto. No tengo que revisar por todas partes para ver. Bien, escribo una letra mal. Busquemos toda la app entera para ver. Bien, escribo sólo una carta bien o mal. Doy al traductor en mi empresa el texto completo. Entonces él o ella comprueba que esto es incorrecto o correcto, y compararlo con el texto en inglés. Estos muy pro tip, tips muy profesionales. Por eso, por favor. Estos primeros días son realmente importantes. Debes aprender estos con mucho cuidado. Si no entiendes algunos de ellos, repite esos videos. Doy tanto como pueda muchos ejemplos para que los pueda entender bien. Tu aprendizaje es algo muy importante. Simplemente porque me elegiste para enseñarte. Por eso, soy el responsable. Trato de enseñarte bien. Espero que aprendas bien estas cosas. Otra cosa, déjame mostrarte este manifiesto. Este es mi manifiesto. Esta es mi identidad de aplicación. Esto es lo que es mi app. Por ejemplo, ¿cuál es el ícono de mi app? Incluso mi equipo, ¿cuál es mi equipo? ¿Cuál es mi API objetivo? Todos los datos importantes como identidad que tienes están aquí. Ya no voy a explicar esto. Y sabes cada actividad que tienes, tienes una actividad aquí, y otros datos están aquí En el siguiente video, tenemos un pequeño quiz, y lo terminamos este día. 44. Día 5: Day5Quiz: Página cinco, preguntas del cuestionario. ¿Cómo habilito el enlace de visualización? Pregunta uno. ¿Cómo habilito el enlace de visualización? Pregunta dos. ¿Qué es una variable global? Si es demasiado rápido para ti, puedes pausar el video y luego escribir tu respuesta. En el siguiente video, revisas tus respuestas de todos modos. ¿Qué es una varia global? Pregunta tres, Cómo tomar entrada del usuario en función. Cómo tomar entrada del usuario en función. En el siguiente video, puedes consultar las respuestas. Gracias. 45. Día 6: Day5QuizAnswers: Respuestas al cuestionario del día cinco. Pregunta uno, ¿cómo habilito el enlace de vista? Ya ves, solo vas a esta construcción grado C T S. No eso termina con proyecto. Ese con módulo, y dentro de eso, agregas imágenes construidas dentro de las que agregas el enlace de vista es igual a true así como así. Pregunta dos, ¿qué es una variable global? Son las variables que se crean fuera de una función. ¿Por qué? Porque podemos acceder a estas variables desde cualquier función dentro de esa clase. Incluso tenemos variables que pueden acceder desde otras clases. Llegamos a ellos. Pienso a través de futuros cursos, tal vez después de sus 20 o 30, llegamos a ese tipo de variables. Pregunta tres, cómo tomar entrada del usuario en función. Al igual que esa primera entrada. Segunda entrada, el tipo está adentro, el tipo está adentro, y la salida, así como esta, la salida está adentro, y devolvemos salida, así como esto, paso cuatro, Primera entrada más, segunda entrada. Esta es nuestra salida. 46. Día 6: valor decimal: Valor decimal. Bienvenido de nuevo. Este es nuestro último día de nivel muy básico. Vamos a correr hacia arriba. Hola esto. Ponemos 83 y más ocho más tres es igual a 11 menos ocho menos tres es igual a cinco, y multiplicamos ocho, multiplicamos tres es igual a 24. H esa división presiona dos, pero dos multiplican tres iguales seis. No tengo la parte decimal. Verás, si entro siete, tengo dos, acabo de iniciar esta app y ahora detengo esta app. Minimizar esto. Mi código está aquí. Tengo estas cuatro funciones, para unas cuatro menos para división y para multiplicar. En división, tengo dos números, primera entrada, segunda entrada. Son enteros, y mi salida es entero también. Los divido entre sí y mi resultado es entero así como podemos ver. Entonces no tengo ningún punto decimal. Y no tengo ningún número decimal en mis resultados. Explicamos diferentes tipos de variables. Por ejemplo, R A es una cadena, es una cadena. Es texto, R p es igual a entero. Al igual que uno, dos, tres, puede almacenar números. Y claro, R, C, qué es un Puede ser verdadero o falso. Incluso devolvemos prohibición en una de nuestras funciones, puedes ver. ¿Qué más también tengo la variable d es igual a ft y la variable es igual a doble. ¿Estos dos son decimales? Puede tener, por ejemplo, 2.5, 3.5, 3.6, puedes ordenar los números decimales en el Vamos a darles algunos valores para una cadena. Presioné iguales. Presiono shift y el botón al lado del inter para escribir este personaje y Androuo, escribo el otro para cerrar por Yo sólo escribo un BC o número o el nombre. Esto es una cadena. El número. Le puedo dar dos o 23 o 234. Este es el entero. B. Puedo dar esto verdadero o falso. Yo le doy Verdad. ¿Cuándo usamos ban? Cuando queremos decir algo es sí o no a la fuerza. Cuando debemos decir sí o no a la fuerza, por ejemplo, en nuestra función, ya ves, queremos decir que no está vacío, sí o no. Usamos ban. ¿Qué tal compañero, le podemos dar Madera Decimal, por ejemplo, 3.40. Me da error porque si quieres dar, madera decimal a una variable grasa, deberías poner una F al final Sólo recuerda. Bien, ¿qué más tengo doble? Demos también este número. 3.14 F. Me da error. Y? Porque no debo poner una F. Poner una F al final de un número doble. Retirarlo. Está bien. Pero al final de un número de carga, Pongo F. Espero que entiendas todo esto. Muy bien. Vamos a cerrarlo de nuevo, turno y el fondo en la parte superior del inter. Es ordenar nuestro código para nosotros. Déjame solo revisar lo que pasó si digo 0.2 no puedo poner una madera decimal en una entrada Me da error, así que lo quito. Una cosa más. Tienes una cuerda aquí. Se puede escribir uno, dos, tres, cuatro. Escribes número, pero es cadena. Si escribes AAA, está bien. ¿Por qué? ¿Porque es cuerda? Ahora bien, si presiono inter y digo A a int. Está bien. Puedo hacer mi A a un int. Y, porque pongo entero dentro de esto. Una cosa más, podemos decir uno, dos, tres, cuatro, cinco, 67890 De nuevo, uno a lo ocurrido Dice, tu número es demasiado grande. No se puede poner tanto número dentro de entero. Hay otra variable de la que hablamos en las lecciones futuras. Pero por ahora, usamos int y solo debes saber, hay una limitación de que puedes poner número dentro de cualquier dato dentro, cualquier variable. Por ejemplo, matemos a estos estos. Ves diez dígitos. Si pones diez dígitos dentro y dentro, está bien. Y claro, pienso en unos 2 mil millones. No, no. Incluso esto, no se puede menos que esto. Creo que en las diapositivas de lecciones anteriores, hablamos de la limitación, limitación exacta. Pero como puedes ver, si tratas es uno de estos e incluso pones nueve. Para empezar, está bien, así que debería entender si quiero usarlo, debería máximo, por ejemplo, máximo 999 millones es mi número máximo que puedo poner en esto para más, es mejor usar variable más grande. Por supuesto, puede doler mil millones o más, pero es mejor no usarlo en tanto número. Y tratar de no romper las limitaciones. No estamos hablando de largo lugar de en el futuro, hablamos de ello, pero no por ahora, ese tipo de variables para el futuro. Una cosa más, si escribo dentro de esta cadena, A B C, pero digo punto a ind, tengo error o y porque no es un número. Debo tener cuidado. ¿Qué quiero emitir a qué? Debería simplemente convertir mi número en número de esa cadena o cualquier otra cosa. Déjame probar una cosa más. ¿Puedo darle este flotador? Por ejemplo, ¿solo el número tres, un entero? No, no puedo. Debería dársela. Flotador. Permítanme comentar esto, comentar esto. Comenta todos estos. Entonces cuando veas la fuente, puedes echarles un vistazo. En fin, no quiero int. ¿Recuerdas nuestro problema? Quiero flotar. Quiero flujo para mi salida. Tengo error. ¿Qué acaba de pasar? Decía que tienes d, tienes adentro, divides para terminar, y el resultado está adentro. No se puede tener belod como resultado. Este es nuestro error. Bien, k. Déjame comprobarlo. No se puede convertir a en cuando se dividen entre sí a un compañero así que déjame hacer esto Dt Two fluyó. Ahora bien, si se sigue uno de los números, está bien. Nuestro resultado es seguido. Por supuesto, ya ves, el problema está resuelto, pero solo para estar seguro puedo escribir dos flujos. Pero incluso uno de ellos lo es. Vamos a correr hacia arriba. Estoy esperando. Ahora, ¿qué tengo? Ocho división T, dos punto D seis y siete. Cutlin redondear el último número hacia arriba y porque este seis está más cerca de 10220 Por eso hace que el siete del siguiente número sea siete, no cinco. Esto llama redondear. Por supuesto, ya que estamos a nivel muy principiante, no debería decir esto. Bien, vamos a saltarnos esta cosa. En fin, tenemos nuestro resultado decimal. Déjame revisar otra cosa. 52 y sion 2.5, simplemente L et me acaba de verificar una cosa. Tengo ocho, dos, tres, y división, tengo este uno, dos, tres, cuatro, cinco, seis, siete número después del punto. Número siete después del punto. Detener. Entonces tengo el número siete común después del punto. Ahora, quiero comprobarlo, ¿qué tal el doble? Porque quiero ver cuál es la diferencia entre float y double. Yo selecciono esto. Escribo doble, y por supuesto, para inundar dos dobles. Aunque uno de ellos sea doble, está bien. Te da doble. Pero quiero estar seguro y para doblar dos dobles dobles y la salida es doble. Solo recuerda, si tienes dos fd, no puedes tener salida como doble por eso, pongo uno de ellos al menos doble. En fin, ponemos para ambos dobles. En fin, vamos a ejecutar la ap. Estoy esperando. Es correr monte, y si digo cinco, y digo dos división, todavía tengo 2.5, no diferencia. Pero si digo 83, y división, veo la diferencia, déjame ver esto muy de cerca. Vamos a contar uno, dos, tres, cuatro, cinco, 67. Bien, ocho, nueve, diez, 11, 12, 13, 14, 15, 16 16. En lugar del número siete después de ese punto, tengo el número 16. Después de ese punto para D Simar. Entonces doble tiene más capacidad, y es más específico. Entonces necesitamos resultados más específicos y precisos. Utilizamos doble. Pero cuando no necesitamos tanta precisión, podemos usar compañero En nuestra calculadora, es una calculadora realmente simple. Entonces usamos compañeros de flotación para fluir, para fluir porque no necesitamos tanta precisión. Por supuesto. Bien. algunas pequeñas cosas en el siguiente video. Porque hoy queremos terminar el nivel principiante. A lo mejor tenemos salida APK y tal vez cerrar el teclado y algunas otras cosas. Y luego cerramos nivel principiante y comenzamos el nivel principiante. Intento en lo posible explicar muy pequeños detalles en este nivel en unos primeros días. Por lo que tienes conocimientos básicos y fundamentales del programa. Entonces en el futuro y al día siguiente, tienes lo más bajo que podamos problema tan poco como podamos problema y tengo un buen comienzo para este viaje de programación. Gracias por su atención. Seguimos hasta el siguiente video. 47. Día 6: exporta apk y consejos Part1: Exportar APK y consejos primera parte. Bienvenida de nuevo. Tengamos algunos consejos extra y aprendamos algunos ts nuevos. Hasta ahora, usamos la aplicación emulador de prensa, y vimos nuestra aplicación. Pero ¿podemos hacer un APK? Sí, claro, ve al menú de construcción. Cree un caso de AP de Bundles. Esto se ve a la derecha. Tienes dos opciones. Acabo de presionar construir caso AP. Esto es construir mi APK. Estoy esperando para que esté terminado. Mi APK lo construyo con éxito, y si presiono en locate, puedo ver mi ubicación APK. Vamos a presionarlo. Simplemente hago clic en esto y doy clic en localizar y veo Esta carpeta carpeta de depuración abierta. Tengo este archivo APK. Solo recuerda, de esta manera, tengo un APK de depuración. No es un lanzamiento. Qué es un lanzamiento hablamos de salida de liberación en las lecciones futuras. Pero por ahora, puedes fácilmente y sin pasos muy complicados, tener un APK y guardarlo en tu teléfono. Simplemente copia esto en tu teléfono y ábrelo y presiona en un semental. Puedes usar este APK. Por supuesto, si necesitas, debes tener permiso activo para instalar APCs de depuración en tu teléfono Depende de tu teléfono y de tu versión de Android. Tu teléfono versión Android. Puedes encontrar tutoriales para hacerlo en Internet. Así que recuerda, no es para, por ejemplo, jugar a una tienda u otras tiendas. Es solo para depurar en tu propio teléfono. Entonces, ¿cómo hacemos esto? Simplemente hacemos clic en menú, vamos a construir menú. Construye un APK de paquetes, y construimos un APK Si tenemos error, no logramos hacerlo. Pero como no tenemos ningún error, podemos hacer esto y tener nuestro archivo. Decimos que hablamos de lanzamiento en el futuro, pero solo para que sepas, lanzamiento por lanzar tu app en las tiendas, por ejemplo, Google Play Store. Volvamos a ejecutar la aplicación. Presiona correr y espera. Si hago clic aquí, tengo este teclado. Uno, dos. Si hago clic aquí dos, tengo este teclado también. Presionemos más. Este teclado es un sello aquí. Esto es un problema. ¿Ves el problema? Debo presionar esta comprobación para cerrarla. Es mejor cambiar estos botones. Entonces si presiono alguno de ellos, da clic en cualquiera de estos botones, mi teclado se cierra cerrando automáticamente. Entonces no vi esto. Es como si yo solo presionara esto. Si presiono alguno de ellos, debería hacerlo así, cerrarlo. Simplemente detengamos esto y minimicemos esto. Y te lo cuento. Si tienes algún error, no puedes tirar de él. Déjame mostrarte eso. Por ejemplo, si tengo un espacio aquí, tengo error en esta línea. Ves rojo, rojo, rojo. Tengo errar aquí. Bien, entonces porque tengo errar aquí, no puedo pastillarlo. Donde más tengo el error. Ya ve si subo, tengo error aquí. Esto solo puedo tener una vista previa ya ves mi adelanto. Si me pongo rojo aquí y hago clic, vuelve a aquí. Vamos a subir de nuevo. Tenemos error aquí. Y podemos tener una vista previa sobre eso y dar click aquí, volver aquí. Y además, tengo esta actividad principal. Tiene subrayado rojo y porque tiene error. Tengo subrayado rojo aquí, tengo rojo bajo el problema Y aunque me equivoque, aquí tengo error rojo. Me muestra dónde está el error. E incluso en esto. Déjame abrirla. Rojo debajo de la línea y rojo debajo de la línea. Esta es la línea dir roja. Simplemente me muestra, tenemos problema hasta que vine aquí a ver, Bien, tenemos un problema aquí dentro. Y déjame ir a construir el paquete de construcción de caso AP, y tengo error. Pero, ¿qué pasa si presiono construir caso AP? Espera. Tienes excepción. Ahí en este archivo, línea 65, si hago clic en él, tengo error en la línea 65. Yo sólo me llevo al error. Entonces si elimino este espacio extra, está bien. Ahora todo está bien. Bien. Vamos a presionar inter aquí. Justo aquí. Vamos a crear una función sin entrada. ¿Ocultar ocultar qué? K. K. Vamos a abrir y cerrar y sin entrada. Apenas inter. Esta es nuestra función. Obtener este sistema de servicio inter. Se necesita un insumo. Contexto, claro, contexto con C. grande Si escribes una C pequeña, no puedes tener ese contexto. Porque estamos en nivel muy principiante. Insisto en eso cada vez. Ahora creo que lo entiendo muy bien. ¿Ves capital? No debería escribir. Debería escribir. Escribir servicio de método de entrada de entrada grande. Y al final de ese turno y cero, y presiono turno home y nueve. Agrego dos paréntesis, y solo presiono un lote Bien, estoy aquí ya que estamos a nivel muy principiante, pero este no es un nivel muy principiante. ¿No te importa qué escribimos? Sólo escríbelo. Método de entrada administrar punto Queremos ocultar K altura por lo que la entrada de la ventana Y yo solo digo vinculante e mark y root dot window token. Ke segundo parámetro cero, y otra marca. Eso se me olvidó. Déjame solo minimizar esta altura esto y ya puedes ver el código. Presiono inter aquí, para que puedas ver fácilmente mi código. Entonces escribimos nuestro código para cerrar el teclado. Nuestro teclado suave, claro, déjame explicarte más. No quiero explicar este código. Está bien. No hay que entenderlo en nivel muy principiante. Pero solo déjame explicarte algunas cosas. Por ejemplo, permítanme olvidarlo. Ha configurado el oyente de clics. No tienes que saber todas las cosas de fondo. Andrew D Studio y Catlin lo hacen para establecer y hacer clic oyente. Está bien. No tienes que saberlo. haz clic en Listener en tu botón. Andrew Sudio y Catlin idioma, hazlo por ti. Solo debes hacer tu código dentro eso y luego el usuario haga clic en él, este código ejecuta Easy Z, así como así. Esta es la función del método Catlin y Andrew Sudio. ¿Cuál es este método y función? Esta es una función predefinida. Lo que explico. Por ejemplo, ¿ves que creas esta función? Y una línea de código. No importa y no le preocupa a nadie, a ningún usuario. ¿Qué haces adentro? Imagina a otro usuario. Quiere usar su función. Ese usuario sólo llama a esta función. Enviarte dos números y recuperar un número, y este número es algo de esto y esto. Lo entendemos muy bien. Ese usuario no debería saber, ¿no debería importarle qué haces por dentro? ¿Qué haces dentro del otro? ¿Qué haces dentro del otro? Este método me da división cual punto decimal. Usuario no sabe y no debería importarle Así como así, no lo sabemos, y no debemos saber qué pasó en el set haga clic oyente Solo debemos saber cuando alguien haga clic en Establecer haga clic en oyente, ejecute Y entonces podemos ejecutar nuestro código. Igual que esto. Simplemente escribimos otros códigos que están predefinidos en este Android, el Studio y el lenguaje de corte, Así que hola teclado en nuestro programa. Pero no debemos saber todas las cosas específicas. ¿Qué funciona? ¿Cómo funciona? Por supuesto, en el futuro los métodos, sabemos mucho, mucho más, pero por ahora, no te preocupes. Escribimos este código y leemos el estudio, lo hacemos por nosotros y cortamos el idioma. Por supuesto. Una cosa más, a esto lo llamo. Pongo encuadernación dentro de esto, y escribo mi variable vinculante. ¿Por qué? Porque escribo mi variable con nombre vinculante. Verá, declaro esta variable como vinculante. Si yo lo llamo cualquier otra cosa, y si lo llamas cualquier otra cosa, deberías escribirlo otra cosa. A lo que llamas vinculante es el nombre que acabamos de llamar. No pienses que es algo fijo. No, escribimos enlace para nuestra variable por eso, aquí llamamos vinculante. Incluso a esto, llamamos vinculante aquí porque nuestra primera variable que definimos tiene el nombre binding. Si lo llamamos cualquier otra cosa, aquí también ha cambiado. Pero esta parte aplicar es fija. Por ejemplo. Otro ejemplo, esta parte es fija, pero esta unión no es fija. Esta parte es fija. Este enlace, no, por supuesto, root y token de ventana son fijos. Simplemente esta encuadernación es el nombre que llamas. Como digo, solo presiono control para ver a dónde va esta cosa? Ves la línea 2227 y mucho código y comentarios. No debería saber estos códigos y las otras cosas, y cómo funcionan estas cosas. Oh, Dios mío, demasiados códigos. No. Yo solo uso este gestor de método de entrada. Yo uso este gestor de método de entrada. Esta parte. Y en el futuro, conocemos algunos de estos, solo algunos de estos, solo las partes que calzamos conocen Porque no podemos Realmente no podemos leer todos los códigos. Incluso yo escribo programas para Android. Más de diez años. Por supuesto. Creo que mi primer programa es hace unos 11 años. Pero diez años o más de diez años. Entonces, ¿debería conocer todos estos códigos? No, no puedo. Hay, miles de códigos en diferentes métodos, y no, no, no, no puedo. Entonces, no te preocupes. Por favor, no te preocupes. Así que vamos a copiar esto hasta aquí, controlar C, Entonces lo que luego ir después de cada conjunto y haga clic en oyente Inter Control. Inter Control Inter Control. Realmente no me gusta escribir todos los códigos. Así que solo copio en Control. Te sugiero que hagas esto también alegría y hagas tu trabajo inteligente, no duro. Por eso, precisamente por eso, creamos función. Entonces hacemos un inteligente, no duro, escribimos una vez. Usamos muchas veces de ese código. Ejecutemos nuestra aplicación. Minimiza esta escritura 11 y 22, y presiona más. ¿Qué acaba de pasar? Déjame mostrarte otra vez. Haga clic aquí, presione menos, haga clic aquí, división. Haga clic aquí, multiplique nuestro teclado de teclas programables, teclado virtual aquí, alturas. Como digo, ¿qué hace cada parte del código ? No debemos saberlo. Bien, sé que usamos el servicio del sistema y otras cosas. Pero no debemos confundirnos en el inicio. Debido a que no es un código complicado, solo esconde tu entrada suave de la ventana. Pero aprendemos esto en el futuro y muchas otras cosas. Podríamos decir, Bien, por favor usa este código. Otro ejemplo ejemplo sencillo, esto aplica. ¿Sabes qué hace esta parte? Tiene muchos códigos en su interior para hacer lo tuyo. Pero solo lo usamos para hacernos la vida más fácil. Lo usamos incluso aquí para hacernos la vida más fácil para hacer nuestro código la y una cosa más, la vinculación para hacer la encuadernación tiene mucho código, pero no debemos saber las cosas específicas que detrás de escena hace. Esto es lo que creo básico que debes saber sobre las funciones. Escribimos estas cosas, así que al usuario o a nosotros mismos cuando queremos usarlas, no nos importa el interior. Nosotros solo usamos la función. Y entonces tenemos error, como digo, arreglamos el interior. Y después de eso, no nos importa el código. Nosotros solo usamos la función. Por ejemplo, venimos y decimos a seguido. Después de eso, no nos importa el código. Nosotros solo usamos la división. Bien, creo que es suficiente para este C D. Seguimos en la siguiente a la siguiente parte y aprendemos algunas cosas más para envolverlo nivel muy principiante. Muchas gracias. 48. Día 6: exporta apk y consejos Part2: X puerto APK y consejos parte dos. Bien, bienvenido de nuevo. ¿Dónde estábamos? Estamos viendo nuestro proyecto para ver ¿tenemos algún extra que aprender antes de cerrar donde empezamos un nivel? Acabamos de exportar un APK en video anterior. Ahora, continuemos. Lo primero es lo primero. Veamos esa advertencia amarilla. Tenemos una semana de advertencia. ¿Qué dice? función teclado alto podría ser privado. ¿Dónde está? Duplicé doble clic en él. Está en la línea 76. Está aquí dentro. Entonces quiero hacerlo. Hacer teclado alto. Privado. Así como eso a la derecha como podemos ver, función privada, clic, y tengo esta función privada. Ahora, no hay problema en la actividad principal. Escondo esto y tengo este cheque verde. Es realmente mejor. Siguiente consejo, cuando acabamos de instalar nuestro estudio de Android, tenemos proyecto bienvenido. Pero ¿qué tal ahora? Ya no tenemos eso. Pero podemos crear un nuevo proyecto usando el menú de archivos desde el menú principal. Simplemente presiono menú principal. Tengo este menú de archivo. Nuevo qué nuevo proyecto. Debido a que quiero crear un nuevo proyecto, simplemente hago clic en él. Tengo toda la plantilla. Solo mirémoslos para ver qué tenemos. Pero primero, permítanme cerrar estos y mirar al aire libre. Si hago clic en abrir, puedo abrir mis proyectos aller. Ya ves en este momento, estoy en el día seis, y este es mi titular del proyecto. Este es mi proyecto, mi calculadora. Ves este ícono verde de Android porque es un proyecto y puedo abrirlo. Simplemente selecciono esto y hago clic en Bien, y mi proyecto se abrirá. Bien, vamos a cancelar esto y volver al nuevo proyecto. Veamos el lado izquierdo. Tengo teléfono y tablet. También tengo OS. Es para el reloj relojes Android que la gente usa con pantalla muy pequeña. Ves, así como así, una pequeña pantalla. Y puedo crear una nueva app con seleccionar una de estas. Y solo hace algunas primeras cosas para mi app. Puedo crear empiba App o vaciar un poco Ty y la otra cosa Y también tengo esta televisión. ¿Qué es esta televisión? Es para televisores que tienen Android. Puedo crear para TV que tenga Android. Y correr en ese televisor. También tiene t actividad o con vistas y otras cosas. E incluso las otras cosas, no hacemos cosas con estas. Volvamos al teléfono y a la tableta. Y desde Internet, también puedes descargar otras plantillas. Pero volvamos al teléfono y a la tableta. No tienes actividad sin nada ni actividad vacía y actividad vacía y sencilla. Entonces, según entendemos, todas estas son algunas actividades previas al regreso. Estos proyectos son buenos para ayudarnos a comenzar. Pronto. Ahora la actividad está vacía. La actividad vacía, como puedes ver, el icono es de la manera diferente. Ya no hablamos de eso. Las actividades de vista básica crean, ya que también puedes ver estas herramientas básicas para nosotros. Entonces tenemos menú sencillo, botón simple. El siguiente nos da unos toques que podemos cambiar entre estas pestañas. El siguiente solo nos da actividad vacía. Sencillo como acabamos de crear. Se puede ver este como menú, por ejemplo, puedes poner perfil y otra cosa en la parte superior y crear actividad de juego con Cipos más Neative Cip plus Creo que es suficiente solo hablar de todo esto. Por supuesto, es una visión obvia, receptiva. Crea una vista que responde para ti. Responsive es el tipo de cosas que cuando tu pantalla se hace más grande o más pequeña, cambia de tamaño. También tenemos esto en la web. Si olvidaste qué qué y cuál de ellos hace lo que simplemente puedes mirar las fotos. Es muy fácil. Por ejemplo, esta imagen no tiene nada y debajo de eso te dice, ¿qué hace? Y por cierto, simplemente no elegimos ninguna actividad. Ninguna de estas categorías y ninguna de las esempladas, ninguna actividad . No necesito nada. Acabo de crear a partir de cero. Siguiente. En la página siguiente, tenemos nombre. Por ejemplo, decimos calculadora para nuestro proyecto. Tenemos este nombre de paquete. Y como decimos, es un código postal único, puedes considerar para una casa. Si tienes una casa, tiene un código postal único, y en el nombre del paquete, tienes un nombre único como dominio para sitios para tu aplicación. Las personas pueden marcar la diferencia entre tu app y la otra app. Esto es muy útil cuando quieres poner tu app dentro de Google Play. Por lo general, es de tres partes como puedes ver, o puede ser de cuatro partes. Así, pero tiene algunas raíces. Por ejemplo, si solo limpio. Dije, el paquete debe tener al menos un separador de puntos. Y si pongo punto dice que los segmentos del paquete deben ser de longitud no nula porque tu segunda sección no tiene nada. Bien, digo A. El error se ha ido, pero no es un buen paquete ne. Es mejor tener por ejemplo.com y tu nombre secundario. Sigue eso. Por ejemplo, tengo 70 20 four.com, y dice que un dígito no puede ser el primer carácter en una declaración de paquete, Así que no puedo comenzar con el siete Digo sitio. Después de eso, este es mi sitio 724 le.com. Y después de eso, digo, entonces, ¿qué debo hacer ahora? Yo digo hacer mi nombre de aplicación, por ejemplo, calculadora, por ejemplo, noticias. A lo mejor tengo una app de noticias. Pongo noticias. Entonces es por este lado y esta aplicación, y puede ser una aplicación única y un nombre de paquete único porque uso mi propio sitio y el nombre de mi aplicación dentro del nombre de este paquete. Además, ya ves, si presiono espacio, no puedes usar este espacio dentro de este nombre. Tiene unas reglas simples y te dice lo que puedes y no puedes hacer. ¿Qué tal si pongo, por ejemplo, B W para esta noticia ¿Está bien? No me da ningún error, pero es lo más común. Es muy común no hacer esto. Siempre aunque el estudio Andre no me dé ningún error, siempre uso una letra minúscula y puntos así como este mi sitio y el nombre de mi aplicación. Nunca uso Por ejemplo, caracteres especiales. ¿Ves? No está permitido. Ame simple, sitio simple, y estos puntos separados que separan tu nombre. De todos modos, guarda tu ubicación, donde quieres guardar esta app. Entonces como acabo de mostrarte, puedes abrir tu app más tarde. ¿Cuál es tu idioma? Bien, yo uso Cut. Puedo usar Job Pero Google recomienda el cutling, y es más potente más fácil Creo que es mejor. Es idea mía. Puedes usar Java, pero la mayoría de las veces usa Cutling. Creo que en este año y en el último año, no uso Java ni una sola vez. La mayor parte del tiempo cortando. Pero sigue ahí y si lo necesitas, puedes usarlo. Desde mi experiencia, si tienes 100 líneas de códigos con Java, si quieres hacer lo mismo con cutline, tienes alrededor de diez a 20 o tal vez 30% menos de código Como recuerdas, decimos, menor a, quiero decir, función de código a distancia y código inferior Es mejor porque puedes arreglar el error con más facilidad. Ponemos mínimo etc en Android siete. Se puede elegir más bajo, pero no lo recomiendo. Verás, tengo hasta 4.1. Ya que tenemos máximo 14, pongo mínimo siete y cuando tenemos máximo 15, pongo mínimo ocho. ¿Por qué? Porque Ves ese sistema operativo. Crece el sistema operativo Android va para el siguiente nivel. Obtiene características muy nuevas. Y cuando seleccionas android muy bajo, por ejemplo, si elegí 4.1, mi depuración, mi resolución de errores se volvió demasiado complicada Creo que me sale tanto error y nadie casi nadie o una gente muy pequeña tiene este Androides. ¿Ves? Justo ahora pongo este Android 790 6% 0.5 de los dispositivos van a ejecutar mi app. ¿Por qué? Porque el resto de la gente tiene esos androide más bajos. Es solo un pequeño porcentaje, pero mi depuración, mi manejo de errores, mi desarrollo se hizo mucho más fácil Por lo que no recomendaré construir para Android desactualizado. Alrededor de siete versión de Android reciente es buena. Creo que es por defecto. Cuando abro Android studio, es Android siete predeterminado. Creo que el año que viene, se convierte en Android ocho por defecto. ¿Por qué? Porque es recomendable, solo deja atrás las versiones muy, muy antiguas. Cree el último recomendado, no voy a cambiarlo. Y cuando presiono terminar, crea mi a. Bien. Sólo cancela. Y en el nexto, seguimos viendo ¿qué más podemos revisar y qué puntos nos perdimos? Así que los aprendimos también. 49. Día 6: exporta apk y consejos Part3: Exportar APK y Tips parte tres. Bien, bienvenido de nuevo. Parte tres, cuatro, algunos otros consejos. Antes de empezar, mira, si presionas nuevo proyecto, y por ejemplo, éste, busca STCs disponibles para descargar Debido a que no estamos conectados a Internet en sesión anterior, ves que hay derecho para ti. Esto podría ser viejo. Debes conectarte a Internet para comprobarlo. Pero cuando te conectas a Internet, ya no ves eso. Y solo comprobando si algo ha cambiado. Y después de eso, tienes esto así. Yo solo lo reviso mi video anterior y veo porque no me conecté a Internet, ves ese mensaje. De todas formas, cáncer, y por supuesto, estable y buena conexión a Internet. Eso lo necesitas. Otro punto, Para construir tu proyecto, necesitas algunos archivos Android Sudio de los servidores de Google Y si no tienes una buena conexión a Internet, no la tienes. Puede que no los tengas y luego tengas error. Tienes error sin motivo alguno. Exactamente, por eso, deberías echarle un vistazo. Ante todo lo demás, tienes conexión a Internet y tienes el archivo necesario. Si algunos de los archivos se descargan completamente o se rompen o cualquier otra cosa, puedes invalidar tu caché y borrar tu caché y volver a descargarlos. Y también deberías revisar estas tres cosas opcionales. Entonces hasta Andrew el Sudo, haz esto muy limpio, muy profundo, y mejor Incluso borra la caché del sistema fil de su historial local. Puedes revisar todos estos tres. Por supuesto, si tienes crash para nosotros entonces error para no reson y tienes una conexión a Internet Ahora, puedes hacer esto si Klose y open android studio no son suficientes En fin, solo lo cancelé. Bien, acabo de abrir este proyecto. Y ya ves este cheque verde. Este cheque verde significa que está bien. Entonces no tengo problema porque si tengo error, como digo, debo arreglarlo. Y claro, mis clases tienen este cheque. Casi revisamos todas estas cosas. No creo que muchas de estas cosas necesiten ser revisadas. Por ejemplo, incluso hablamos de las opciones de tres puntos y tres apariencia, Paquete medial compacto y pulsamos sobre él y ves parte por parte el nombre de tu paquete así. Estos tres puntos, de tres apariencia, paquete medial compacto. Cambia esto. Ya que hablamos de todos estos temas. Déjame pensar qué más nos olvidamos de decir para nuestro nivel final muy principiante. Una cosa más, mencioné, si vengo y hago clic en nueva actividad vacía V actividad, acabo de recibir un error. En ocasiones Andre Sudo tiene errores. Puedes reportarlo. Entonces el equipo de Andre Sudo lo arregla. Yo solo presiono el reporte er. ¿Cuál es el problema? Si hago clic derecho sobre este joder y nuevo y actividad, vacíe V actividad. No pasa nada o simplemente dame un error. ¿Por qué? Puede ser Android Studio. ¿Error? Puede ser mi problema o cualquier otra cosa. No lo sé. Ya que estamos a nivel muy principiante. Pensamos ¿qué debo hacer? Nosotros solo lo comprobamos. Prueba de Android. ¿Qué es esto? Sólo doble lo recon. No lo creamos. Entonces, ¿dónde está nuestro principal en nuestra actividad principal aquí? Verás, no sabíamos lo que acababa de pasar. Así que sin ir a ningún detalle, simplemente damos clic aquí, clic derecho y en aquí creamos nuestra actividad MTV Yo sólo pienso que a lo mejor te pasan estas cosas. Puede ser Andrew studio bog, y puede ser tu culpa. En nivel gar, no te preocupes por. Un Solo aprende y aprende. De todos modos, haga clic. Tenemos esto. Acabo de mencionar otra cosa. Puedes elegir tu idioma de origen. Nuestro idioma es cul pero es posible que desee crear algunas de sus actividades con Jo Está bien. Puedes tener tu co, tu proyecto, completamente con Katlyn, o completamente con Java O con ambas algunas páginas, con Katlyn, algunas páginas con Java, está bien. Es otro consejo. Y podrías trabajar con un equipo. Uno de los miembros de tu equipo quiere trabajar con Java. Una de ellas con Katlyn, creo que no es recomendable no me gusta hacer eso, pero. Está bien. O un ejemplo más, encuentras códigos con lenguaje Java en Internet y quieres usarlos dentro de tu proyecto. Está bien porque Y el estudio los apoya a ambos, algunas de tus clases que copiaste o tomaste de otro proyecto o de Internet o de tus compañeros pueden ser Java y tu propio código puede ser Cortar Está bien. Simplemente cancelo esto. Un consejo más, ejecutamos nuestra app dentro de nuestra voz virtual. Tenemos otras opciones. Por ejemplo, podemos conectar nuestro propio teléfono con cable USP o Wi Fi a nuestro equipo y ¿recuerdas ese APK de depuración que creamos Android studio creamos ese tipo de APK y lo enviamos a tu teléfono y lo ejecutamos Y puedes ver qué pasa si, por ejemplo, se produce un error en tu teléfono. Y creo que es realmente mejor porque en lugar de emulador dentro de Android, lo tienes en dispositivo real, pero no comprobamos este tipo de cosas en un nivel muy inicial. Yo solo que sepas que puedes ejecutar toda tu prueba en tu teléfono real. O incluso varios teléfonos, no solo un teléfono. Tienes tal vez uno, dos, tres teléfonos con Android 11121314, y quieres revisar los cuatro teléfonos para ver si algo sale mal Un consejo importante. Te recomiendo si quieres probar en un teléfono, encuentras teléfonos que tengan el número más vendido. Para tus pruebas. Por ejemplo, ve el mercado en tu país si quieres lanzar localmente o países enteros para ver qué tipo de teléfono y qué modelo tiene más celulares y compras ese teléfono. Para que puedas probar en la mayoría de los dispositivos así como así. Yo hago esto, y lo recomiendo, pero puedes elegir otra forma. Y hasta se puede hacer esto con dos o tres teléfonos? Por ejemplo, ¿encuentra tres teléfonos más vendedores y prueba tu app en esos tres? O por ejemplo, una de ellas sea una tableta de pantalla más grande, 12 o 13 pulgadas, y dos de ellas sean teléfonos normales. Déjame revisar una cosa más. Ya veo. Hablamos de gradio Sí, creo que hablamos de ello, pero vemos la versión No, no lo hicimos. Podemos cambiar la versión de nuestra aplicación aquí. Por ejemplo, nuestra versión es dos. Ves pla si revisas, tienes una app es versión, por ejemplo. 20. La siguiente versión es 21. La siguiente versión es 21.5. Y así sucesivamente puedes cambiar las versiones aquí, y también puedes nombrarlas. Por ejemplo, mi nombre de versión es 1.0, 1.1, y mi versión se vuelve dos o como digo, mi nombre virgen es 10.0, y mi código virgen es, por ejemplo, 20. Y mi próxima versión es la 21, pero solo hago una pequeña diferencia. 10.1. El primer número es para los cambios de cerdo. Eso no lo cambiamos mucho. Para pequeños cambios, cambiamos el número después de eso. Por ejemplo, uno o se convirtieron en dos. Creo que deberíamos especificar video diez o 20 minutos solo por cómo podemos agregar nuestras versiones. Solo ten cuidado. Lo acabo de mencionar así que me aseguraré de que lo entiendas bien. El código de versión es un entero. Lo que no puedes poner punto en esto. Te da er. Es un entero. 21, después de eso, ¿qué acaba de pasar? ¿21.1? No, 22. El código virgen es para ti. Nombre virgen es el nombre que le muestras a tu usuario. Entonces solo lo cambio y es una cuerda. Verás, esto, y esto, es una cuerda. Entonces simplemente puedes decir, Bien, ahora es 0.1. Pero si dices 0.1 error, no hagas eso. Y también SDK y SCs míos y otras cosas que tenemos, no hablamos Apenas estos dos. Recuerda una vez más. Esto es entero 201-20-2203, y sin punto. Esta es una cuerda y el nombre virgen es lo que elegiste usar. Pesto, ya ves esa virgen. Esta es la cuerda que se ve en las peleas. Como recuerdas, cuando cambiamos algo, deberíamos s. ¿Por qué? Déjame minimizar esto Porque archivos gradle han cambiado desde el último proyecto Entonces es mejor que sincronices tu proyecto cada vez que cambias, y nosotros no cambiamos demasiado a gradle. Este es un archivo importante. Ten cuidado. Ya que como digo, tu nivel principiante muy principiante, por favor no cambies las cosas que no sabes cuales son esas. Por ahora, apégate a estas cosas que acabo de decir, pero no demasiado. Por ejemplo, no puedes simplemente cambiarlo 1-2. Está bien, cámbielo a dos y la versión 1.2 se convirtió en 1.1. Está bien. Bien. Vamos a presionar cosa ahora esperando. Ves si hago clic en esto, me muestra esta tarea de fondo. Bien. Entonces se terminó con éxito. Permítanme simplemente cerrarlo y abrir y actividad principal para ver qué tenemos en nuestra actividad principal? Tengo esta vista de diseño. Puedo ver mi actividad lo más cerca posible de la vista del usuario. Y también tengo esta división, y también tengo este código. Déjame revisarlos. Dividir. Tengo mi código y mi modo de diseño de vista. Código y diseño. Ahora, código solo código de nuevo, código derramado y diseño y diseño solo diseño ¿Ves esta paleta? Tenemos algunas categorías, comunes los objetos más comunes, texto, ben, diseños rígidos. ¿Te acuerdas? Tenemos diseño lineal, WordCD, tenemos disposición lineal, contenedores horizontales, ayudantes, Google, evento de visualización de mapa, y los demás Entonces déjame ver pero. Añadimos boten. Por supuesto, usamos material, pero Sencillamente, si estamos en diseño, y queremos agregar botón, podemos agarrar esto, tomarlo, tomarlo, soltarlo. Tenemos nuestro botón. Y como estamos en el diseño de restricciones, ¿qué debemos hacer? Ves el error abrir este error. Larga historia corta, dice, deberías conectar esto con soware Por ejemplo, hasta aquí. Y conecta esto aquí. Por ejemplo, estos dos aquí, el error se ha ido. ¿Por qué? Porque en? Diseño de restricción, debe especificar cómo se mostrará mi objeto en el otro lado, por supuesto. Ves de dos lados, tengo que conectar dos lados para eliminar mi error. Pero es opcional. Añado mi tercera cara. Incluso puedo conectar esto a aquí a aquí o incluso a aquí. Esto se relacionó con esto ya que me conecté con ellos. Y si miro la división, mi objeto está aquí. Restricción de la mitad inferior a superior restricción n al final del inicio para comenzar. Si me quito uno de ellos, por ejemplo, esta Esa línea ya se ha ido. Los otros tres, como pueden ver, uno, dos, tres, los otros tres quedarán. Así que incluso tengo este amarillo debajo de la línea, déjame solo presionar control z para tener mis cuatro líneas que están conectadas. Bien. ¿Qué dice? Yo digo, por favor ponga esta cadena, la cadena de botón en recurso de cadena porque es mejor. En el futuro en los cursos futuros, tratamos de bajar este tipo de advertencias tanto como podamos. Pero por ahora, no te preocupes por esto también. Como recuerdas, te recomiendo que escribas estos códigos tanto como puedas. Por supuesto, puedes ir al modo de diseño y verlas para entender qué tienes y cuál es su nombre. E incluso agregarlos. Cuando los agregues, puedes ver el código. Pero creo que es mejor. Te recomiendo es mejor escribir el código para cada objeto. Sé que es más fácil usar el diseño. Porque solo me arrastro y me subo. Pero creo que es mejor que practiques para usar tanto como puedas el código. Esta es mi recomendación. Una cosa más como veo esta vista de código, creo que no mencioné. Esto es con el lenguaje ema. Escribimos la vista completa con el lenguaje Mel. Lenguaje exemal tiene este eMel al principio. Sólo quiero que lo sepas. Este es el lenguaje ema, y toda la estructura de nuestro punto de vista está en el lenguaje emer. Volver al botón, Ahí está nuestro botón. Este es nuestro botón y vista. ¿Qué más tenemos? También tenemos atributos. Aquí se ven atributos. Atributo para qué, para este botón. Como recuerdas, solo escribimos código. ¿Por qué? Porque es mejor. Pero si no recordamos o simplemente queremos aprender algunas de estas cosas, podemos en atribuir y usar algo de eso. Y luego escríbelos en código. Por ejemplo, quiero que estos estén un poco abajo, abajo, abajo como aquí, 89 90%, por ejemplo. Ves que me tiemblan las manos. No puedo poner 90. Es 87%. ¿Por qué? Porque es pequeña y Por ejemplo, me está temblando la mano. Y los otros 144 horizontales y, déjenme simplemente ir a dividir. Tengo 87%. En vertical, 87%, lo tengo. Cámbialo a 90. Aquí no me tiembla la mano. ¿Ves? ¿Por qué? Porque este es realmente un lugar pequeño muevo mi mano. Pero aquí adentro, simplemente no tengo ese tipo de problema, porque escribo. Si no puedo llegar a equipos y quiero ser más específico, más profesional, utilizo este código. Pero para empezar en el principio, como digo, ha venido aquí y decir: Bien, ponlo a la derecha, al 100%. Si quiero el 99%, puedo ir aquí y digo 1.0, no, 0.99, 99% Regresa, tengo el 99%. Como pueden ver, tengo esto común en homenaje. Al principio, y tengo todos los atributos. Más común en la parte superior. Común. Más adelante, estos y todos los atributos aquí abajo. ¿Ves? Si hago clic en él, tengo todos estos atributos. Si quiero encontrar algo, vine aquí, encuéntralo. Pero la mayoría de las veces trato de usar código. Espero no explicar también porque solo quiero que sepas lo importante que es escribir con código. Bien, vamos a cerrar el video, pero sólo una cosa más. Déjame solo porque abro esto. Yo solo te muestro si voy a dividir, solo puedo tomarlo aquí y dar click derecho o abrir atributo. Tengo este margen que lo mueve, y solo puedo abrir esto y quitarlo. Yo escribo algo mal, Y además, si solo subimos. Verás, solo conecto esto a aquí y puedo presionar en este patrón x o simplemente eliminarlo en código o presionar esta x, simplemente eliminado. Entonces podemos D esto pero a la izquierda Android no se conecta a ningún lado. Tenemos este error. No puedo moverlo hacia arriba y hacia abajo. Verás, no puedo moverlo a Android izquierdo. ¿Por qué? Incluso si conectamos esto aquí, puedo moverlo de izquierda a derecha, porque primero debo conectar el lado izquierdo a alguna parte, luego porque mi izquierda y derecha conectados a alguna parte, puedo moverlo. Mencioné esto porque si viniste ver que no tienes esos botones, no te preocupes este botón. Verás, yo lo selecciono, pero no puedo seleccionarlo ahí. Acabo de llegar al código para tener acceso a mi botón. Yo le hago clic, clic, clic, clic, lamer, clic, clic. Puedo acceder a él. ¿Por qué? Porque en vista de diseño, a veces suceden este tipo de cosas. Si tienes el mismo problema, click, click, click, no puedes tenerlo. Así que simplemente divide o incluso código, da clic en él. Ahora lo seleccionas porque estás en ese botón. Ahora, volvió al diseño. Tienes esto aquí y puedes cambiarlo porque ahora lo seleccionas. A veces incluso Andrew el estudio tiene pantano y por eso, simplemente puedes hacer lo que quieras en código La mayoría de las veces es mejor que el diseño. Pero en el diseño, como pueden ver, tengo muchosth, y puedo cambiar estas cosas simple y rápido y ver qué acaba de pasar en el segundo Entonces, deberíamos combinar estas dos cosas. Pero la mayor parte del tiempo voy al código. Gracias, y te veo en el siguiente video. 50. Día 6: exporta apk y consejos Part4: Exportar APK y consejos parte cuatro. Donde nosotros. Simplemente te mostramos el modo de diseño y hablamos de estos objetos. ¿Tenemos algo más? Sí, claro. Ves aquí componente, ven aquí y da click sobre esto. ¿Qué tienes aquí? Tiene su diseño de restricción. Bajo eso, cada uno de tus objetos. Si haces clic en alguno de ellos, seleccionaste. Disposición interior, anuncio BTN, Bt BT BTN, TX V tX resultado y el botón ¿Qué es este botón? Este botón, el último botón que agregamos. Entonces los tenemos como un árbol. ¿Por qué? ¿Qué significa eso por árbol? Significa que dado que este primer valor de DTI está dentro de ese diseño de entrada primero, está un poco a su derecha Ya ves, y si cerramos esto, no vemos eso ni trazado lineal. Dentro de esta disposición lineal, tenemos cuatro botones. Estos cuatro botones, si lo Kels, T view es así y ábralo Kelst pen it Déjame mostrarte, proyecto, tienes estas tres vistas, Kels abierto, Klos Así como así, también tienes estas tres vistas, Kels abiertas Bien, ¿qué sigue? Tenemos algunas cosas arriba en este lugar. Permítanme minimizar esto y minimizar esto y ¿qué tenemos aquí? Tengo dispositivo para vista previa, ¿ qué dispositivo quieres? No puedes tener tu adelanto en la televisión. Puedes tener tu vista previa en relojes, Smartwatches, y el otro que veas Incluso autos, ¿qué más tengo? ¿Este botón? ¿Qué dice? ¿Modo Sistema I? Déjame simplemente presionarlo. ¿Qué tengo? No de noche. No noche significa vista normal. La mayoría de los teléfonos están a la vista normal. Pero a veces tu teléfono está a la vista nocturna. En vista nocturna, tienes colores más oscuros. Así tus ojos se ponen más cómodos. Déjame mostrarte vista nocturna. En vista nocturna, tu app se ve así. Para que puedas echarle un vistazo. ¿Puedes ver cosas en vista nocturna? ¿Puedes leer números, leer los botones en vista nocturna ¿Está todo bien a la vista nocturna? Solo recuerda, es mejor depurar y revisar tu aplicación también en vista nocturna. Volvamos no de noche. ¿Qué orientación tenemos? Lo que vemos es retratado y también tenemos paisaje. ¿Qué es? Es solo que parece que pones tu teléfono a un lado. Por supuesto, puedes bloquear tu app en la configuración, para que tu app no se mueva de este lado. No seas así. Pero si quieres ser así, deberías dividirlo también en este modo, pero la mayoría de las veces, personalmente solo lo cierro en esta vista. Qué más diseño. Superficie, tengo el diseño. Pero también me da olvidarme de todas las otras cosas. Déjame mostrarte el plano. Esto es estampado azul. Ya ves, y también puedo ver diseño y plano al mismo tiempo Ya ves lo útil que es. Pero por lo general, lo puse solo en diseño, y a veces lo pongo en diseño azul y estampado azul, y luego lo vuelvo a poner en diseño. ¿Tenemos algo que debamos echarle un vistazo a nivel muy principiante? Sí, por ejemplo, solo podemos mirar estos lineamientos, hacer clic en él, directriz vertical. L et me acaba de agregar uno. Añado esta pauta, muevo hasta aquí para comprobar, es esto con esto con que son edad o no. Me ayuda a ver qué objeto hay ahí. La mayoría de las veces lo uso para esto. Tiene muchas otras cosas que hacer. Pero la mayoría de las veces lo uso para esto. A lo mejor hablamos de las otras cosas que puede hacer, y por supuesto, de las otras en el futuro, pero por ahora, ¿cómo puedo quitarlo? Este es el punto. Te traigo aquí para que digas, ¿Cómo puedo quitarlo ahora? Hago lo que sea. Aunque cierre estudio Andrew y vuelvo. Todavía está aquí. Oh, no, ¿qué debemos hacer? Sólo ves ir a un split o código. Y ver. Este es un objeto. No es una línea invisible. Realmente es un objeto. Entonces solo lo seleccionas y elimínalo. Es un punto muy importante. Creo que a tu nivel principiante te puede resultar muy útil. Bien. ¿Qué más ves esto? Esto también es realmente interesante. Haga clic aquí. Mostrar todas las restricciones. Mira la página y da clic en ella. Ya ves ahora vemos estas conexiones, ¿qué a qué? Si lo reviso compruébalo y no tenemos ninguno de ellos. Y tampoco el amor. Podemos verificar la interfaz de usuario del sistema. Sí, podemos verificar la interfaz de usuario del sistema. Si revisas la interfaz de usuario de este sistema, tienes esta obstrucción y batería y otra cosa en la parte superior como espuma real Puede ser útil. Depende de ti. Normalmente solo lo reviso. Nada realmente importante aquí. ¿Qué más? Y atributo, déjame mostrarte una cosa sobre los atributos. Verás, solo hablamos de estos atributos. Aquí hay muchos atributos, y aquí hay mucho menú. No puedo hablar de todas estas cosas. Pero solo te muestro un ejemplo. Atributos, tienes visibilidad. Por ejemplo, mira este botón. Si pones esta visibilidad y haces clic en este desplegable. Ves que tienes tres opciones. Por ejemplo, si digo invisible, esto ya no es visible. Si digo visible, lo veo. Yo selecciono este texto y lo borro por defecto, la visibilidad es visible. Volvió al default, y tengo tantas otras opciones y atributos. Hablamos de ellos en el futuro. Y déjame ver cualquier otra cosa. Simplemente podemos envolverlo al día e ir al nivel principiante. Oh, una cosa más. Déjame mostrarte esto también. Verás, tenemos este.it primer punto de valor. ¿Qué es este punto? Este punto te muestra lo que tiene la propiedad que tiene o la función que tiene dentro un objeto o una variable o cualquier otra cosa que le pongas este punto después. Por ejemplo, este valor DT fverse tiene una propiedad de error o ejemplo simple, ejemplo más simple Tenemos este texto de punto de resultado tx. Entonces nuestros resultados tx tienen una propiedad llamada text, y también tienen visibilidad del nombre de propiedad , Verás, tienes todos los demás atributos aquí. Ves esto, ves, botón de texto, cambias este texto. Tú cambias este texto. Déjame mostrarte. Ck aquí, presione punto. Nada muestra espacio de control. Por último, se nota. Tengo texto tengo error. Tengo funciones como cadena. Tengo insinuación y muchas, muchas cosas. Presiono V. tengo visibilidad. Puedo cambiarlo aquí. Y claro, como ves, tenemos muchas otras cosas. Por eso, presiono V. Entonces solo me muestra las cosas que tienen V y, como pueden ver, me muestra las cosas desde el principio primero, uno, dos, tres, cuatro, cinco, seis, siete, ocho, T, eso tiene al principio. Otras cosas que tienen, por ejemplo, que tiene, por ejemplo, en el medio o después estas y si quiero cambiar de visibilidad, debería elegir esto y equivale a lo que quiera. En cualquier lugar que yo quiera. Por ejemplo, después de una facilidad. Si algo pasa, mi botón se volvió invisible o otro de mis botones se hizo visible así como así. Creo que es suficiente para el nivel muy principiante. Pasemos al nivel principiante. Empezamos con un proyecto y esperamos que lo disfrutes. Trato de enseñarte tanto como puedo. Ya que he enseñado tanta experiencia, espero poder enseñarte bien y aprendas mucho. Por favor, si tienes alguna idea para mejorar este curso, dame un mensaje y dame tus ideas. Estas ideas, tus comentarios, tus reseñas. Todas estas cosas son muy, muy valiosas para mí y tienen mucho valor para mí. Gracias. Antes de terminar esto borra esto y presiona delete sobre esto porque quiero poner la fuente para ti también. Gracias. 51. Día 7: introducción del juego: Introducción al juego. Queremos crear un juego como este. Al igual que nuestra sencilla calculadora que hacemos juntos y aprendemos muchas cosas, queremos hacer esto juntos. Entonces primero, queremos planear nuestro proyecto. Entonces, ¿cuál es la descripción de mi proyecto? Y por ejemplo, cuántas páginas tiene este proyecto y cada página. ¿Qué tiene cada página dentro? E incluso, ¿qué hace cada parte de cada página? Debo especificar todo esto. Entonces puedo empezar. Entonces comencemos. Mi juego tiene una página. Esta es mi página de juego. Este es mi juego de números de adivinanzas. Usuario en tres un número aquí y un número aquí en esta casilla, y luego tres un inicio. También quiero que esto y esto y esto se oculten. ¿Qué significa eso? invisible no se muestra por defecto. El usuario sólo puede ver la primera y segunda caja y el inicio. Y claro, el informe y el resultado. Justo cuando el usuario presiona un inicio, esto y esto se hizo visible. El usuario. Poner el número uno dentro de aquí, número dos dentro de aquí, presionar inicio y esto muestra y sistema aquí dentro de nuestra codificación, decidir un número entre esto y esto. Entonces estos muestran al usuario. Entonces el usuario, cuando esto y esto se hicieron visibles. Inter el número. Presiona ir un número entre esto y este que el usuario ya ingresa ingresado. Dado que el sistema, nuestro código, nuestro programa decide un número entre este y este, cuando un usuario ingresa el número y presiona go las comprobaciones del sistema hace que este número sea menor mayor o igual el número generado entre este y este. Entonces el sistema dice en el resultado es el número igual ¿ es mayor o menor? ¿Es igual ONU. En fin, también tengo botón de reporte. Cuando presiono este botón de reporte, el sistema muestra todas las conjeturas que el usuario hace dentro de aquí y lo hace visible Por ejemplo, si pongo dentro aquí diez y aquí dentro del sistema 100, decidir el número entre ellos. Por ejemplo, 50. Y yo digo: ¿Son 70? Los resultados dicen más bajo, digo 60. Yo digo más bajo, digo 30, digo más grande. Y si digo reportar, si hago clic e informe, puedo ver ¿Cuáles son mis elecciones, mi historial de elecciones? Historia de conjeturas, perdón. Este es todo mi proyecto, y queremos aprender tantas cosas haciendo esto. Nuestro objetivo no es terminar nuestro proyecto tan rápido como podamos. Nuestro objetivo es aprender lo más que podamos. Bien, solo presiono abrir, y como quiero abrir desde el siete, elijo mi proyecto, y luego presiono Bien. Ya ves la cosa verde. Es porque este es un proyecto Android. Estoy esperando. Mi proyecto construye con éxito. Si entro aquí y ves esta factura, da click en ella, decía Construido con éxito en 30 segundos. Y claro, si mi proyecto necesita algo, también lo descarga. Por ejemplo, cualquier biblioteca faltante o puede ser una biblioteca que necesite actualización desde Internet. Minimice esto, minimice esto y vaya a nuestro código. Como puedes ver, seguimos haciendo este proyecto dentro de nuestra calculadora porque de esta manera, aprendemos algunas cosas más. ¿Cómo lo hacemos? Nosotros justo dentro de esta actividad hombre agregamos un botón, justo debajo de estos cuatro botones. Y si el usuario da click en ese botón, nos lleva a la página del juego. Entonces, ¿cómo hacemos eso? Abramos este proyecto. Abre esta app. Cuidado. Si este Android está en proyecto, puede que te confundas. Entonces debería ser en Android. Tengo este cutlin más Java. Yo la abro. Abro el nombre de mi paquete. Tengo mi actividad principal aquí. Esta es mi pelea de cutlin. Primero, solo déjame mostrarte el botón. Creo que ahí podemos aprender algunos puntos y consejos. Por ejemplo, quiero agregar mi botón, pero no puedo agregarlo en mi y lineal solo selecciono uno de ellos. Yo estoy aquí. Este es mi lineal. Por ejemplo, si acabo de copiar este control C y er aquí, control, tengo este plus extra y cambio el nombre en uno al final, así no tengo ningún error. Verás, todos los cinco botones, se sientan juntos en una línea. ¿Por qué? Porque es diseño lineal. Si agrego incluso cinco botones más, trata de ponerlos en una línea así como esta. Yo no lo quiero. Quiero mi botón aquí abajo. Y el botón grande, quiero botón grande para entrar a mi juego. Déjame cambiar este nombre a Ga. Ahora, tengo juego BTN. Como digo, no pueden estar uno encima del otro y son como una línea. El diseño lineal es horizontal o vertical. Si si es vertical, ellos de aquí, bajan como una línea. Incluso en ese caso, no están uno encima del otro. Así como así, se sientan uno al lado del otro. Así que no puedes agregar un botón extra aquí abajo. Es una línea. Incluso puede tener su diseño lineal de diseño padre. Así como esto, solo copio este diseño lineal. Verá este diseño de restricción. Si solo lo cambias a. Disposición lineal. Te da error, tengo error. ¿Cuál es el error? Deberías decir, ¿cuál es tu orientación? Vertical, horizontal. Yo solo quiero usar esta copia, horizontal o no vertical porque queremos estar al revés de arriba a abajo vertical. Sí. Tenemos esto después de eso, esto, esto, después de eso, esto en ellos son el uno al otro. Y ninguno de ellos en la parte superior del otro. Incluso cuando decimos horizontal, ya ves que están fuera. Déjame ponerme el ratón aquí. Ves a la derecha, están fuera. ¿Por qué? Porque no pueden estar uno encima del otro. En fin, solo controla Z, control Z. B, atrás, atrás. Lo vuelvo a cambiar. Diseño de restricción. Bien, mi juego BTN. Bien. Permítanme solo minimizar esto, minimizar esto y los demás. Simplemente minimizo todos ellos y copio este botón. Quiero este botón. Control X. Porque quiero ponerlo fuera de esta disposición lineal. Entonces, luego minimizar esta disposición lineal. ¿Dónde lo pondremos aquí? O simplemente podemos ir aquí. Otro inter y control. Ves que lo muestra arriba a la izquierda y te da error porque dice que no lo conectaste a ningún lado. Estos cuatro círculos son blancos. Deberías conectarlos a alguna parte. Se trata de un diseño de restricción. Debes conectar estos círculos blancos a ellos al menos dos de ellos, uno, de lado, uno de lado al menos. Por qué solo lo puse aquí abajo para mostrártelo. Verás, está aquí. Si solo controlo x y lo pongo aquí en vez control. ¿Hay alguna diferencia? No. Porque no importa donde pongas este objeto aquí o aquí. Está arriba a la izquierda hasta que le digas a tu objeto, donde debe estar conectado el tamaño del objeto. Deberíamos los lados del objeto para estar conectados a él no importa dónde y cómo sea nuestra orientación. Simplemente muestra todo lo que no especificas dónde mostrar arriba a la izquierda. Pero no lo hace en laico lineal. Ves en laico lineal déjame mostrarte Este es nuestro menos. Esta es nuestra división. Si controlo X corte esta división y controlo V, nuestra división ahora está antes de nuestro menos. Y nuevamente, control x, vuelve a ponerlo porque en disposición lineal. Primero, no se especifica dónde se muestran estos botones, se muestran por su orientación. Cómo los ordenas. El primer objeto muestra el primer objeto, segundo objeto, el tercer objeto, el cuarto objeto. Este es el diseño lineal. Pero en restricción, no importa. Debes conectarte y especificar cómo se mostró. Oh, este es el diseño de restricciones. Permítanme conectar de vista el círculo superior a abajo de esta disposición lineal. Todavía tengo mi flecha. ¿Por qué? Porque también debo especificar a la izquierda o a la derecha de mi objeto. Estar conectado con lo que. Entonces ves el código, solo agrega mi restricción de diseño de código de arriba a abajo, diseño lineal. Déjame escribir el código para el siguiente. Así que empieza a comenzar de un inicio de lo que ID diseño lineal. Entonces mi izquierda es donde el diseño lineal izquierdo está conectado a eso y mi parte superior está conectada a la parte inferior de ese diseño lineal. Doy click aquí y no tengo flecha. ¿Por qué? Porque digo mi horizontal y mi vertical al menos un punto en cada uno de ellos se conectan a donde. Presione presione entre aquí. Permítanme decir n a fin a fin de y presionar en disposición lineal también, y eliminar esto. Verás, es aún más rápido. Cuando te acostumbras a escribir, a veces es incluso más rápido de lo que quieres conectarlos aquí y más fácil porque tengo más control y más específico. Ahora, simplemente anuncio STR, lo cambiamos a juego STR. No tenemos ningún juego STR. ¿Qué debemos hacer? No podemos presionar e inter o simplemente esta paca ligera, digamos, queremos crear esta cuerda. Simplemente copiamos todo esto, y simplemente damos clic aquí. Crea también para árabe. Simplemente escribo juego y presiono. Ahora tengo mi botón de juego, como pueden ver, déjame solo esta mano, puedes moverla por esta mano con este botón, um fit pantalla, y con este botón 100%, y. En fin, nosotros solo un poco te refieres, ¿por qué? Porque quiero mostrarte con esta mano, esto es juego, mi botón de juego. Ahora, ¿dónde está este proyecto de cadena, recursos, valores, cadenas, mi inglés, default y cadena árabe Inglés, este juego árabe. También podemos traducir este árabe. Déjame solo minimizar este bajo esto pierde esto y Zoom para que se ajuste a la pantalla. Tenemos peso. Esto es para el diseño lineal, pero no estamos en el diseño lineal. Simplemente copiamos todas estas cosas. Así que quita esto. Entonces es contenido de envoltura. ¿Qué significa wrap content? Significa, tomar el espacio tanto como necesites. Como puede ver, escribe, la vista debe ser sólo lo suficientemente grande como para encerrar su contenido Por supuesto, además de agregar. Este es mi contenido de envoltura, solo de esta talla. Este tamaño. Pero, ¿de qué a medida que hablamos? Yo digo cero d p, toma de izquierda a derecha. Este dP cero funciona cuando tenemos el diseño de restricciones como nuestro padre. Capa, como podemos ver, tenemos diseño de restricción, por lo que podemos dar cero DP. Entonces conectamos izquierda y derecha. ¿Y si de extremo a extremo de ser eliminado? Ya no funciona. Tienes cero DP y solo funciona si izquierda y derecha están conectados, y el control izquierdo X no funciona, solo funciona entonces izquierda y derecha están conectados. Déjame mostrarte en nuestra vista de texto. Esta es nuestra visión de texto, abre esto y tenemos cero DP y hablamos de ello aquí. ¿Si digo envolver contenido? Es demasiado pequeño, se pega a nuestros datos. Si digo match parent, es demasiado grande. Va en nuestra opinión. Ya ves, está en nuestra vista de texto. Es demasiado grande. ¿Cómo puedo tener tamaño perfecto cero d p. no tengo interferir con mi vista de texto. Yo también minimizo esto. En fin, mi botón. Sólo una cosa más, ¿dije los números? Si digo, por ejemplo, en lugar de cero DP. 100 DP. Ves tamaño fijo, pero no bueno. ¿Qué tal 200 DP dos B 2202 B a un pequeño 20 DP a un pequeño Verás, ¿no puedo decidir qué debo hacer? Pero cero DP es perfecto. Sólo para que sepas, tienes este cero para ello. Pero como digo, debes conectarte si quieres usar para altura, círculo superior e inferior a alguna parte, entonces puedes usar cero DP. Y cuando usas cero DP, significa conectarte a la izquierda y a la derecha. Y para la cabeza, conéctate a la parte superior e inferior. Como pueden ver, me equivoco porque esta opinión está bajo esta vista de texto. Por eso, solo corté esto y lo puse aquí. Porque como hablamos, en el diseño de restricciones, no importa el orden de estos botones, porque estos se conectan entre sí por inicio o fin de restricción y los demás. Es mejor que ordene estos como los veo. Por ejemplo, esto antes de eso, estos y antes de eso esto. Por supuesto, antes que ellos, mi botón. Si no, podría estar confundido, tenemos nuestro botón. Queremos escribir código, Porque queremos hacer algo cuando hacemos clic en nuestro botón. Voy tras PT y aquí adentro, presione inter. Escribo Bt N. tengo cinco botones ahora, porque agrego juego TTN Si hago clic en BTN juego, lo que es click Pero establecer unclick oyente y adentro aquí, así como Ahora, puedo escribir mis códigos aquí. Selecciono algo incorrecto, pero déjame mostrarte. Si selecciona el otro oyente para deshacer clic. Por ejemplo, el primero, simplemente eliminas la cosa extra y agregas esto. ¿Por qué? Porque no queremos darle a esto ningún parámetro por el momento para este código. Como puedes ver, es posible que tengas diferente set on click listener, porque podemos elegir entre ellos. En fin, si seleccionas el otro, simplemente, por ejemplo, este, lo siento, por ejemplo, este, simplemente eliminas esto y agregas esto. Cambiamos y nueve, y luego si no agrega la parte de cierre, shift y cero en tu teclado. Y recuerdas ya que escribimos este aplique, no tenemos que decir vinculante que marca D PTN juego y otro signo de interrogación y el otro Escribimos fácilmente juego PTN. Incluso, no tenemos que escribir marcas de preguntas aquí, simplemente fácilmente. Y también, creo que recuerdas encontrar vista por ID que deberíamos escribir muchos códigos para encontrar nuestro objeto. Pero no queremos escribir eso aquí también. Solo usamos nuestro nombre PTN. Entonces si ahí, da clic en este botón, quiero abrir nuestra otra página, otra vista. Eso lo hacemos en el siguiente video. Entonces no hacemos este video demasiado largo. Gracias. 52. Día 7: página de juego: Página del juego. Como hablamos, necesitamos una página como esta, y en video anterior, solo platicamos cada parte ¿hacer qué? Bien, continuemos. Proyecto abierto. Tenemos esto aquí. Si ves esta parte por parte, simplemente haz clic en esta opción, haz clic en esta opciones tres apariencia, paquetes medios compactos, como este, o así, como este, o así. Lo mantenemos comprobado. Entonces haz click, tenemos esto aquí. Haga clic derecho aquí, nuevo qué, nueva actividad, ¿qué tipo de actividad? Actividad de vistas vacías, ver el pad o simplemente muévete. No hagas nada con los demás. Sólo tienes que ir a la actividad. Bien, haz clic en vacío ver actividad. Tenemos esta página que nos ayuda a crear nuestra nueva actividad. Y si elimino este número dos y le doy a esta actividad principal, dije que el nombre de la actividad debe ser único. Ya tienes esta actividad principal. No se pueden tener dos actividades principales. Vamos a elegir un nombre diferente. Por ejemplo, la actividad del juego. Como pueden ver, pongo letra mayúscula para iniciar mi cada w. y como ya dije si presiono espacio, me da error, así que no hay espacio. Dado que ya verifica generar un archivo de diseño, y si es true se generará un archivo de diseño, O nombre de diseño viene basado en nuestra actividad. Y la mayoría de las veces lo dejo así porque tiene sentido. Déjame probar eso aquí también. El espacio me da error, así que no hay espacio. ¿Es mi actividad predeterminada? O sea, si ejecuto la app, esta actividad es la actividad principal, no, no lo es. Entonces no reviso esta actividad de lanzador. Por supuesto, no voy a cambiar el nombre de mi paquete, y mi idioma sigue siendo cutlin porque vamos a enseñar cutlin en este Y ahora que veas este acabado, presiona este acabado. Ahora tenemos nuestra nueva actividad de juego, nuestra nueva actividad. ¿Qué tenemos en la actividad de maquetación subyacente al juego? Minimizar esto y lo tenemos aquí. En fin, solo comento estas líneas. ¿Qué queremos? Queremos ir en actividad principal en juego BTN Y cuando hacemos clic en este juego BTN, nos lleva a nuestra actividad de juego esa vista llamada actividad juego ML Escribo inicio actividad. Iniciar actividad. Necesita insumos. Hablamos de entrada en funciones. Entonces deberíamos darle una entrada a esto. ¿Qué tipo de entrada? Necesita intención. Entonces, si vas a esto y presionas control y presionas tu clic izquierdo, ves esto. Tienes dos tipos de entrada aquí. Solo puedes poner intención, y también puedes poner otra cosa después de esa intención. De todas formas. Yo sólo digo para más información. Si quieres ver cuántas opciones tienes? Ve a esa cosa. Presione control y haga clic y vea cuántas declaraciones tiene para este método. Entonces, vamos a completar este comando. Vaya aquí y escriba en el contexto de diez aplicaciones, y solo el botón escriba a la clase de actividad del juego M, Java no lo recuerdo. No olvides ese punto. Déjame explicarte de manera muy sencilla. Presta atención, presta atención. Con intención, digo, ¿qué quiero hacer? Esta actividad de inicio puede hacer muchas clases de cosas. Pero quiero decir lo que quiero hacer. Siempre y cuando la intención corta me ayude a comunicarme entre diferentes componentes. De muchas maneras en mi programa, y hace muchas cosas diferentes, así que no quiero complicarlo Así que usemos esta intención para navegar entre diferentes actividades dentro de nuestra aplicación. Queremos conocer este tipo de uso de intención por ahora. Nuestro primer parámetro toma contexto. Simplemente no hablemos del contexto y solo seleccionemos esto y escribamos esto en la actividad principal del signo. Nuestra actividad principal para ir donde la actividad del juego. No te olvides de este separador. Está justo al lado de M. Si elimino este control Java X, me da error no ok. Si elimino Ks , me da error no ok. Tan solo escribe así. Incluso si te olvidaste de uno de estos , te da error. Para escribir esto, debes presionar shift y el botón escribir en el, así como así. Entonces, por ejemplo, estas partes son fijas. Si tengo otra página, por ejemplo, actividad de inicio de sesión, queremos ir a por ejemplo, tenemos actividad de inicio de sesión. ¿Qué debemos escribir aquí? Fácilmente. ¿Ves esta línea de corte El nombre de nuestro código cutlin, lo escribimos aquí No hay actividad subyacente al juego, no, no, no. Nuestra línea de corte fina. Nuestro archivo cutl actividad del juego actividad esta parte es fija, pero este es el nombre de nuestro archivo cutline la segunda parte y la primera p y la primera parte, como decimos, tomar un contexto de ti Contexto de aplicación. Todas las actividades tienen un contexto de aplicación. Por ejemplo, nuestra actividad principal, incluso nuestra actividad de juego y todas las demás actividades que podríamos construir tiene esta. Déjame esconder esto. Todos ellos tienen contexto de aplicación, todos ellos. Ese es mi contexto. ¿Qué es el contexto? No te preocupes por eso por ahora. Pero si quiero que sea lo más sencillo que pueda. Es de nivel muy principiante y trato de ser sencillo como puedo. Este contexto de aplicación tiene algunos datos tiene algunos datos dentro de esta tarea de aplicación, e incluso de dónde vienen esas tareas. E incluso las opciones, no las configuraciones de esas tareas. Así que muchos de estos datos para nuestra aplicación están en este contexto de aplicación. Es algún tipo de variable. Bien, déjame decirte, esta es una variable que tiene algunos datos en su interior. De nuestra tarea de aplicación, y la información de esas tareas. Por ejemplo, configuración e historial de esas tareas. Sí, es realmente mejor. En pocas palabras, este contexto de aplicación es una variable. Tiene un conjunto de datos y estos datos para nuestras tareas, e incluso nuestras tareas, historiales, permítanme simplemente limpiar esto Pero como digo, no tienes que saber solo debes saber que tu intención, ¿dónde está nuestra intención aquí? Nuestra intención necesita un contexto. Entonces le damos esta intención, nuestro contexto de aplicación. Así como así, Y recuerden, tenemos muchas otras cosas con este contexto. Lo usamos de muchas maneras muchas veces y muchos otros lugares. Así que no te preocupes. Usamos mucho y te familiarizas con esto. Por una estrella y por ahora. Cualquier función que necesite un contexto, es más fácil porque la mayoría de las veces está bien. Le damos contexto de aplicación. Puedes escribir estas cosas en alguna parte o simplemente vemos muchas de estas cosas en futuros videos y entiendes. El contexto de aplicación es para esta actividad. Entonces queremos cambiarlo en vez de decir contexto de aplicación porque queremos decir, esta actividad, permítanme simplemente decir esto en signo actividad principal. ¿Cuál es la actividad principal? Esta es la actividad principal. Entonces me refiero a esta actividad, toma esta actividad principal. Toma esta actividad, sea cual sea el nombre de estas cosas. Esta, actividad principal. Y no olvides esto a la señal. Al turno de pecado y número dos en tu teclado al mismo tiempo, primero presiona shift, luego el número dos. Perdón si algunas de estas cosas ya sabes, solo que de verdad, de verdad quiero que aprendas muy bien. Esto es realmente importante. Deberías aprender muy bien. Bien. Entonces déjame explicarte más. ¿Qué dice cuando escribo esto? Esto significa esto. Es palabra inglesa. Esto significa esto. ¿Esto qué? Esto, esta cosa, esta cosa en la que acabo de entrar. Bien, ¿qué quieres de esto? Quiero actividad principal de esto. Entonces me refiero a esta actividad principal. Las palabras exactas en inglés. De esta actividad principal que quiero decir, quiero ir a donde? Quiero ir a la actividad del juego. Aquí, actividad de juego. Sabes por qué te lo expliqué tanto porque este tipo de equipos son los equipos, mis alumnos preguntan en clases. Pregunta a qué te refieres con esto? Quiero decir simplemente de esta actividad, ir a esta actividad. Esta es mi actividad en la que ya estoy. Déjame revisar. Ese es un video largo. Esto lo repetimos muchas veces. Queremos hacer algo. Queremos iniciar actividad, y decimos que tenemos esta intención de decir ¿qué queremos hacer? Como decimos, utilizamos esta intención para navegar entre actividades en una misma aplicación. Bien, de qué actividad, esta actividad principal a qué actividad a la actividad de juego, como decimos, podemos darle a esta aplicación contexto, y contexto de aplicación, darle esto exactamente esto. Porque el contexto de aplicación en este contiene esto. Estos son lo mismo. No te equivoques. Por último, solo escribimos una línea. Vamos a ver qué hicimos, Rn Dia. Bien, mi proyecto está listo, y esta es mi calculadora y mi primer número, segundo número, mi botón de juego. Si hago clic en este botón de juego, se ejecuta este oyente de clics de conjunto de juegos BTN Por lo que hago clic aquí. Y me muevo a otra página porque inicio actividad. ¿Qué actividad de dónde a dónde? De donde a donde. Bien. Déjame llamarlo de dónde a dónde de dónde a dónde de actividad principal a actividad de juego. Es mejor. No debería describir esto. No puedo estas cosas por ahora con mes simples. Iniciar otra actividad, ir de donde a donde de actividad principal a actividad de juego. Fácil PZ ¿Bien? Esta es mi nueva actividad, mi actividad de juego, y por supuesto, actividad subyacente al juego que XML. Esto es eso. Sin cortarles. No puedes ver ese código cutlin. Puedes ver este código XML. Ellos son diferentes. Esto es lo que ves. Estas son las cosas que el programa hace por ti cuando haces algo. Las reacciones. Sí, déjame llamar a este código de corte lin reacciones o cosas que quieras hacer y reaccionar. Sí, reacciones. ¿Por qué no? Déjame presionar esto de nuevo. Usted ve esto. Y otra vez, ya ves esto. Bien, termina de parar y minimiza esto. Y entremos aquí. Dividir esto. Sigamos con esto en el siguiente video. Creo que este video se hizo demasiado largo. Perdón por explicar demasiado. Traté de resolver cualquier duda que pudieras tener en mente. Gracias. 53. Día 7: organizar los objetos de página de juego: Organizar página de juego. Ahora es 0.4 crear esta página. Tenemos todos estos objetos de los que hablamos en video anterior. Ahora queremos crearlos. Video anterior en actividad principal damos clic en juego, y llegamos a esta página. Pero esto está vacío. Entonces, ¿cómo podemos sentir esto? Necesitamos ingresar, primer número, segundo número, para que el usuario pueda ingresar esos números. Simplemente vamos a la actividad principal. Nosotros tenemos esto, y tenemos esto también. Déjame simplemente cambiar la gravedad de principio a centro. Entonces se ven igual. Permítanme simplemente copiar este estilo también del segundo en el primero pegado y quitar las líneas vacías adicionales Entonces Y solo copio este estilo del segundo de ahí también. Entonces se ven como igual. Ahora son similares. Ahora, solo cierro kilos, kilos, y vamos a copiar esto. Control C, y aquí, juego de actividad inter control, y eliminar este comentario que acabamos de traer con nosotros. Tengo estos dos editar texto. Yo sólo copio esto, pero también puedes escribirlos. Por porque es mejor para aprender que escribes y le das a cada una de estas propiedades. Es una buena práctica. Por favor escribe estas cosas tanto como puedas. Para que puedas aprender cuáles son estos. Como te dije, deberías escribirlos tanto como puedas. Pero para no perder el tiempo enseñando, solo selecciono este botón. Este es mi botón y control C, control V, y por supuesto, minimizar esto. Ya que acabo de copiar, me da error, y porque aquí no tiene ningún diseño lineal. Entonces, ¿qué es este botón? Es inicio PTN, y también cambio el texto para empezar. Como pueden ver, no tengo ningún comienzo. Entonces presione inter o presione esta luz b, cree un valor de flujo para este recurso. Comprueba el árabe también porque tengo dos idiomas. ¿Cuál es nuestro valor? Inicio. Presiono. Entonces claro, ya que no tengo disposición lineal, debería decir Esta es mi segunda entrada. Quiero este diseño de entrada de ID en segundo lugar. Yo solo copio eso, pero puedes escribirlo en lugar de esta capa lineal. Esta capa lineal, solo la pego. Por supuesto, los dos superiores inferiores de lo que, no tengo capa lineal, por lo que la disposición de entrada en segundo lugar. Incluso cuando aprendes mucho, a veces es mejor escribir, para que no te olvides de las cosas. Desde la izquierda, conecta a la izquierda de esta, desde la derecha, conéctate a la derecha de estas, y desde arriba, conéctate a la parte inferior de esta. Ya ves después del botón de inicio, también tenemos una caja. Entonces simplemente copiamos esto así y vamos hasta el final ahí dentro y lo pegamos ahí. Tener error, ¿qué dice? Nuestro nombre es problema. Disposición de entrada, ¿cómo debería llamarlo? Aquí tenemos el número de pasante. Digamos que adivina, porque el usuario adivina el número, y por supuesto, DT, Sí. ¿Ves este pub ligero? Si entro aquí, el pub ligero se ha ido. A veces tenemos algunos errores, pero podrían ser Andrew Studio poner. Por ejemplo, si hago clic en otro lugar, los errores desaparecerían. Sucede. Y está bien. Cada nueva versión de Andrei Studio llegó y los bichos se volvieron cada vez menos Y claro, tenía este inicio PTN y donde debería estar de extremo a extremo de mi botón, de inicio a inicio de mi botón y de arriba dos de arriba a arriba de mi botón Pero como pueden ver, si digo de arriba a arriba de mi botón, mi cuadro de texto y mi botón b a la parte superior uno del otro. La parte superior de esto equivale a la parte superior de ese botón. Entonces creo que deberíamos cambiarlo. Déjenme decir que de abajo hacia arriba. Y si suceden este tipo de cosas, solo puedes seleccionar de aquí a aquí para eliminar la parte extra. Entonces, arriba de este objeto a abajo del objeto, solo digo de arriba a abajo de este. Cualquier otra cosa, déjame decir int? Oh, solo tengo una pista. Primer número, no, no, no. Permítanme cambiar esto también. SC R. Tu suposición. Así que adivina, no tengo una suposición SRO Vamos a crearlo y también en árabe. Solo escribamos tu suposición. Bueno, déjame mostrarte, tenemos las cuerdas. Sólo revisa. Aste tu juego de conjeturas y juego árabe asst tu suposición. Tenemos esto. Klose eso, Klose eso, minimizar esto. ¿Cuál es el siguiente? Tenemos este botón, este informe. Vamos a continuar. Entonces el siguiente es nuestro botón. Este patrón, solo copiamos esto y al final de esto. Yo sólo lo pego. Por supuesto, es PTN Por ejemplo, ir es un buen nombre, creo, y texto, ya no es un comienzo. CR ir. Ahora no lo tengo, así que vamos a crearlo. Ve y no olvides revisar este bic y. Entonces está en la parte superior del otro botón. ¿Deberíamos ser? Tengo este gas de diseño de entrada, control C, y cambio esta suposición de diseño de toput a una estadística de y al final gas de diseño de entrada y arriba a abajo de gues de diseño de entrada Así que mi botón de ir ya está aquí. Y déjame mostrarte si escribo EDT adivina, ¿qué pasó? Control C, Si digo gas EDT, me da error porque no puedo hacer eso Debería controlar C, conjetura de diseño de entrada. Porque no tenemos ningún gas EDT. Solo tenemos una conjetura de diseño de entrada para conectar estos. ver si selecciono engranajes EDT, no tiene esos círculos blancos Ya ves, pero el otro tiene esos círculos. Se puede conectar para conectarse a algo, pero éste no puede conectarse a nada. tanto tiempo un almacenamiento corto, nuestro compendio están dentro de otro objeto. Debido a eso, no podemos acceder a él, y puedes darle tu parte superior a inferior de al final y la otra cosa en función de las cosas que están dentro de tu diseño de restricción. No en las otras cosas. Así puedo darle a Input layout en segundo lugar. Porque dentro de nuestro diseño de restricción. Pero si está en la otra cosa como este DT segundo valor, ya no puedo hacer eso. En fin, como digo, ya no se ve ese error, ¿por qué? Porque lleva tiempo ir de ahí y puedes hacer click en otro lugar y regresaste y puedes ver incluso ya no está en la izquierda. Antes de la parte media, recuerdo que tenemos el resultado en la parte inferior, y también creamos el resultado aquí. Entonces, vamos a copiar esto. Minimizar esto, minimizar esto, y por supuesto, esta visión esto esto y esto. Acabo de copiar el control C de este te. Por favor escribe tanto como puedas, pero yo no estoy aquí, así que no desperdicias el control V. Ya tenemos el aquí adentro. Bien. ¿Qué queda? Este informe y este botón. Bien yo aquí. Vamos a escribir éste y la vista de tarjeta. Acabo de escribir CA y selecciono esta vista de tarjeta. Sólo vuelve a comprobarlo. Vista de tarjeta Android X Vista de tarjeta de Widegit. Bien. Está bien. Acabo de seleccionar la patente Match. Está en eso por defecto, y por supuesto, envolver contenido. Me da error porque no se conecta a ningún lado. Pero primero, debería cerrar esto. Bien. Shift y el botón derecho a la M, y una barra diagonal que está al lado desplazar en tu abajo derecha los botones del teclado, izquierda al botón shift, solo lo presiono, y escribe el resto para mí Voy inicio de esto e inter inter. Cierro esto. Simplemente se me olvidó. Yo no cierro esto. Turno y más grande. Yo escribo eso para mí sin nada más, debería quitar esto y inher inter Entonces ahora arriba, no aquí, sino aquí de arriba a abajo de a abajo de B y vete. Déjeme hacer esto otra vez. Yo solo escribo restricción de arriba a abajo. Para eso, solo escribo fondo y me da los cuatro. Presiono inter en el primero, presiono J, y tengo BTN así Y si quiero mostrarte otra vez, no me acuerdo de eso. ¿Ves? Yo solo quiero mostrarte otra vez, como escribir eso a de no lo tengo. ¿Por qué no tengo eso? Porque solo lo escribo. Pero si no lo escribo, no lo encuentro. Y G BT. Entiende, si ya lo escribes, no lo encuentras, te engaña Te confundes porque quiero mostrarte y no lo encuentro, me confundí. Porque en la programación normal, no debería escribirla muchas veces. Empezar a empezar de qué. Por ejemplo, P padre. Presiona P y luego patentar, y por supuesto, fin a fin de fin a fin de lo padre otra vez. Vamos a darle un margen también. Aquí, margen, ese signo g. Como aquí lo llamamos margen normal, solo debería decir margen normal. Sólo reviso el nombre. Darle margen normal. Si obtienes diferentes nombres en diferentes proyectos, podrías confundirte como solo yo. Este es otro consejo también. En la vista de tarjeta, solo se puede poner una capa secundaria. Así que sólo entramos aquí. Entonces puse una capa padre. Déjame mostrarte. Por ejemplo, solo escribo CO N, y el primero es el diseño de restricciones y coincido con el contenido principal y del rack, y simplemente lo cierro también e inter y haga clic aquí en inter media height por ejemplo, 200 DP. Acabo de dar a esta tarjeta ver tarjeta elevación máxima. Y solo digo que claro esto y escribo suficiente ación, y no la tengo. Entonces dale ocho, si olvidaste poner DP después de eso, ya ves, solo pones ocho. Viniste aquí y pusiste DP. Este es un mensaje común también. Se puede minimizar esto, volvió. Ahora tiene ocho DP. Ahora, solo presiona inter y A, y dale radio. Yo solo presiono inter y D. Así puedo darle i radio, creo, y no lo tiene. Y crea éste también. A. No nos olvidamos de poner DP. Si lo hacemos, vamos y lo metemos ahí. También tenemos este ADP. Ves que mi error no se ha ido. Pero si hago clic aquí y luego volvió a venir, mi error no está ahí. Es un pantano simple. No te preocupes por este tipo de pantanos. Está bien. Ahora, vamos a ejecutar nuestra aplicación. Bien, ejecutamos esto en 7 segundos, ocultamos esto y presionamos el botón de juego. Tenemos esta página. Déjame acercarme. Ves nuestro primer número, segundo número, nuestro botón de inicio, tu botón de adivinar e ir, y este carviw No creo que veas claramente mi vista de auto. Déjame parar mi app y minimizar esto para mostrarte mejor. Primero, debo dar un antecedente en la parte superior de aquí. Por ejemplo, aquí dentro, solo digo fondo Negro. Creo que lo ves mejor. Nosotros solo decimos fondo, Negro, para que puedas ver mi vista de tarjeta y solo quiero solo quiero cambiar esta radio. Para que veas ¿qué es? Control X, que es mejor manera de aprender que ver lo que acaba de pasar. Por ejemplo, 50 DP, o incluso más. Ves las esquinas, le doy a esto más 90. Verás que nuestro rincón sea así. Vamos a ponerlo de nuevo. Control lo volvemos a poner. Si no le damos este Control X, es muy afilado en la esquina en 90 grados y puntiagudo. Por eso, solo le damos ocho d p. Vamos a despejar el fondo también. Retira esta parte de atrás. Ahora ve nuestra vista de tarjeta. Podemos usar la vista de tarjeta de material. Al igual que el botón y otras cosas, tiene más herramientas y opciones y posibilidades. Y Android Studio y el propio Google nos trae eso. Entonces, solo escribo vista de tarjeta. Y en vez de esa vista de tarjeta, voy hacia abajo. Y segundo, tengo vista de tarjeta de material, como pueden ver, y el propio estudio de Android, poner esta vista de tarjeta de material cerrando parte aquí también. Es realmente bueno y facilita mi trabajo. Porque si no, debería bajar aquí y cambiarlo también. Como ya decimos, si tenemos material para el objeto, tratamos de usar material para ese objeto. Pero solo quiero mostrarte objeto regular también. En fin, vista de tarjeta como dijimos nos da una caja, un lugar, tanto, por ejemplo, ya ves, necesitamos poco espacio. Por ejemplo, tanto espacio para nuestro informe. Por eso, agregamos nuestra vista de tarjeta. Y agregamos material porque puede ser más hermoso y tiene más cosas. Así que sólo voy hacia abajo. Tengo mis taxis de vista de texto, sí. Acabo de copiar esta vista de texto. Controle C y póngalo en mi diseño de restricción dentro de mi vista de tarjeta. Déjame abrirla. Quiero decir de arriba a arriba de padre, por supuesto, y por supuesto, fin a fin de padre, y empezar a empezar a mi padre, un poco borrar. Y patente de patente. Así es. Ahora, se ve así. No quiero usar herramientas aquí. Quiero dar esto e impuestos. Porque ya no quiero herramientas. Porque como ya hablamos, las herramientas son para mí el programador. Ahora, alta la cuerda, retírela, controla el espacio. Quiero poner una cuerda. Nombre. No, claro que no. Por supuesto que no. Yo solo presiono inter, así que tengo en signo cadena Slash y me quito esta parte y digo STR subrayan informe Pero no reconoce ningún reporte de SCR. Creemos uno y verifiquemos también, e informemos, y. Ahora, dice informe, y por supuesto, nuestras identificaciones reportan mano de obra. Es nuestro nombre, nuestro nombre de objeto. Podemos acceder a este objeto con este ID con este nombre. Y no cero dP. Sólo atrapar contenido. Está bien. Y una cosa más, necesito un botón. Este botón de ir. Déjame copiar esto y llevarlo aquí y cambiar el nombre a BTN Reporte, y por supuesto, STR. Reporte. Quiero decir de arriba a abajo hacia arriba, pero necesito darle una identificación a esto. ¿Ves? No tengo identificación. Entonces no puedo darle al otro objeto la dirección de esta cosa, el nombre de esta cosa. Entonces, ¿qué debo hacer? ¿Identificación? ¿Cuál es la identificación? Por supuesto, es una tarjeta, entonces tarjeta. Es para reportar. Entonces informe de la tarjeta, y bajemos. Aquí, de arriba a abajo. Qué reporte de tarjeta, constreñir de arriba a abajo, informe de tarjeta y este contenido de rack de DP cero O déjame solo tener ese DP cero. Está bien. Creo que es suficiente para este video. Seguimos en el siguiente video. 54. Día 7: otros cambios en la vista: Otros cambios de vista. Bien, ¿qué tenemos? Queremos todas estas cosas y también queremos que estas tres se oculten. Bienvenido de nuevo. Vamos a agarrar esto un poco abajo. Simplemente volvemos a esta vista de tarjeta de material. Hablamos de esta radio. Lo hice mal. No debería usar Max elevation. Debería usar tarjeta solo elevación. ¿Por qué? Porque quiero mi sombra. Ves esta sombra. Yo solo hago clic ahí arriba para no seleccionar y ya ves la sombra Porque escribo elevación Mx, escribo eso mal y no entiendo esa sombra. Ejecutemos la aplicación. Simplemente hago clic en el botón de juego. Bien. Y ves la sombra. Déjame acercar más. Ves la sombra, si corres escribe cualquier otra propiedad, también, es posible que no obtengas el buen resultado. Este es otro punto. Déjame parar esto arriba y volver a ding para ver y si doy más de este ocho. Por ejemplo, el control X, por ejemplo, 40. Ya ves cuánta sombra tengo o 20 DP o diez DP. Se puede ver la diferencia o incluso un DP. La sombra se ha ido, casi se ha ido, diez DP. Lo bajé para que pueda mostrártelo. Pero entiendes el punto. De todas formas, yo solo controlo re palmaditas de nuevo. Ves la mayor parte del tiempo uso algún número predefinido en mi mente. Por ejemplo, cuatro, ocho, 16, 24. Por ejemplo, se trata de ocho. Si quiero menos, pongo cuatro. Si quiero más, pongo 16. Está en mi mente está en mi mente y es mi regla. Se puede establecer otra regla. Por ejemplo, se puede decir cinco, diez y 20. Está en el tuyo. Pero es mejor usar el mismo número en todo el proyecto. Como puedes ver, si abro este proyecto y te muestro los diamantes. Incluso en este siete, ponlo 88888. Si quiero dar otras cosas, digo 16 o cuatro o 24, digo números específicos. Así que todos los tiempos otros equipos tienen casi el mismo rango. Por ejemplo, para un pequeño, pongo cuatro, para grande, pongo un número específico. Y para cada proyecto, a veces lo anoto este número específico. Sé que estos son mi gama. Y como pueden ver, la mayor parte del tiempo son ocho o cuatro o 16. Déjame cerrarlo también. Sólo por recordarte, yo solo yo uno a uno. Esta vista de tarjeta solo toma una capa. Dentro de él, pongo este diseño de restricción, así puedo poner muchos objetos dentro. Por ejemplo, si pongo un objeto más al lado de este diseño de restricción. Por ejemplo, se necesita. Déjame solo controlar C, controlar V. No está bien. Entonces como solo debería poner un objeto dentro de esta tarjeta, tú, pongo este diseño de restricción y dentro de este diseño de restricción, organizo mis objetos así Así que de todos modos, continuemos. Tenemos esta vista de texto. Vine aquí y presiono inter justo después de esta gravedad, digo texto historia de texto. Tengo tres opciones diferentes. ver si digo cursiva, déjenme decir solo para que puedan ver esto mejor aquí dentro. Si digo esta cursiva se volvió así un poco a la derecha. Si digo audaz, se veía así, se volvió audaz. Y normal es simplemente normal. Es mejor que no escribas porque ya es normal. En fin, quiero audaz Así que se ve un poco más fuerte y más grande. Entonces lo hacemos un poco atrevido, y también quiero cambiar el tamaño. Entonces digo tamaño de texto. ¿Ves este tamaño de texto? Es de 14 dP por defecto. Ves 14 d p por defecto. Déjame controlar X. Bien. Verás, y luego controlar V. Yo sólo debería cortar toda la línea. Control X. Control V. Sin diferencia. ¿Por qué? Porque es por defecto. puede decir, por ejemplo, 20, se hizo más grande o 40 realmente más grande Depende de ti cómo quieres que esto se vea como lo que, como digo, si das 14 es por defecto. Entonces, si quieres ser más grande, deberías tener más de 14. Si quieres ser más pequeño, debes poner un número menor a 14. Entonces como digo, me gusta escribir 48 o 16. Entonces doy si quiero cambiarlo, doy 16. Me da una advertencia. ¿Qué dice? Dice que debería usar SP en lugar de DP para tamaños de texto. Déjame cambiarlo a Sp. Pero, ¿qué acaba de pasar? En los teléfonos Android, cuando vas a la configuración, quieres cambiar los tamaños. Puedes hacerlos más grandes o más pequeños. Como puedes ver, muchos teléfonos tienen esta configuración en Android. Creo que casi todos ellos. Si cambia esto a SP, cuando use la configuración del teléfono, cambie el tamaño del texto del teléfono, su aplicación, este SP también cambia. Para una larga historia corta, con SP, vamos con ajuste y ajuste de tamaño de fuente. Por ejemplo, si tenemos 14 y lo hacemos doble, tenemos 14 por defecto, lo hacemos doble, por ejemplo, 28. Se ha convertido en el doble de los demás. Cuando cambias el tamaño de fuente de todo el teléfono, tus Tamaños son relativamente a los otros textos en su teléfono se hicieron más grandes o más pequeños. Espero que lo entiendas bien. Espero que sepas a lo que me refiero. Y en pocas palabras, todos los tamaños de texto que uses calzados sean SP, todos ellos. Por supuesto, depende de usted. Puedes usar DP, pero es mejor usarlo para todos ellos, SP. Una cosa más. Tenemos este margen. Sí, se pone mucho de arriba. No me gusta. Apenas desde un lado. Entonces lo cambio. Pongo uno horizontal. Así como esto. Déjame seleccionarlo y ver la derecha. Ahora lo om para ti. Ver la derecha. Quiero presionar control X, S a la derecha. Esta es la diferencia. Ver la derecha, control. Esta es la diferencia. ¿Ves? Ahora bien, si quiero lo normal es así, y si quiero solo de lado, es así. Es mejor, creo. No quiero demasiado espacio desde arriba. Y sólo espacios de mano derecha izquierda. Déjame correr por ti. Presiono este verde alrededor del botón. Entonces déjame ver lo que acaba de pasar. Minimizar esto y alejar. Ir al juego. Bien, tengo esto. Es bueno. Es bastante bueno. Pero un mt más. ¿Ves algún problema aquí? ¿Te acuerdas de esto? ¿Debería esconder esto, esto y esto? Estos están ocultos. Déjame volver al código. Como vemos, debemos ocultar esto, esto y esto. Pero ahora los acabamos de ver. No están escondidas. Ahora, ¿déjame parar esto? Y minimizar esto y oom out, por supuesto, al 100%. Y tu conjetura, tengo esto. ¿Debo escribir algún código aquí dentro de este texto entrada editar texto? Por supuesto que no. Ves este diseño de entrada de texto. Esto hago clic aquí en el diseño de entrada de texto. Después de este préstamo, presiono ahí. Yo digo, Visibilidad. Apenas con estas tres palabras, visibilidad, encontré visibilidad. ¿Cuál crees? Déjame explicarte esto. Así como digo, ves lo rápido que lo escribo aún más rápido de lo que quieres para intentar encontrarlo en atributos. Déjame comprobarlo otra vez. Tengo visibilidad inter, así como así. Esto mucho más rápido. Cuando te familiarizaste con diferentes códigos, creo que esto es realmente la mayor parte del tiempo más rápido que trabajar con este modo de diseño. Y además, tengo mucho más control. Déjame ver qué son estas tres opciones. Tengo visible. seleccionar visible. ¿Qué acaba de pasar? Nada, absolutamente, nada porque es por defecto. Por defecto, mi objeto es visible. Entonces no pasa nada. ¿Qué más tengo? Tengo espacio de control. Control X para cortarlos y controlar el espacio para ver otra cosa. Tengo invisible. Y me he ido. Sólo quiero ver qué es esta pistola. Sé invisible, pero ¿qué es esta pistola? Mi objeto acaba de desaparecer. Ya ves el espacio. No hay espacio reservado para esa cosa. Se ha ido. No se hace nada. Pero, ¿qué tal invisible? Déjame solo mirar eso también. Control X, espacio de control. Y tengo esto invisible. Se puede adivinar. Sí, tengo mi espacio, pero mi objeto no está aquí. ¿Ves lo bueno que es? Control X. Tengo esto. Control V. No tengo esto, pero el tamaño no se cambia. Se reservó para mi objeto, y luego mi objeto volvió. El botón de ir todavía está aquí. ¿Por qué? Porque el espacio reservado. Déjame probarlo desaparecido. Entonces quiero hacer esto para el botón también. Entonces solo selecciono este control C, baje. Este es mi botón, y presiono inter control, y solo selecciono esto, borre esta línea extra. Mi botón también se ha ido. Por supuesto, tengo esta vista de tarjeta aquí. Después del margen, presiono inter para esta vista de tarjeta y otra vista de control. Esto también se ha ido. Déjame ejecutar la app para ver qué acaba de pasar. Ahora, permítanme minimizar esto y presionar juego. Verás, ya no los tengo. Es bueno. Ahora, déjame parar esto y, volver a nuestra parte abarrotada . Ahora, el problema. Hago que esta visibilidad se vaya para el usuario. Pero también, no los estoy viendo. Por supuesto, todavía los veo en código. Esto es lo bueno de la vista de código. Y es muy difícil trabajar con él. Porque como digo, no puedo verlos, y no puedo entender cómo se ven. Te mostré propina extra en nivel muy principiante. Y si te olvidaste, te muestro de nuevo para que entiendas los temas yo solo a ti en sesiones anteriores, son base fundamental y cosa muy importante Déjame mostrarte un ejemplo. Yo solo presiono inter aquí, y solo espero un segundo para ver, ¿sabes qué debemos escribir? ¿Sí? Por supuesto. Herramientas, herramientas, visibilidad. Y qué debemos darle a estas herramientas. Por supuesto, le damos a esto visible. Lo que acaba de pasar, lo que acaba de pasar. Lo que utilizamos estas herramientas. Utilizamos estas herramientas para ver algo inalterado cosa solo para el programador solo para mí. Ni siquiera en emulador solo para mi. Es para nadie solo para mí. Para que pueda ver esto visible. Pero incluso si ejecuto la aplicación, y minimizo esto y haga clic en el juego. No lo tengo. ¿Por qué? Porque herramienta es sólo para mí. ¿Recuerdas ¿ Recuerdas dónde lo usamos? Ocultar esto, y por supuesto, detenerlo. Estos números apenas bajaron. Lo usamos para ver cuántos números podemos caber dentro de este resultado, y simplemente lo hacemos visible para ver cómo b y cómo se ve nuestra vista de tarjeta. Pero cuando iniciamos el ap, APK en el dispositivo del usuario o incluso en nuestro simulador, en nuestro emulador, vemos que esto se ha ido, y esta visibilidad es solo para esta vista de diseño en este momento. Entonces exactamente por eso, agrego visibilidad para herramientas Android para herramientas de usuario, para mí. Espero que lo entiendas bien. Y sabes que usamos todas esas cosas en una vista muy básica, básica inferior. Muchos otros lugares. Exactamente por eso, mencioné esas cosas ahí dentro. Ahora, por supuesto, en nivel principiante, entendemos muchas otras cosas y en el futuro, porque estas también son importantes. Nosotros también los usamos. Así que aprende estos con cuidado. Así que permítanme copiar esto para seleccionar esto. Controla ver en tu teclado. Y entre aquí el control V, y por supuesto, no la entrada de texto edita el texto, sino el diseño de entrada de texto. Inter y control V. Tengo todos mis objetos de vuelta, pero solo por ahora y para mí. Ejecuto esta app una vez más. No tienes que ejecutar esto tanto como yo. Dirijo esta app porque me preocupo por ti y me gusta mostrarte lo que acaba de pasar. Entonces tengo estos objetos para ver qué acaba de pasar, y no tengo estos objetos adentro. Lo siento en esta página. Continuemos con el siguiente video. Entonces escribimos alguna línea de. Kathleen 55. Día 8: escritura de códigos de juegos primarios Parte1: Escribir códigos primarios de juego primera parte. Esta es nuestra app que queremos crear. Continuemos con nuestra aplicación. Vamos a la actividad del juego C T, para escribir códigos. Lo primero es que el usuario haga clic en este botón de inicio, y luego verificamos que primer número y el segundo número luego esté vacío. Permítanme cerrar éste y éste. Entonces tenemos nuestras dos cosas importantes y cambiamos la barra de orientación. Agarra uno, el otro lado o el lado lo siento o aquí. Así como así, puedes arreglarlos. Aquí mi vista y aquí mi código es solo presiono tabulador otro toque para estar aquí. Y escribo en ella en ella oyentes y abierto y permite. No tengo esta función. Simplemente hago clic en él. Yo e inter, crear función o esa válvula de luz, hacer lo mismo para hacer, borro esto para hacer. Esta es mi función. Pero solo quiero usar encuadernación que ya dijimos en nivel principiante. Así que solo hago clic aquí y presiono inter. Escribo encuadernación. ¿Qué tipo de es esto? ¿Ganancia de actividad vinculante? El signo de interrogación es igual. Nulo. Entonces solo escribo w binding. ¿Qué es? ¿Ganancia de actividad vinculante? Por qué la actividad gana vinculante, juego de actividad juego porque es mi punto de vista, no mi cutlin ¿Qué debo hacer ahora? Veo que esto tiene un error. ¿Qué dice? Yo digo, necesito a la chica, debería importar esa clase. ¿Qué Klass? Debería importar esta actividad juego vinculante lass. Bien. ¿Tengo el en mi actividad principal? No estoy segura. Déjame revisar. Yo sólo voy a la actividad principal. Minimiza esto, sube arriba. Esta actividad de importación principal vinculante. Encuadernación principal de actividad. Así como así, tengo actividad de juego vinculante. Simplemente minimice esta importación y vaya aquí adentro aquí inter, solo quiero separar esto. Crear, y antes de establecer contenido inter, tengo este enlace porque quiero dar este valor es igual a lo que es igual a la actividad, la vinculación del juego. Yo solo escribo el inflador A dot y le doy diseño inflador Si digo esta línea de código muy simple, creo que podría decir que sólo para renderizar para pausar nuestro layout Así que la inflamos porque queremos analizar la misma, queremos caerla en nuestra encuadernación Queremos sentir esta visión dentro de nuestra variable vinculante, y por eso, sentimos que infla el comando Queremos crear elementos, crear un elemento vista elemento de nuestro archivo que este método, este método de inflar, hacer eso Y debemos darle algún insumo. Y le damos a este diseño inflador. Espero decir esto lo suficientemente simple. Y con este código, y por supuesto, la actividad gana vinculante. Es una parte de la unión de ganancia de actividad. Le damos a esta unión nuestra opinión, esta vista de juego de actividad. Ahora bien, qué debemos hacer ya que llenamos esta encuadernación, Ahora podemos usarla. Debido a que esta encuadernación ahora está llena de nuestro juego de actividades, podemos usar esta encuadernación en lugar de nuestro juego de actividades. Este juego de actividades de diseño de recursos. Esta es exactamente la dirección de este juego de actividades. Ya ves, diseño de recursos, juego de actividad de diseño de recursos, exactamente juego de actividad de diseño de recursos. Así que minimice esto. Ahora, queremos establecer nuestra vista de contenido y en lugar de abordar como juego de actividad de diseño de recursos porque sentimos este enlace con todo el juego de actividades que XML, podemos usar este enlace en lugar de no solo esto, ya que está lleno de toda la vista, podemos usar binding, y por supuesto, nuestro signo de interrogación, y por supuesto ruta. Ahora bien, está bien. Ahora, nuestra ruta vinculante que es nuestro archivo de diseño está en la vista de contenido establecido, y nuestro contenido que es este juego de actividades conectado a nuestra actividad de juego. De verdad espero armarlo de manera sencilla. ¿Y cuál es esta ruta? Esta es nuestra visión de raíz. La capa superior de todo el asunto, etcétera, todo esto Permítanme decirlo de esta manera. elemento raíz es el elemento superior, la parte superior de toda la otra cosa. Por ejemplo, incluso cuando hacemos diseño web, si queremos decir en el diseño web, ¿qué es el elemento raíz? Decimos el elemento superior, por ejemplo, en una página HTML, etiqueta HTML es el elemento toes. Entonces eso es root. Y aquí dentro en nuestra encuadernación, ¿qué es raíz? ¿Qué es lo más importante? Por supuesto, toda la página. El lugar que contiene todo este XML es nuestra raíz. Espero que diga esto simplemente también lo suficiente. También debo mencionar, lo definimos globalmente. Hablamos de manera global en videos anteriores porque queremos acceder a esta variable dentro de otros lugares, no solo aquí. Bien. Volvamos a trabajar a ver, entendemos todo esto y escribimos esto. Ahora bien, ¿qué debemos hacer? Escribimos punto vinculante lo siento signo de interrogación. Aplicación Dot. No te olvides de ese signo de interrogación. Entonces desde el aplicar, no repetimos ese signo de interrogación. Vamos a continuar. Ahora escribo pn, PN, Pn start dot set set y clic oyente Si de repente escribes dos paréntesis, quítelos y mueve el botón después de P y ahí dentro Tengo mi C, set y click oyente Solo recuerda si te olvidas de esto y por supuesto, vinculante, no tienes el inicio TNS Deberías escribir esto una encuadernación que alo. No te acuerdes de eso. Ahora, solo lo menciono. Déjenme explicarlo más. Comenta esto de nuevo. No tengo inicio PTN. Déjame controlar un espacio. No lo tengo. ¿Qué debemos hacer en este caso? Deberíamos escribir un signo de interrogación vinculante. Hacer arranque PTNS. ¿Por qué? Porque debemos repetir esa unión muchas veces. Y como queremos no escribir esto, simplemente escribimos esto aplica. Y claro, incluso dicho, poner un signo de interrogación. Verá, en lugar de este signo de interrogación, y esta vinculación, simplemente escribo esto aplica de todos modos. Yo sólo tengo un ayuno contigo. Este nulo no significa nada. Hacemos esta etiqueta vinculante nula con este signo de interrogación. Ponemos aquí este signo de interrogación. Si este vinculante B nulo. Esta parte de aplicación no se ejecutará, y no tenemos ningún error. Por lo que hacemos clic en él. Larga historia corta, damos click en él. ¿Qué debería pasar? Deberíamos ir a juego de actividades. Primer número, segundo número. ¿Están vacíos o no? Entonces escribamos código, pero podemos hacer algo mejor. Déjame mostrarte. Abrir este proyecto, llegó a esta actividad principal, bajó. En esta actividad principal, tienes esta función privada de aquí a aquí no es entrada vacía. Control C, entonces lo que ellos esta aqui abajo, cuando los oyentes terminen, interior, ahora, control V. solo copio pegarlo para que veas lo fácil que puede ser Pero puedes escribirlo para aprenderlo mejor. Déjame mostrarte el código. Este es el código que debes escribir. Pero está bien copiar y pegar cuando sabes ¿qué hace el código? Pero de vez en cuando, es mejor escribir algún código y se fue. En fin, ¿qué hace? Dice si mi DT primer valor, ese texto significa que el texto que está dentro del DT primer valor es t, hacer este DT primer valor. El error debería ser esto. ¿Qué es? Déjame mostrarte. Por favor, entre el primer número. Esta es nuestra cadena. Ves obtener texto o hacer cadena en la entrada de verso por favor error. Y lo mismo. Si no, para el segundo valor ese texto, haz lo mismo. De lo contrario volver a. Si algo de esto sucede, establecemos este mensaje de error. No vamos a ir más allá. Esto nunca pasa y tenemos falso. En lugar de escribir, te explico todo esto. Creo que mi video puede ser un poco más compacto. En fin, vamos ahí arriba. Arranca TNS, configurado al hacer clic en el oyente. ¿Qué? Por supuesto, si lo que no es entradas vacías. Yo solo escribo yo solo todo el asunto. Ahora bien, si esto no es cierto, y esto no es cierto ahora, decimos verdad. Esto tiene algo y esto tiene algo ahora, decimos tru ahora porque no están vacíos, queremos correr el resto ¿Y ahora qué? Queremos un número aleatorio. Por supuesto, un número aleatorio entre déjame cerrar esto y minimizar esto nuevamente entre este y este número aleatorio entre este primer y el segundo número. Entonces déjame escribir punto aleatorio. Siguiente en. Es un valor por defecto y 50, por ejemplo. ¿Qué hace? Es una función del propio androide. Me da un número aleatorio 0-50. No puedo poner ningún número por ejemplo cinco. Me da un número aleatorio 0-5. O 70 me da un número aleatorio 0-70. No quiero 0-70. Quiero un número entre esto y esto. Ahora quiero decir para empezar, EDT, segundo valor punto x porque quiero el texto punto dos cadenas porque quiero una cadena, y por supuesto, no puedo dar al azar siguiente cadena punto a ahora, puedo tener un número aleatorio entre cero y segundo número Creo que no está bien. Déjame presionar ahí y aquí dentro. Yo digo obtener un número aleatorio para pasar este tema a una función. Entonces todas nuestras palabras estén en el mismo lugar. Abrir y cerrar. Debería tomar dos números. Por supuesto, este es mi primer número. Controle C, y controle V e inter y cambio y el botón junto a la M s sin cambio. Botón junto a la M y otro control V. S, no el segundo valor. Yo sólo copio eso. E, primer valor. Y claro, V A es igual a los resultados de esta función. Vamos a comentar esto también. Así que haz clic aquí. No lo tenemos. Esta vez, bombilla creada. Entonces tengo mi ¿qué debo decir? Primero es ino curso y mi segundo es ino curso y mi resultado. Déjame decir lo siento con cerdo adentro. Así que estamos aquí y punto al azar. Siguiente en. Creo que este video podría llegar a ser largo. Déjame dividirlo en dos videos. Seguimos en el siguiente video. 56. Día 8: escritura de códigos de juegos primarios Parte 2: Escribir códigos de juego primarios parte dos. ¿Dónde estábamos? Si quiero tener un número entre primero y segundo. Primero, debo entender cuál es más bajo y cuál es más grande. ¿Por qué? Porque no estamos diciendo definitivamente, el primero es más pequeño. A lo mejor ponemos más grande en el primero. Vamos a hacer esto press home inter subir , R, ¿qué quiere decir? Su variable mínima es igual a nuestra primera. Por supuesto, R max es igual a. Segundo, por defecto, supongo que quizá el primero es menor. El segundo es más grande. La ahora Ahora déjame solo agregar un si si si que? Primero es más grande. Después segundo. Ya ves lo que acaba de pasar, y abrir y cerrar de nuevo inter. Decimos que la media es igual a segundo, porque el segundo es más bajo ahora. Y max es igual a. Primero, ¿ves lo fácil que es esto? Ahora, solo vamos a tener en turndom, max que ya decidimos cuál es max menos media Peelings uno. ¿Ves lo que acaba de pasar? Entonces decimos ¿qué es Max, por ejemplo, decimos 50-100 ¿Qué es Max 100? ¿Qué significa 5,100 -100 -50 es igual a 50. Bien. Ahora, tenemos 50 díganos uno. Ahora tenemos 51 0-51 es nuestra gama Y le agregamos media a esto i porque no queremos el rango 251. Queremos de nuestra media Así que si tenemos cero, agregamos ese 520. Si ponemos 50 dentro del primero, agregamos ese 50 al Por ejemplo, de cero, si tenemos cero, tenemos 50, y si tenemos 50, tenemos 50 más 5,100 Tenemos esta gama ahora, y de co, no debemos olvidar. Deberíamos devolver nuestro número. Tengo el error por unos segundos y luego se ha ido. Es Android Studio bar. Lleva tiempo a veces al error que dice, no tienes retorno se irá. Ahora se ha ido. Sólo queremos ver a qué nos devuelve esto. ¿Cómo podemos hacer eso? Déjeme decir, tenemos este número al azar de obtener aquí. Y al final, por ejemplo aquí dentro, presiono inter. Yo digo L, como es, solo vas a ver. Mira, hazlo. Vamos a darle un nombre. Por ejemplo, obtener un número aleatorio. Entonces tengo este error. Iré a revisar el poste de luz, y creo que las cosas me pueden ayudar. Pero ya que, por ejemplo, solo soy programador de Android con un mes o tal vez un año de experiencia. No sé mucho sobre este tipo de cosas. Exactamente por eso, intenté llegar a tantos errores como fuera posible. Para que veas qué cosas diferentes te pueden pasar. Como cualquier otro alumno que tenga en persona, vi que tienen muchos errores. En fin, abre esto. Bien. Clase de importación. Registrar, crear clase, registrar, crear om, blog. Guau. ¿Qué debo hacer? ¿Cuál? No sé lo que acaba de pasar. Bien. Déjame simplemente hacer clic en otro lugar. Todavía tengo este error. Si veo aquí, también tengo error. Si lo voy en resolver referencia como. ¿Qué debo hacer? No lo sé. Yo solo escribo como con una L pequeña, y la cambio a grande L. Déjame ver si escribo L. Lo que acaba de pasar y presiono punteo, y luego, por ejemplo. Ahora, todavía tengo error aquí. ¿Qué debo hacer? Ves si le pones el mouse, ves la clase de importación. Yo me mudo ahí. Y tienes más acciones con Alt inter pero Al shift inter solo da click sobre él. Bien. Déjame solo cambiar inter. ¿Sucede algo? No estoy segura. Permítanme simplemente de nuevo dar click sobre esto o cuando esté abierto, A shift inter. Bien. Déjame simplemente subir. Imimporta Android UT Log. Entonces tengo esto ahora. Bien, solo me quito esto y voy a comprobar lo que acaba de pasar. Todavía tengo este problema. ¿Por qué? Porque ninguna de las siguientes funciones puede ser llamada con argumento supp ¿Por qué? Porque solo le doy un parámetro. Pero debería darle al menos dos cuerdas de cuerda. El primero. ¿Ves? Ahora, volví, el botón al lado de la M, separe esto y diga, tenemos un justo ahí arriba, llenamos un punto. Verá esta estructura, cadena de etiqueta y cadena de mensaje. Esto es mensaje. Esto es etiqueta y le damos a este mensaje el valor de A. Ahora bien, el primero es lo que campo. Bien, déjame ejecutar la app para ver qué acaba de pasar. Pero, ¿qué es? Bien, solo hago clic en este juego y zoom, zoom. Un poco abajo. Ahora bien, el primer número, por ejemplo, el 50 que dije y el segundo número 100, y aquí dentro, tengo este gato. La última vez, creo que llenamos este error de nivel de ajuste. Te acuerdas Porque queremos ver error, eliminamos este error de nivel, y copiamos este número aleatorio, pegamos get random number. Eso lo repito. Empecé mi app, llegué a mi página, primer valor, primer número, segundo número. Ahora, tengo este número de obtener al azar. Eso como se puede ver es para cerradura. Lleno esta etiqueta con obtener número aleatorio con el valor. Qué valor, el valor de A, A es el número aleatorio que acabamos de devolver de esta función y lo ponemos dentro de la A. Entonces tenemos esta A. Podemos poner esta A dentro de nuestro lote. Entonces convierto esta A en uno a uno extremo. Entonces porque queremos encontrarlo, queremos la posibilidad de que encuentren ese valor, le damos una etiqueta. Se trata de nombres, exactamente nombre. ¿Te acuerdas de eso? Con nombre. Imagina que le das un nombre a tu valor. Con ese nombre, no lo encuentras. Así que consigue un número aleatorio. Bien, yo sólo copio eso. Ponlo aquí. Con este nombre. Yo digo, solo muéstrame las cosas. Empaque Mío. ¿Qué es Package Mine? Mi paquete, no el emulador completo. Solo muéstrame las cosas dentro de mi paquete. ¿Cuál es mi paquete? Mi propia app. No las otras cosas dentro de ese androide. Bien. Ahora, tenemos comprensión de todos estos. Y claro, del lado izquierdo, log cat. ¿Cuál gato Lg? ¿No dónde gato? Tenemos algunas otras cosas aquí dentro. Por ejemplo, ves este botón, Kar cat, Klich o patada derecha, Kleer Kar Bien. Ahora, tengo este botón de inicio. Cuando lo presione PTN start, ajuste en el forro de clic Se ejecuta, y luego si no hay entradas vacías, ninguna de ellas está vacía, entonces este valor A. Lleno con número aleatorio, luego pongo blog, obtengo número aleatorio y un punto dos cadena. Creo que si presiono un inicio, hay un número aquí dentro 50-100. Hagámoslo. Inicio. Tengo 82. C do lado 7624 aprender que mi calculadora. ¿Por qué? Porque este es el paquete mío. ¿Qué es esto obtener número aleatorio? Es el nombre. Doy este valor. Cuando dices que es una etiqueta, así que más adelante, puedes encontrar ese valor con esta etiqueta. Y claro, aquí mont Day incluso nuestro segundo minuto segundos y menor valor luego segundo, tienes y tu tacha, la hora exacta que tienes y tu nombre de ese registro, y por supuesto, tu paquete, dónde está esa tu aplicación u otra aplicación y el valor Tengo este valor de 82. Bien, presionemos esto de nuevo para ver qué acaba de pasar. Debería darme otro número aleatorio 50-100, ¿de acuerdo? Inicio, 70 inicio 73, otra vez, 69, nuevamente, 96, nuevamente, 82. ¿Ves lo que acaba de pasar? Yo creo números aleatorios 50-100. Entonces déjame hacer otra cosa. Yo digo, por ejemplo, aquí hay 100, pero aquí hay 50 para ver si eso si, recuerdas, que si esto si funciona, y detecta nuestro primer número es grande y el segundo número es un pequeño. Yo sólo quiero ver dos Aquí hay muchos números . ¿Qué debo hacer? Ves este botón, gato Kleer. Bien lamer, ¿y dónde está Kleer cat? Al igual que esa Kiara para este botón. Esto es como puedes ver el botón L cat de todos modos. Inicio 76, inicio 78, inicio 83. Ahora bien, ¿qué acaba de pasar? Esto apenas cinco. Como puede ver, todos los números están entre el rango que queremos. Bien. Déjame solo aclararlo de nuevo y decir, déjame hacerlo un poco más apretado, porque quiero ver, solo quiero ver si esto más uno realmente es necesario, no soy bueno en Matt porque no lo soy Pero quiero ver es bueno 99 y 100. Si olvidamos poner este más uno, no obtenemos el número correcto. Pero ahora debería ver si consigo mi número entre estos dos rangos entre 99 es 99 también y 100-99 Así 100 o 99. Entonces comencemos a empezar. 100. Bien. Inicio 99. Entonces tengo 99-100 y los números de barco también están incluidos. ¿Entiendes lo que acaba de pasar? Déjame intentar empezar inicio inicio inicio 199, 100, 100 100, uno, 100, 199, así como así. Tengo entre estos dos números. Entonces mi código funciona bien, y tengo que escribir estos díganos uno. Y mi alcance es de dos, como pueden ver. Verás, 100 -99 es igual a uno, pero no quiero 0-1 Quiero 0-2. Puede ser uno o cero, pero no los dos. Déjame hacer el tapete por ti. Comentario 100 -99 equivale a uno, y ese infiernos Otro equivale a dos. Entonces me das un número 0-2 que puede ser cero o uno, pero no los dos Y como tengo cero o uno, les agrego media. Déjame solo un doble de esto otra vez. Entonces si es cero más 99 es igual a 99, y si es uno más 99, equivale a 100. Y qué tal dos digo 0-2, pero no los dos Espero que lo entiendas. Si incluso tomas el mouse en next in, ves obtiene el siguiente aleatorio no negativo in del generador de números aleatorios, menos que el límite util específico Ponemos util dentro como in, y generamos un valor intrandom distribuido uniformemente entre cero y util específico enlazó el número máximo, por ejemplo, el número que acabamos de poner no está en ese poner no está en Por supuesto, dice, ese número debería ser positivo. Y se puede ver. La siguiente línea dice, te da error si pones cero. Y claro, ponemos uno para no tener error y porque si media y max son iguales, por ejemplo, 100, 100, 100 menos, 100 es es cero. Entonces damos cero. Podríamos tener un error. Entonces nosotros más uno. ¿Por qué? Porque no obtenemos error aunque sean iguales. De todas formas, déjame probar unas cuantas veces más, o simplemente me quito o simplemente lo pongo aquí. No, tu código es desordenado. Yo lo quito. Otro, otro, otro. Déjame aumentar mi alcance. Por ejemplo, 500100 e inicio. 443 es 500-100. Otro 381, 297. Espero que entiendas muy bien esta parte. Y espero que entiendas, deberíamos revisar nuestro código así, 99 y 100 y poner esto para ver si mi código realmente funciona bien. A lo mejor si pongo esto y no escribí el código correcto, ya veo, no tengo 100 dentro de eso. Por ejemplo, no tengo mi segundo número dentro de eso. Reviso mi código con la babosa como pueden ver. Entonces es ser correcto. Y claro, no olvides seleccionar tu emulador. Si pones tu teléfono y el estudio, debes seleccionar tu teléfono. Para que puedas ver el registro de ese dispositivo. Creo que mencioné que es solo para mí, para el programador. Es algo para esa herramienta que ves dentro esa actividad para nuestra opinión. Es algo así. El registro es para mí, no para los usuarios. Creo que es suficiente para este video, seguimos en el siguiente video y solo para detenernos y minimizar. Espero que entiendas muy bien todo esto. 57. Día 8: tipos de datos numéricos: Tipos de datos numéricos. Bien. Esta es nuestra app. Vamos a continuar. Última visión D completa esto. Solo quiero señalar algunas cosas primero. Déjame mostrarte esta actividad del juego Ves esta visibilidad para nuestro diseño de entrada de texto, pistola de visibilidad de Android. También tenemos esta visibilidad para otros objetos. Por ejemplo, hacemos esto para nuestro botón. También le damos esta visibilidad a nuestra vista de tarjeta de material, Y solo quiero mencionar otros objetos como esta vista de texto tiene esa propiedad de visibilidad también. Incluso esta vista, si solo pego mi visibilidad aquí, esta vista también será alta. ¿Recuerdas esta vista para hacer una línea en nuestra app? Antes de que vuelva a ejecutar la aplicación, déjame mostrarte Es posible que tengas este error. ¿Qué dice? ¿Dice? ¿Esta línea podría no ejecutarla nunca? Escribes esto si y cerca de este fin de esto si y esta parte puede que nunca suceda. Y me da error. Entonces solo pienso, debería escribir otra cosa y si no, hacer otra cosa. Pero, ¿por qué esta cosa me da error? No debería parar mi acto. El error es por lo que detiene tu acto. Es un gran problema. Pero no es un gran problema. Bien, ¿no se ejecuta para qué? No me importa. Si no, no quiero darte ningún error porque esto no es valores vacíos, te doy el error. Por eso, no tengo rs, pero como pueden ver, me da error y el error no tiene sentido para mí. Déjame simplemente ejecutar la app para ver si se ejecuta o no. Porque cuando tenemos un error, la aplicación no debería ejecutarse. Se detiene de correr porque tienes problema. Pero como pueden ver, a la vez, tengo mi error y mi app press game. Mi aplicación se ejecuta. Entonces, ¿qué acaba de pasar? Déjame solo hasta escribir 99 y 100 y ¿dónde está mi gato lg? Despeja este lg cat y Zoom. Otro Zoom. Bien, estoy aquí. 99, 100. Muéstrame. 100, 100, 1019999, 99, Entonces tengo un número aleatorio 999-100, y también ambos de esos números incluidos y mi número aleatorio es entero Entonces no puedo tener 99.5, por ejemplo. Entendemos esto, pero ¿qué tal este error? ¿Por qué tengo el error? Hablo tanto para decirte esto de vez en cuando. Déjame pensar, por ejemplo, una o dos veces en cada mes, ¿tengo este tipo de errores cuando escribo un programa? Este tipo de errores A veces el error. Sí, sí, déjeme decir así. A veces estos errores son errores. El dólar del estudio de Android. Porque, por ejemplo, este error debería estar en alerta. Incluso no es importante advertencia. Debe ser una advertencia débil. Verás, tengo una débil advertencia. Debería estar en alerta débil incluso, pero no error. Así que déjame solo ya que estamos aquí, revisa una cosa más. Y si digo, dame 100-100. En mi código, sólo el primero y el segundo. Toma min y max y el si, no es cierto, y vamos al azar. Entonces debería darme un um número aleatorio 100-100 y debería incluir el 100 y debería ser solo el 100 porque es 100-100 y es entero Entonces no tengo ninguno entre números. Yo sólo tengo 100 porque ambos números están incluidos. Así que déjame comprobar exactamente eso. Déjame mostrarte. Este más uno después de que yo haga el trabajo. Si no, el 100 no está incluido de todos modos. Presiona inicio 100 o simplemente claro, claro 100, 100, 100. Presiono muchas, muchas, muchas veces. Yo solo tengo mis 100 porque son 100-100. Y solo tengo un número entre ellos. De todas formas. Una cosa más ya que estamos aquí, no sólo la memorices . Piénsalo. ¿Qué pasa simplemente? 100 -100 es igual a cero más uno es igual Déjame calcularlo por ti. 100 -100 max menos la media es igual a cero los uno es igual a uno. Ahora, doy este número máximo aleatorio de uno. Dame un número 0-1, pero no tengas el indicado Entonces me da cero, y yo los es cero con el número significa 100, es igual a 100. No tengo otro número que ese cero y lo más con 100. Piensa en los códigos. No sólo memorizarlos. Puedes usar este código en todas partes y todo el tiempo es correcto, pero ¿deberías saber qué estás haciendo? No sólo escribir los códigos. Exactamente por eso, trato de darte tantos detalles. En fin, como pueden ver, mi error se ha ido. ¿Por qué? Porque apenas el segundo, escribo algo que esta ID refresque y el error desaparecerá, así como así. Déjame simplemente quitarlo. Entonces si escribo algo, esos errores, solo te demuestro que se han ido. Y por eso, exactamente por eso, te lo dije a veces suceden este tipo de errores y solo Andrew el Estudio Por supuesto, de vez en cuando, Andrew el Estudio dan una actualización más cercana y este tipo de cosas se hicieron cada vez más bajas, pero deberías entender estas cosas alguna vez sucede Así que vamos a empezar, paramos la app y minimizamos y minimizamos y continuamos Así que lo primero que quiero hacer, quiero comentar esto como porque reviso mi código y está bien. Entonces comento esto. Ya que está en la fuente, puedes eliminar esta parte de comentario. O como te sugiero, lo escribes tuyo. Déjame ir a este juego de actividades. Tengo esto, se me olvidó mostrarle. Esta vista está oculta. Nuestra línea está oculta. Esta vista está oculta porque la visibilidad de escritura se ha ido. Todos los demás objetos que puedes ver también tiene esta visibilidad, solo quiero mencionarlo. Detente de nuevo, minimiza, y me quito esta línea porque no queremos que sea invisible. Lo que quiero hacer. Este diseño de entrada adivinar, no dit invitado, diseño de entrada supongo que sólo decimos visibilidad ido. Queremos mostrar este espectáculo ¿qué entrada de visibilidad? Sí. Yo solo doble helice Control C y voy ta ta ta tab, tab, y tab, y control creo que es mejor que lo escriba aquí Pero de todos modos, tengo esto. ¿Cómo ocultamos esto? Decimos visibilidad. Ves ir a la visibilidad. Déjame regresar y decir, quiero esta conjetura de diseño de entrada. Una propiedad de esta, que propiedad, quiero la visibilidad. Tienes toda la propiedad. Todas las propiedades están ahí, pero quiero visibilidad porque muchas de ellas, escribo dos la encuentran más rápido. Así que la visibilidad. Escribo es igual a V. Por supuesto, con V punto. Tengo visible. Me he ido. Entonces escribo ido, y hace exactamente lo que hice aquí. La visibilidad se ha ido. Hace que la visibilidad de la propiedad sea igual a ido. Entonces con este comando, hago la propiedad de visibilidad. Se fue. ¿Y si escribo solo ido, puedo darle a la visibilidad el valor de ido? No, no puedo. ¿Qué tal la visibilidad con un pequeño Lo siento, vista con una V. pequeña Ver punto. Es otra cosa. No, no puedo. Entonces cerdo V, punto de vista ido para hacer que la visibilidad se haya ido. Pero quiero que sea visible. Entonces cual ves esto visible o déjame simplemente escribir en visible. Yo también lo tengo invisible. Tenemos tres opciones diferentes para esa visibilidad, y yo también tengo invisible. De todas formas. Déjame solo visible esto. Déjame ejecutar la app para ver qué pasa porque queremos saber. No tienes que ejecutar la app tantas veces como yo. En fin, cinco y 55. Si presiono inicio, suposición de diseño de entrada debería ser visible. Inicio. Oh, tu suposición, ya es visible. Así como así. Lo hacemos visible. Quiero hacer otra cosa. Esto va 110 PTN go. Yo también quiero que sea visible. Damos esta visibilidad desaparecida, quiero hacerla visible. Quiero copiar. Quiero una copia de esta línea. Y no quiero copiarlo a otros Ps. Claro. Entonces, ¿qué debo hacer? Control. Déjame quitarle esto. Lo siento, solo presiono Control P D. Lo escribo así, para que puedas leerlo fácilmente. Entonces escribo control. Presiono el control D y mi línea duplicada. Déjame hacerlo otra vez. Control D en mi teclado. Control D. Apenas la línea de al lado. Tengo una copia de la misma. Es igual que pre seleccioné el control C, y luego vine aquí y luego presioné ahí y luego controlé. Oh, lo siento. Incluso lo hago mal. Control C, y luego inter y luego control V. Son demasiados conjuntos. Ya ve, seleccione el control C, vaya al final, presione en Control V. Entonces, ¿qué debo hacer en su lugar? Simplemente voy en la línea que quiero. Presiona control y luego D. Lo duplico. Entonces entiendes el triaje. Déjame quitar esta línea y no voy a juego de actividades para copiar el nombre de To. Yo sólo quiero escribirlo aquí, vaya BT. Ya que digo que deberíamos escribir, solo lo escribo aquí. Pero lo siento, ni siquiera quiero copiar estos controles. Y te dije una nueva de todas formas. Entonces ahora queremos El usuario adivina el número, y luego almacenamos este número, este gas dentro de una variable y luego lo revisamos. Entonces debemos definir una variable. En lugar de estar aquí ya que quiero que esta variable use para ser utilizada en otros lugares, quiero declarar esta variable gb. Así que solo lo quito de aquí. Déjame subir justo después de este enlace, también es una variable global. Déjame decir variable No es un número aleatorio. Es un buen nombre para mi variable. ¿Cuál es este tipo de número? Hablamos de tipos más adelante en este video. Pero por ahora, permítanme cederme esto. Es un int. ¿Es bueno? Vuelvo. No, y por favor, dale un número. Agregar inicializar ahí. Debería darle un número. Vine y le digo: Bien, Tú haces esto. El estudio Android le da mi variable, el número cero. Ahora está bien. También puedo darle nulo y darle el número más adelante. Pero yo solo digo, dale cero. Pero como el cero puede ser una de las conjeturas, lo mejor debería ir a menos Por ejemplo, menos uno fuera de mi rango de adivinanzas. Creo que es mejor. Déjame simplemente ir a la actividad principal. Abro esta actividad principal. ¿Recuerdas que hemos seguido aquí? Para decimales, hemos seguido y doble. Verás, hablamos de ello. Fluido y doble. Y decimos después del dígito después del punto después del punto, el número decimal en barbecho es aproximadamente siete número en nuestra prueba y para doble es aproximadamente 16 número después del punto decimal Entonces hablamos de ellos, y también introducimos int. Nosotros decimos, ya ves. Si eres menor a mil millones, puedes darle int. Si van más de mil millones, por favor no den int. Y también hablar de una cuerda B y fot. Bien, hablo de fot y lo hago ahora. Permítanme cerrar esto y continuar. Entonces como digo, tenemos muchos otros tipos para enteros. Usamos muchas veces porque cubre muchas cosas, pero tenemos otros tipos. Déjame mostrarte. ¿Dónde debo escribir? Creo que aquí es bueno. Un igual es el tipo de byte entonces. B ¿qué pasa si no escribo eso? Por ejemplo, solo quiero escribir corto. No puedo. Debo agregar turno y el botón junto a L. Si no, si no, me da error. Debería escribirlo. ¿Y si escribo una S pequeña? ¿Qué pasa? Tengo error, así que solo mayúscula S. I cas sensible. ¿Cuál es el siguiente? C? ¿Qué es? Por supuesto, con grande. Cuál es el cuarto. Largo. Lo siento, largo. Creo que lo mencioné en video anterior, vamos a hablar de largo. En fin, ¿cuál es la diferencia? Por ejemplo, si quiero dar ni siquiera mil millones 100 mil 100 millones Me da error. ¿Por qué? Porque BI no puede tener tanto número grande. Este tipo de número es demasiado grande para por. Déjame simplemente quitar 200. ¿Y qué pasa? Ni siquiera uno. Normalmente lo uso. Entonces mi número no va más de 100. Yo sólo escribo. Byte es -128 a 127 cuando el valor I es inferior a 100, uso byte No me gusta ir a la capacidad exacta de variable. ¿Qué tal corto? El corto es de -32,000 7682 Pella Así que déjame comprobarlo. Si le doy uno. ¿Está bien? Está bien. Diez. ¿Está bien? Está bien. Cien 10,000 s. Bueno no ir más allá del 2000. Sólo son 10 mil. ¿Y si digo 100 mil, tengo fila? Porque no puedo dar más de 32 mil 767 en esto. Por lo que debe ser más bajo. Verás, digo número exacto, está bien. Pero uno más, no está bien. No se le puede dar ni un número más que eso. Entonces cuando mi alcance es menor a 10,000, uso short. Pero muchas, muchas veces uso int porque tiene un amplio rango y Para muchas cosas diferentes, lo uso. Mi incapacidad es así. Por supuesto, lleva número a 2 mil millones, pero no quiero darle 2 mil millones. Le doy menos de mil millones. Tiene la capacidad, pero no quiero llenar el aforo. Ya ves la mordedura. Decía, está bien decir mordida porque quieres usar mordida. Ya ves el corto. Decía que está bien dar corto. Pero lo siento, debería bajar esto. Está bien dar corto. Pero ves en ella es diferente. Dice que puedes quitar int y simplemente darle el número. Déjame mostrarme. Puedes eliminar este int. Si hago clic en él, elimina la declaración int. Porque por defecto, como digo, el int es el tipo de variable más común, y el cutlin da en sí mismo cuando pones un número dentro de la variable Porque ya que estamos enseñando, me metí. Entonces entendemos que int es default. ¿Cuánto tiempo? Tan solo escríbalo aquí, así sólo puedo copiarlos y entregarlos aquí, ponerlos aquí y pegarlo tanto tiempo. ¿Ves la diferencia? Bien, mil millones mil millones. Oh, Dios mío. Miles de mil millones, millones de miles de millones. ¿Y 9 mil millones de millones? Creo que no se puede contar el número. Es un número realmente grande. Entonces cuando uso largo entonces mi número, es ir más de mil millones. Por supuesto, aquí también tienes el número máximo, pero es muy grande y puede calcular y aceptar un rango muy grande de números. Larga historia corta, ¿por qué existen estos diferentes tipos? Porque cada uno de ellos tiene diferente capacidad. Por ejemplo, déjenme explicarles ejemplo, por ejemplo. Si tengo un tanque con capacidad de 1,000 litros. ¿Está bien usarlo para una llaga solo un vaso de agua? Puede, pero no es razonable. Por ejemplo, si uso mucho para asentir la edad del usuario, puede hacer eso, pero no es razonable Es más común usar en a veces si almacenas muchos datos, muchas veces, muchos datos repetibles, es mejor usar datos menos consumidos, como estos o estos si Pero si usamos solo uno o dos o incluso diez números, solemos usar en. Si no puedes poner tu número dentro en, por ejemplo, población, no puedes ponerlo dentro de esta o de muchas otras ts. Dices, Bien, ahora es el momento de usar un número mayor. Por ejemplo, largo. Tengo un tipo más si no lo puedes poner dentro de Long. Déjame mostrarte esa R, le doy un nombre a esto. E, cuál es el número entero tipo B. Le damos entero grande a esta E. Es muy grande. Bien déjame darle este número entero grande, uno, dos, tres, ¿no puedo y? Porque es diferente a los demás. Debo decir de esta manera. Entera grande. Lo siento, elimine este valor de punto de uno, dos, tres, por ejemplo, cuatro. Permítanme continuar esto en el siguiente video porque quiero crear una función y no ponerlos así. 58. Día 8: gran número: Entero pico. Esta es nuestra app. Vamos a continuar. Donde nosotros. Queremos poner esto dentro una función o simplemente escribir un cuatro. Déjame escribir un cuatro. Yo sólo presiono inter. Escribo cuatro abiertos y illos. I n 050, por ejemplo, y agrega el para que me avise, empieza de cero, y va a 50 Entonces tengo mi i de cero, luego uno, dos, tres, cuatro, cinco, hasta 50. L et me siguen viendo lo que acaba de pasar. Simplemente lo haremos 49, lo ejecutamos 50 veces y le damos a esto 50 también. Ejecute nuestro código varias veces. Cuantas veces tantas veces como decidamos. Por ejemplo, yo decido, hago esto 50 veces 0-1, dos, tres, cuatro hasta el 49 Y si quiero ver yo en cuál de ellos, puedo usar este yo dentro de los cuatro. Y cada vez que esto tengo el valor de cero, próxima vez una, la próxima vez, dos, la próxima vez tres. En fin, continuemos. Yo digo E, E variable es igual. Entonces quiero poner algo dentro de mi variable e. De nuevo, e. Entonces hasta aquí, pongo E dentro de mi E. Punto multiplicar, y puedo poner B entero. Dentro de esto, escribo entero, y otra vez, lo siento, elimino este valor de punto de o no, solo 50 está bien 50. Entonces tengo 50. Multiplico este 50 por 50 y lo guardo de nuevo en E. Y después de que termine mis cuatro, déjenme decir como abro. Debería decir un nombre de etiqueta. Déjame solo decir E, no puedo dar esto como yo el E. Y? Sea que debería ser una cuerda. Déjame mostrarte esto debería quitarte un valor de cadena. Ver una cuerda y una cuerda. La etiqueta es una cadena. Además, el mensaje es una cadena. Entonces debería dar aquí una cadena la etiqueta y el mensaje, por supuesto, debería ser una cadena. Entonces tienes que decir cadena de giro de punto. Si no, tienes error. Puse mi E, mi entero grande dentro de este registro, y por supuesto, gran entero. Doy la etiqueta, gran entero N. Déjame ejecutar esta cosa. Ni siquiera necesito la función ahora. Déjame correr. El gato, claro esto, vamos a ganar. Obtener número aleatorio. Sí, ponemos esto para ver solo obtener número aleatorio. Pero no queremos esto. Queremos una gran etiqueta entera. Control C, ve aquí. Control. ¿Por qué? Porque quiero un entero grande. Si no haces esto, por ejemplo, uno entero grande. Escribes otra cosa. ¿Qué acaba de pasar? Puedes ver tu resultado. Imagina que usas esto como muchas veces, y si escribes alguno de estos mal, no puedes tenerlo. O incluso si tú, por ejemplo, escribes aquí, Big integer one y en algún otro lugar, Big integer dos, si solo escribes, por ejemplo, Big integer 11, no puedes ver ninguno de esos. Entonces debes tener cuidado. Lo mismo, quieres verlas en la misma categoría. Debes tener cuidado, dales el mismo gato, para que los veas entre ellos. Espero decirlo con claridad. Entonces, ¿qué tenemos aquí, gran entero. Déjame ver el número. Bien. No soy muy buena hablante de inglés. Y si lo eres, creo que ni siquiera tú puedes leer este número. Déjame contar ¿ cuántos números tengo? Permítanme decir, si esto es alrededor de diez números diez dígitos. Lo siento, diez dígitos. Creo que se trata incluso de más de 100 dígitos. Y honestamente, no puedo decir ningún nombre para este número. Para que puedas ver qué tan grande es el entero grande. Primero, quiero mostrarte algo en mi bitácora, y luego vuelvo a ver qué tenemos en código. Bien, detente, detente, minimice , minimice, y como recuerden, control D. Tengo, por ejemplo, estos dos, y puedo decir talones cadena hes, cuerda, y dentro de aquí, num uno espacio igualó un espacio aquí num dos, y espacio por supuesto y el espacio Déjame correr esto otra vez. Simplemente claro así. Déjame ir a esta página. Tengo entero grande b entero porque le doy al t este nombre, entero grande, así puedo encontrar estos dos con entero grande. Ya ves que el tiempo es el mismo, Porque limpiamos al mayor. Es casi importante, no puedo decir regla. Es un truco. Verás, tengo estos datos, pero tengo más descripción porque tengo una cadena, puedo agregarle otra cadena, así puedo poner el número uno es igual D, y el número dos es igual esto o incluso en el inicio. Entonces cuando digo cerdo entero y tengo cinco o diez enteros de cerdo diferentes o cualquier otra cosa dentro de mi app. Los registro a todos, pero no puedo entender. Por ejemplo, este número, es de ahí. No recuerdo este número, ¿cuál es este número? Añado algo al final o al principio. Entonces puedo entender, este es el número dos, es este. Este es el número uno. Es éste. Creo que después de al dejar uno o dos años de experiencia, agregas algunos de estos consejos e intenta a tu código. Realmente no es lo que en ningún lado te enseñan. Es solo experiencia. Vamos a parar el anuncio. Según entendemos, podemos decir los textos y pelos, lo que hay aquí, por ejemplo, juego acti incluso línea para ello Incluso esto. Bien, estoy en ese código y línea algo en esa línea, esa actividad, y ahí, tengo estos datos y es esto. Y luego cuando reviso mi app, todo el entero de cerdo. ¿Por qué digo Pig integer? Por ejemplo, prueba de datos tres pruebas de datos de base de datos, cualquier otro lugar. Es sólo el nombre. Y cuando lo reviso, puedo entenderlo fácilmente. Bien. Entonces tengo esos datos con esos problemas. Bien. ¿Cómo puedo encontrar esos datos? Porque, por ejemplo, agrego el registro 200 jugadas, y estoy buscando ese error muchas horas. Entonces, puedo entender. Bien, estos datos de carrera están en línea 40 en esta actividad, y estos son los datos redondos. Espero que lo explique simplemente y entiendas lo que acaba de pasar. Bien. Hablemos de estos códigos. Yo digo V E es un entero grande, así que mi variable llamada E es el entero grande y quiero dar este valor E. Déjame entrar en el es y decir, Bien, dale cinco. Lo es, no se le puede dar cinco. No es por corto en o ling. Deberías escribir el valor entero grande de algo, para que puedas darle los datos. Pero el número, el número. Entonces si voy en este error y lo abro, el cambio tipo de e a t ¿Quieres darle cinco? Dáselo a int. Y entero grande. Y si digo, k, gran valor entero de. Por ejemplo, hasta ese cinco. Está bien. Se lo puede dar. Entonces, ¿qué pasó? Añadimos un cuatro. ¿Qué hace un cuatro? A cuatro, repite tu código por tiempos definidos. Entonces, ¿qué acaba de pasar? Yo digo, necesito un cuatro y llamo a mi variable para eso f. no puedo decir nada. ¿Ves? Permítanme decir solo ABC, por ejemplo, y digo mayúscula A num ABC caps y Nunca lo use. ¿Por qué? Porque no necesito usar este valor dentro de cuatro. Yo solo tengo esto y cada vez esto aumenta. Por ejemplo, la primera vez, si revisas qué es, es cero. La próxima vez, es una, próxima, son dos. Déjame mostrarte eso también. Comento estas líneas. Copia esto en control V y entero grande. Y no quiero Myb C para encordar. Déjame ver ¿qué tengo? Ejecuta la a otra vez. ¿Tengo algún gato? Sí, lo he hecho. Despejarla. Yo lo aclaro, y digo, quiero. No tengo ninguno. Déjame ir ahí. Y hasta el 49. A partir de aquí, subamos y es igual a num dos. Ves igual a num dos. Éste. Yo sólo quiero esta. Porque Autopil manager también tiene por error, autopil También se puede ver eso también. Debería poner un nombre más largo, pero está bien. Déjame ver cuál es el dato que tiene equ dos. Yo primera vez que mis cuatro carreras, tengo cero dentro de este adormecido ABC próxima vez es uno, dos, tres, cuatro, 56, y es hasta aquí 49, menos o equivale a 49. Corre hasta que es igual a 49 y luego se hace. Si lo cuentas cero, 249. Como también tenemos el cero, tenemos 50 tiempos de carrera. Espero que entiendas esta parte también y detengas esto de todos modos. Así que lo encomio también y lo vuelvo a cambiar a No, no necesito cambiarlo de nuevo De todas formas. Vamos a continuar. Tengo cero, uno, dos, hasta el 49. Entonces entendemos esta parte también. Y como ya decimos, quiero darle a este gran entero los datos, pero no puedo ponerlo con igual signo. Entonces debería decir gran valor de punto entero de este número. Entonces tengo 50 dentro de mi E. En la primera carrera, me refiero al cero ty. Tengo esto así como este comentario. 50 Esta parte e equivale a 50, punto multiplicar, al igual que esta estrella para entero. Entonces tenemos este 50, lo multiplicamos a un número. Así como podemos ver el valor de punto, lo multiplicamos. Al igual que pusiste esa estrella. A un número, ¿a qué número? Nosotros decimos. Simplemente no podemos decir, déjame controlar x y en cambio eso diga 50. Simplemente no podemos decir eso. El entero no lo puedes poner dentro del entero grande. Entonces deberías decir que está mal. No se puede poner así el número. Deberías decir valor de punto entero grande de, así lo entiendes como un entero grande. 50. Entonces la primera vez, tengo 50 multiplicar 50 iguales, no soy bueno en mat, pero creo que 25 y 20. Se puede poner en calculadora. Creo que puse el número correcto. Es la primera carrera. Es el paso cero. ¿Y el paso uno? En el paso uno, digo, ves esto 2,500, pongo un 2,500, solo lo calculo y lo pongo dentro de E. tengo en la segunda vez, tengo esta E con el número de 2,500. Entonces lo vuelvo a multiplicar con este 5050 es igual a dos, lo pongo en calculadora y C. tengo 125,000, y hacemos esto hasta el paso 49 Exactamente por eso, vimos ese número muy, muy grande y vemos la capacidad del entero grande. El entero grande es diferente con estos tipos más simples, y lo usas muy, muy raramente. Pero si necesitas un número grande, debes entender que dentro de este idioma hay un número muy grande, y puedes usarlos Justo a tiempo, los necesitas. Incluso esta línea, la usamos cuando la necesitamos. Además, antes de que me olvide, tenemos diferentes formas de usar para. Esta es sólo una forma en que ponemos dos puntos. Porque en esta lección, no queremos hablar mucho. Sólo debes saber que hay un cuatro y dejo hablar de diferentes formas y hablar más de cuatro. En el futuro, conoceremos mucho. Lo usamos de muchas maneras diferentes. Sólo sé paciente. Solo para estar seguros, este multiplicar es solo para este gran entero. Por ejemplo, si presiono inter y digo esto D, este es punto largo. Yo solo voy a copiar esto para estar seguro, toda la palabra exactamente igual. No lo tengo. ¿ Ves? No tengo eso. ¿Por qué? Porque por mucho tiempo no lo tiene. ¿Qué tal en? Tengo menos. Cómo tengo d. ¿Pero qué tal multiplicar? No lo tengo. Esto es sólo cuatro grandes enteros. Este tipo. Long in no tiene esto. No necesita esta y porque simplemente no puedo decir que d es igual a d multiplicar d. Y dice cambiar a y. ¿Por qué? Porque dices y. Bien D error. No hay error. ¿Por qué? Porque no necesitas multiplicador. No puedes simplemente usar esta estrella. Este gran entero, como digo, es para trabajos específicos, números muy grandes, y datos pesados. Y por eso, no es con multiplicador regular. Es este comando especial para multiplicar el número. E incluso la entrada que quieras multiplicar con esa debería ser un entero grande. Yo solo comento esto con slash star y donde terminamos star slash de aquí para acá lo comentamos Lo dejo aquí. Si necesitas, puedes descomentarlo. Sólo hay que quitar esta parte, y por supuesto, el final. Yo solo lo comento otra vez. Creo que hablamos de este tipo de comentario, comentario de varias líneas, no solo comentar una línea. Si no, acabamos de ver esto de nuevo aquí y nos familiarizamos con esto. Sigo en el siguiente video. 59. Día 9: verificación de las suposiciones del usuario Parte1: Comprobando la conjetura del usuario parte uno. Tenemos este juego y en esta parte, queremos comprobar las conjeturas del usuario, y por supuesto, mostrar el resultado Pero también cubrimos algunas otras cosas. Por ejemplo, excepciones de puntero nulo, o incluso similares. Vamos a continuar. Bien, bueno, vuelve. Antes de empezar, permítanme hablar un poco más de cuatro. Simplemente escribimos aquí R cuatro, y en este cuatro, deberíamos decir que tenemos una variable. Por ejemplo, yo, y decimos que se puede decir cualquier otro nombre. Esta variable debe estar en una colección o en otras matrices de palabras. Como aún no hablamos de arreglos, creo que deberíamos hablar de ellos y tener más ejemplo de esto en el futuro. Pero como recuerdas, decimos o en un rango de número. Todavía no usamos en matrices, pero en lugar de matrices, decimos, por ejemplo, decimos, por ejemplo, f entre cero y no diremos hasta otro número, decimos punto, punto hasta que hasta diez. Tenemos cuatro 0-10. Si solo digo como, solo copio esto. No lo vuelvo a escribir. Ya ves después de las cuatro, tenemos apertura Y cuando terminemos, tenemos cierre. Pero aquí dentro, ya que es sólo una línea, no tenemos que escribir eso. En fin, no tenemos E porque esto es comentario. Yo sólo digo yo. ¿Por qué? Porque quiero ver cual es mi i. Y digo que valoro, y no lo cambio num dos. ¿Por qué no? Es algo sin razón que acabo de escribir. Déjame ejecutar la app para ver qué es lo que acaba de hap. Decía en una sal con éxito en 2 segundos, pero estoy esperando unos 20 segundos. Para el primer sorteo cuando abres tu estudio de Android, tardó un poco más de tiempo. Por ejemplo, 20 segundos, tarda 20 segundos en ejecutarse. Yo solo quiero decir L gato, y quiero aclarar esto y mi valor visual. Entonces copio este control C y elimino este control V, mi valor e, y de oom out, y queremos el juego De nuevo, así, solo quiero telar y hacer clic en el juego. Mi valor para los ojos, ves mi valor para los ojos. Tengo esto mi valor para los ojos. ¿Qué es? Es partir de cero, y el cero mismo. Éste, y va hasta el diez y el número diez mismo, cero a diez, de cero a diez. Si cuento nueve, diez, 11, corremos 11 veces porque uno a diez, y tenemos este cero en sí 11 veces. ¿Puedo escribirlo una manera diferente en lugar de estos dos puntos? Sólo puedo escribir hasta. Ves ese punto, yo lo tengo, F cero, dos, diez, cero en sí, diez en sí, y solo selecciono estos dos puntos y digo adelante. ¿Hay alguna diferencia? ¿Puedes ver alguna diferencia aquí? Mira esto, esto. Creo que no tiene igual parte. ¿Qué dice? Si detengo la app y vuelvo a ejecutar la app, Y acabo de ver al gato. Por supuesto, borra a este gato con este botón o clic derecho. Quiero ir al juego. Decía de cero, uno, dos, tres, cuatro, y hasta línea. ¿Por qué? Porque aquí no tengo la parte igual. Si escribo hasta en vez de esos dos puntos, no tengo diez en sí aquí. Espero que entiendas esto también, déjame escribir otra cosa. Detener el. Por supuesto, y minimizar esta R, ¿qué? Max I, por ejemplo, Mx equivale a diez. Entonces escribo aquí, Max. ¿Está bien? Déjame ejecutar la app y comprobar Ejecutar. Por supuesto, como. Déjame esta vez leer este bote, Kleer, y hacer clic en el juego Entonces tengo 0-9. Si lo cambio, permítanme cambiarlo a ocho, y claro claro. Si vuelvo y presiono juego, lo tengo hasta las nueve. ¿Por qué? Porque cambio la app, lo que mi APK ya está instalado en emulador. No lo olvides. Y presta atención. Mi app ya está huyendo. Cambio este número. Y eso no lo vi. Entonces subo aquí a ver que he dibujado. También presioné este botón. Estoy esperando y vuelve a correr muy rápido. Menos de un segundo. Y por supuesto, haz clic de nuevo en Logcat. Despeja este logcat, haz clic de nuevo. Y ahora lo tengo 0-7, no los ocho porque estoy hasta Espero que entiendas esta parte también, y quiero el ocho en sí, déjame cambiarlo, punto, punto. Debería tener el ocho. Déjame aclarar esto y volver, haz clic en el juego. ¿Dónde está el ocho? No lo tengo. I. Permítanme repetir esto otra vez. Deberías ejecutar tu app. Esta es tu antigua app. Cambia tu código, y no tiene efecto en la aplicación de instalación. Déjame ponerlo de esta manera. Imagina que tienes tu salida, la instalas. En tu teléfono, desconectas tu teléfono. Y lo que sea que quieras hacer aquí, ya no afecta tu teléfono. Esta app en instalada y ejecutada, cambias tu código. Así que debes presionar Run app, luego tus nuevos códigos, y lo que sea que hagas los efectos. Si tienes un error, arreglas estas cosas, deberías volver a ejecutar tu app Si haces alguna otra cosa, quieres ver los efectos, deberías volver a ejecutar tu app Incluso en tu teléfono, deberías estar en sólido en tu teléfono. De nuevo, gato leer juego. F028 y ocho en sí. Ahora bien, esto es algo así que entiendo una cosa ¿qué? Puedo poner este número dentro de una variable y controlarlo. ¿Qué tal este número? Por ejemplo, ¿está bien si digo R media es igual a cero, Tenemos error, y porque pongo este espacio, y claro, quiero grande yo aquí dentro. Yo uso esta media en vez de este cero, media. ¿Está bien o tengo flecha? Déjame correr. Por supuesto, vamos a checar usuarios invitados, pero, como hablamos de cuatro, solo quiero revisar todos estos para ver si estas cosas están bien o no. Ga, es 0-8, y si lo cambio a otra cosa que no sea cero Por ejemplo, digo cinco. De nuevo, si vuelvo y volví de nuevo, ya que es una app de sal, aún no está actualizada. Yo no vi nada. Yo no hago nada. Así que vuelve a ejecutar la aplicación. Como C. Claro y juego. Tengo cinco, seis, siete, ocho, um cinco y cinco sel, 28. Entonces eso lo entendemos. Por favor escribe todas estas cosas conmigo paso a paso. Todos los cursos, calzados escribes estas cosas conmigo paso a paso Estas cosas son importantes, y entiendes estas cosas de todos modos. F cinco, y cinco en sí. 678, y el propio ocho. Es la diferencia entre estos dos puntos y t. Bien, creo que tenemos suficientes ejemplos aquí, pero todavía tengo esta pregunta. Y como digo, permítanme minimizar esto. Verás, porque es una línea, no tengo turno el botón después de p y cerrando, cambio el botón después de dos botones después de p. Cierre. No necesito esto. Pero la mayoría de las veces lo escribo. ¿Por qué? Porque podría agregar códigos, y si no escribo esto, por ejemplo, déjame mostrarte ese ejemplo también. D, D es. Y ¿qué es el control D? ¿Te acuerdas? ¿Qué hace? Control D. Duplico esto. Primero, tengo este error. ¿Por qué? Porque no reconoce, porque estás fuera de cuatro. No abres en los permisos, solo corre la primera línea. Pero como quiero mostrarles, simplemente puedo quitar esto y decir, num uno, uno, dos. ¿Para mostrarte cuál es la diferencia? Imagina que olvidaste abrir Akos. Dices, es una línea. Cualquier comentario cualquier otra cosa que quieras, escribes. Bien. Lo que olvidaste. ¿Olvidaste qué? Olvidaste abrir anks. En otra ocasión, se agrega una línea más. ¿Qué pasa ahora? Déjame volver a ejecutar este Logcat leer gay. Tengo esta línea con 45678. Pero esta línea cuatro no ejecuta esto. Por favor, ejecute estos códigos conmigo y véalo usted mismo. Estos son importantes. 5678, pero esto sólo. Si considero que esto debe correr con estos cuatro, también, estas dos líneas están juntas. No recibo un error. Ves que la app no dice que tengas un rol, pero mi app no funciona como espero porque esto solo se ejecuta una vez. Entonces si digo que empieza aquí y termina aquí, el turno se pela, el botón al lado de PN, el botón después de eso Entonces tengo esto ands. Déjame volver a ejecutar y mirar y claro y juego. Tengo cinco, num dos. Tengo num 112, y otra vez, seis, y otra vez, siete, corre corre cada vez conmigo. Con esta línea como espero. Por eso, la mayor parte del tiempo, pongo estos en mis cuatro, aunque en mi si puedo eskep eso, pero la mayoría de las veces, no lo hago. Una cosa más. Tengo una pregunta muy, muy importante. ¿Por qué utilizo cuatro? Yo uso 42 hacer una línea, un montón, no puedo decir una línea, un montón de código porque podría ser un montón de código o un número específico de tiempo. Y puedo tener esos número de veces con un cierto índice que es índice inferior, y índice superior. Si digo cinco a ocho, lo tengo cinco, seis, siete, ocho, cuatro veces. Ejecuto este código cuatro veces ambas líneas. Pero y si digo que no lo quiero. Puedo ejecutar este código por mí mismo. Ya ves, control V Ejecutamos este código una vez. Y cuatro. Tengo esta pregunta, y cuatro. Déjame solo hacer control D. Dices que quieres ejecutar este código dos veces. Control, tengo dos de este código. Corremos esto dos veces. Aunque quieras ese número, puedo dar cero y uno, tengo cero y uno yo mismo. Y cuatro. Bien, permítanme continuar con esta acción y decir control tres veces más y decir, esto es dos, esto es tres. Esto es cuatro ¿Es bueno? Permítanme comentar esto y decir que esto es 0-4 en sí mismo. Si ve, tengo una, dos, tres, 45 líneas, y tengo una, dos, tres, cuatro, cinco líneas. Es lo mismo, tengo cinco líneas. Tengo cinco líneas. Estos son iguales. Pero una cosa más, antes que nada, no puedo controlar los números aquí dentro. Debería escribir e y verificar, y es realmente complicado. No es recomendable en absoluto, pero queremos probarlo. Si escribimos así o incluso más, 20 veces. ¿Y si queremos más? ¿Debería cambiarlo todo y tener algún otro tipo de s y qué debo hacer? Escribo, por ejemplo, 500 líneas, y tengo 500 es para comprobar qué soy y si ejecuto esta línea y la reviso en ef. Y si tengo error porque escribo algo mal en una línea. No puede hacer así. Especialmente tienes cinco veces aquí. Imagina 40 veces. ¿Qué quieres hacer? Déjame ir más grande. 100 veces. ¿Qué quieres hacer? ¿Quieres escribirlo 100 veces? No, no puedes. ¿Qué tal mil veces? Por supuesto que puedes. Por eso, cuando quiero repetir mi código, repita mis comandos ciertas veces uso cuatro. Cuatro es comando muy útil y lo usamos en muchos lugares. En lugar de esto o escribirlo mil veces, solo escribo código muy corto. Está claro, puedo entenderlo. No puedo depurarlo. Es realmente simple. Es muy bueno y eficiente porque tengo menos errores también. Es muy rápido porque lo escribo rápido. Ahorra tiempo. Por cierto. Yo sólo aquí, star slash y aquí dentro, slash ¿Por qué? Porque puse esto para que tú también lo veas. ¿Cuáles son nuestros videos anteriores? Hablamos de estos números, ¿dónde están? Byte para aproximadamente 100 máximo de -128 a 127. Corto, un poco más grande en, muy grande largo, incluso más grande que en, e incluso hablamos de gran entero. ¿Por qué hablamos de todo esto? Porque quiero ver cuál de estas variables es buena para mí. Por ejemplo, porque queremos adivinar un número, creo que la mordida es muy poco. Corto es bueno. La mayoría de las veces, uso in y Android default está en. Pero déjame usar short. Acabo de copiar esta parte, Control C, y tomo nuestra variable corta para obtener Control V al azar, agrego slash, claro Queremos dar este número, por ejemplo, menos uno, y ponemos este control x. déjame tomarlo y ponerlo en la parte superior nuestro código a su un global. Aquí dentro. Queremos que sea un número aleatorio, buen nombre, y en vez de p corto es igual a menos uno. Yo sólo limpio. Este tengo numero aleatorio corto es igual a menos uno. Ya que queremos cambiar el valor dentro de nuestro código, debería decir, eso no. Tengo variable número aleatorio corto igual a menos uno, y digo comentario Este es el rango de corto, así que ya sabes, este es el rango de corto, de todos modos. Permítanme seleccionar esto haciendo doble clic sobre él. Ves doble clic. Si haces clic tres veces muy rápido así, una, dos, tres, seleccionas toda la línea. Pero si quieres hacer click una vez, cambias el lugar donde estás aquí, aquí, aquí. Pero si haces clic dos veces, tienes doble clic. Usted selecciona esta parte. Control C. S Si te enseño tantos detalles, es importante para mí, para que entiendas cada una de estas cosas. En fin, bajemos el número aleatorio. Control V es igual. Oh no, tengo error. ¿Qué acaba de pasar? ¿Cuál es nuestro error? ¿No es este número aleatorio? Corto. Sí, lo es. Déjame comprobarlo. Corto. Pero, ¿cuál es nuestra salida de números aleatorios? Déjame comprobarlo también. Controle y haga clic en él. Déjame volver aquí. Controle en este control de prensa y haga clic para ver el destino. Déjenme decirlo. Para ver las llagas, obtener un número aleatorio. Qué estamos aportando a nuestra variable. Regresamos int, y en ese lugar, dice, no se puede convertir en dentro de ese corto. En algunos lugares, debería cambiar este int a corto. Si me cambio aquí en fin está bien y no puedo hacer otra cosa. No puedo cambiarlo a corto aquí. Yo digo, haga algo con ese método por mí. Quiero cambiarlo, ni siquiera escribo nada. Ya ves, demasiado corto. También tengo a una cadena que la usamos muchas veces para de todos modos, demasiado corto. Tenemos nuestro int, lo cambiamos demasiado corto, y luego lo ponemos en número aleatorio. Como te dije, siempre la mayor parte del tiempo, lo siento, la mayor parte del tiempo uso en. Yo sólo quiero que veas como puedes usar el short. Y si vas arriba y cambias este corto a in y vuelves. Ya ves. Ahora dice, ¿por qué tienes corto dentro que adentro? Deberías convertirlo de nuevo. Déjame ver. ¿Podemos decir eso en? Es muy, muy malo. Podemos hacer esto, pero no lo quiero. De todas formas, en lugar de tener esto adentro y cambiarlo a corto y luego cambiarlo a in. No es un inteligente en absoluto. Es realmente malo. Acabo de quitar esta parte y dice, es corta. Yo digo, y eliminar o simplemente comentar esta parte. Tengo este int dentro de mi int. Porque cambiamos esta variable en in. Déjame comprobarlo otra vez. Verás, mi variable está en. Ya que solo quiero ver, ¿ dónde dije número aleatorio cuando lo declaramos, y qué escribe? Quizás otra cosa menor, por ejemplo, nuestro valor predeterminado. Quiero verificar esta variable. Presiono control, muevo el mouse sobre esto. Ya ves lo puedes ver en. Pero no, sólo quiero ver la línea que la declaramos. Presiono control y hago clic en él para verlo, está aquí. Déjame hacerlo otra vez. Este es mi número aleatorio. Presione control, haga clic en él. Oh, este es mi número aleatorio. Aquí, le doy este valor. Puedo cambiarlo a menos dos, por ejemplo. Lo puedo encontrar muy rápido con solo hacer clic en él. Simplemente así. Pero, ¿y otras variables? Al igual que por ejemplo, esta vinculante, quiero ver donde declaramos esta vinculante. A lo mejor para verificar, cambiarlo o cualquier otra cosa. Presiono control para ver ¿está funcionando también? Yo hago clic en él. Después de presionar control en tu teclado, hago clic en él. Esta es mi encuadernación. Déjame hacer esto otra vez. Estoy aquí. Ya veo, tengo esta encuadernación. ¿Dónde declaramos esto vinculante? Presione control, haga clic en esta encuadernación, Oh mi encuadernación está en esta línea. Entonces continuamos en el siguiente video para que nuestro video no tardará tanto. Gracias por su atención, y espero que aprendan muchos de estos importantes consejos y trucos. 60. Día 9: verificación de las suposiciones del usuario: Teching la conjetura del usuario parte dos. Este es nuestro proyecto, y continuamos. Ahora tenemos nuestro número aleatorio. Lo almacenamos en esta variable justo aquí, y queremos que cuando el usuario entre el gas y presione este botón de ir, PTN vaya Queremos ver si es más lento más grande o el número exacto. Queremos comparar esa conjetura con este número aleatorio. Tenemos nuestro set en oyente chílico en arte PTN que llena nuestro Pero no queremos que PTNS comience ahora, queremos Para ver cuando hace clic el usuario en PTN Vamos a escribir. Comienza aquí y va. Se ve la línea hasta aquí. Yo solo hago clic. Pulsar sobre inter. Escribo Pt N. G. Dentro de este PT y voy, quiero configurar el oyente de clic Presiono eso y digo set on click oyente, tengo en Klick Ves que tienes dos de ellos y puedes ver la diferencia. Si hago clic en el segundo, ¿cuál es la diferencia con el primero? Déjame simplemente dar click sobre el primero. Tengo los paréntesis y obtiene entrada. ¿Cuál es la entrada? O simplemente no deberíamos hablar de ello. En fin, si haces clic en él, por error, tienes esto y tienes abierto y bajos. Desplazar al lado de la P y claro, los mínimos si no lo sumó, pero debería volver a controlar el espacio, el, el segundo, que tienen ese rango para mí. Así y sin paréntesis. Entonces cuando pone mi selector de cursor ahí, simplemente presiono ahí. La parte de cierre va ahí abajo y yo estoy aquí. Android Studio lo arregla por mí. De todas formas. Tomemos esto tu valor de conjetura. Pero debería verificar para ver si está vacío o no. Vamos a escribir y luego sólo puedo presionar en T. No escribir abierto y kilos. Escribo abiertos y bajos para mí. Escribo Tex ts. Text utils es para el propio android. Me da la posibilidad Esta es mucha posibilidad. Cuál quiero usar, quiero usar el está vacío. ¿Por qué? Porque quiero comprobar si mi texto está vacío o no, y claro, me devuelve bulion Entonces puedo usarlo en true o f. de todas formas, está vacío. Escribamos e t, et gus, éste, punto texto por supuesto está vacío o no. Presiono y cambio el botón junto a la P, y por supuesto, el botón al lado de él para perder, vuelvo un personaje y presiono ahí dentro. Si está vacío, ¿qué debo hacer? Está vacía. Et gus, punto, debería mostrar un error. Por supuesto, el error es igual a desplazar el botón al lado del inter. Presiono uno y agrega otro para cerrar. Puedo escribir mi texto. Turno y P para Big P. Por favor, en su Sí. Creo que es un texto sencillo y razonable, pero debería poner todo mi Texto dentro de una cadena. Hay una cadena de cuerda, y tengo dos idiomas. Debería poner esta cuerda dentro de mis cuerdas. Por supuesto, también en versión árabe. Simplemente doy click sobre este texto que escribo y presiono viejo inter. Verá este recurso de cadena de extracción. Yo hago clic en él. El nombre del recurso es por favor ingrese su suposición y valor, y por supuesto, árabe. Por supuesto, presiono a casa y escribo STR, turno que me escribe un subrayado Puedes escribir el nombre que quieras. Siempre escribo STR antes de mis recursos de cadena. Pero depende de ti. Y si es demasiado largo, podemos hacerlo más corto. Por ejemplo, si no encaja, te quito esta tu parte. Entonces se convierte en SDR, por favor interge. Quito esas partes que hacen que mi cuerda sea un poco más corta, pero aún así mi nombre debería tener sentido. Entonces leí este nombre, debería entender qué hacen estas cosas. ¿Y para qué sirve? Acabo de hacer clic en, tengo esta cadena de puntos r SCR por favor interior adivinar Y lee el estudio, haz esto por mí. Por supuesto, si voy a la cuerda, SCR por favor interior adivina Tengo esto con valor, y en árabe también, no traducimos el otro. Pero lo puedes ver. Puedes traducirla cuando quieras y yo solo la cierro, la cierro. Incluso si no quieres abrirlo desde este proyecto, no puedes presionar control para ir a la fuente. Simplemente hago clic en él. Primero, presiono control y luego hago clic en él. Dice, vino de dos dos diferentes. ¿Por qué? Porque es inglés y árabe. Entonces digo, ¿cuál quiero? Muéstrame el inglés. Este es el inglés. Pero si digo control, haga clic. Ahora, muéstrame el árabe. Va exactamente a esa línea y puedo ver dentro la árabe exactamente esa línea que me lleva ahí y veo el valor. En fin, cierra esto de nuevo. Además de esto, aunque haga clic en diferentes cosas, por ejemplo, EDT guess, ya ves esta suposición DT ¿De dónde viene esta suposición DT? Presiona control y da click sobre esto. Quiero ver la referencia del recurso. Haga clic EDT guess vino de aquí. Esta es mi suposición EDT. Ahora entiendo. Creo que no mencioné, con esto consigue una cadena, tomas tu cuerda, obtienes una cadena, y por tomarla, deberías darle la dirección del recurso. Vaya a recursos, luego vaya a una carpeta de cadenas, y por supuesto, una lámina de cadena y tome esta carpeta de cadenas. Dentro de esa carpeta de cadenas, depende de tu idioma. Ahora, toma esta variable que le damos el nombre. Resources, una carpeta de cadenas dentro de esa cadena. Toma este SCR por mí. Consigue una cuerda, haz esto por ti aquí, pero ¿y nuestra opinión? Dentro de nuestra vista, permítanme simplemente hacer clic aquí en firmar una cadena Slash Esto toma una cuerda para mí. Es lo mismo para tomar la cuerda igual con esto obtener una cuerda. Entonces tenemos esto si aquí dentro, si esto es cierto, haz esto, si no, queremos decir, si no, haz esto la siguiente parte. Si es cierto, esta parte nunca corre. Estos códigos son realmente pequeños y no de línea. Pero para aprender, creo que es mejor que agregue una función. En fin, incluso para esto, agrego función. Comprobar conjetura, claro, no tenemos ninguna conjetura de cheque. Damos click en él y vemos esta bombilla. Damos click en esta bombilla o inter. ¿Qué tenemos? Crear función. Vamos a crear la función. Crea una función privada para mí. Qué es este privado, como ya dijimos, este privado significa que solo accedes a él dentro de esta actividad de juego. Entonces me quito esto para hacer y digo, déjame simplemente poner una entrada dentro de ella. ¿Qué es esto dites? Ponemos esto aquí dentro. Por supuesto, hacer texto porque quiero el texto, hacer dos cadenas. Y hacer a int. Me da error y porque esta diversión no tiene ninguna entrada. Ves que está vacío, pero le das algo. Ves que el siguiente tiene entrada, pero esta no. Puedo venir aquí y escribirlo yo mismo a mano así. Pero déjame ver si hago clic en él y veo esta bombilla o esta ahí dentro. Quiero mostrarte el camino de las botas. Tengo estas opciones. Yo digo: Bien, agrégalo por mí. Haga clic en él. Dice: Aquí estás. Esto es adentro, porque lo convertimos a in. Dice: Bien, yo lo hago porque tú me das esto y le da algún nombre. No me gusta el nombre, así que simplemente hago clic en él y cambio el nombre, el resto y leer el semental hazlo por mí. Entonces, ¿qué nombre es bueno? Por ejemplo, conjetura es buena. Nuestras cámaras de números de conjetura aquí. ¿Ves lo fácil que es esto? No necesito devolver nada. Si lo hago, puedo agregarlo aquí. Ya ves, así. ¿Qué queremos hacer? Queremos comprobar si esta conjetura es igual grad o inferior, entonces Este número aleatorio. Permítanme decir solo si inters es igual a. Recuerden, tenemos dos de estos cuatro es igual a dos porque queremos picar una condición. Si solo agregas uno, son cuatro, pon algunos otros datos dentro de la variable u objeto. Pones dos para comprobar si el lado izquierdo y el lado derecho son iguales o no. Igual a qué? Por supuesto, hacer número aleatorio. Sólo puedo cerrarlo nuevo para arreglarlo por mí, así como así. Si son iguales, ¿qué debo hacer? Quiero inter, por favor explícalo tú mismo. Entiende lo que estamos haciendo? Ni siquiera tenemos que crear función para estas pequeñas cosas. Pero yo entiendes con estas cosas, arreglas tu código y ¿cómo lo haces? Intenta que escribas estas cosas y aprendas mejor. Si es igual, si es igual a nuestro número aleatorio, quiero mostrar nuestro resultado aquí. Entonces, quiero mostrar dentro de este txt. Resultado Txt. Pero déjame ver, no tengo resultado tx porque puede entender a qué te refieres con por resultado txt. ¿Por qué? Porque ves esto aplicar, está abierto aquí y cierra aquí. Si digo txt, tengo txty resultado aquí, pero ya ves, no lo tengo ahí abajo Ya que no escribo vinculante aplique aquí, debería escribir encuadernación justa. Recuerdas el acceso a nuestros objetos vista interior con vista, búsqueda vista por ID o encuadernación. Esto lo hacemos ahora vinculante. Ahora escribo eso. Tengo ocho gues, no, PT y voy, no, quiero txt. Tengo estos tres txt. Por qué escribo txt antes de su nombre para poder encontrar mis vistas de texto ver texto muy fácilmente. Estas son mis reglas. No es que tengo dos, pero es mejor que tengas las reglas. De todas formas, resultado Tt. Entonces tengo error. ¿Cuál es el problema? ¿Recuerdas qué debemos agregar después de la encuadernación? Presiono en esta bola de luz para ver que puedo tener este signo de interrogación o este que vino con turno más el número uno. Éste, éste, se ve del lado derecho, se puede ver así o así, así o así, así o así. ¿Porque puede ser nulo? O vinculante puede ser nulo? Hablamos de ello cuando declaramos nuestra variable vinculante. Por supuesto, no es nulo. Damos a esto le damos esta vinculante anulable. Nosotros damos esto. Datos, pero puede ser nulo. Por eso, déjame regresar. Tenemos que decir, Está bien. Déjalo ir. Por supuesto, decimos ¿qué es nulo? Nulo no es nada. No es un cero. Nulo no es cero, nulo no es nada. Absolutamente nada. Yo digo: Bien, ponme este signo de interrogación. Si la bombilla roja no va, hago clic en otro lugar y volví. Se ha ido. Y este signo de interrogación significa si no es nulo para el resto. No tenemos ningún error. Como recuerdas, con este signo de interrogación, decimos que no lo ejecutes si es nulo, pero si nos quedamos en el segundo camino, decimos que estoy seguro que no es nulo. Si es nulo, se ejecuta y si te da error. Creo que deberíamos hablar un poco más de este tipo de errores. Tal vez el siguiente video. Entonces no puedo estar seguro de que aprendas muy bien esta parte. Por supuesto, puedes usar así si revisas primero. ¿Cómo puedo verificar primero? Yo solo escribo si lo que Esta encuadernación no es nula, así como así. Ya ves como podemos verificar, es igual a esto, podemos verificar si no es igual a. Digo si esta vinculación no es igual a nula. Es, entonces ve a la siguiente línea y corre esto y no abro y cierro el área porque es solo una línea, pero puedo hacer esto también. No puedo estar seguro si tengo muchas líneas, no va a las otras líneas también y puedo cerrarlo de nuevo para ordenar mi código así , esta línea, eso, esta línea, después de eso, la parte interna otra vez, y finalmente, esta es ir una pestaña para allá otra vez. En fin, como recuerdas, trato de no usar nunca así, aunque pueda escribir este tipo de si. Permítanme continuar en el siguiente video. Entonces nuestro video no va a estar mintiendo. En video anterior, mi video se volvió un poco mentiroso porque me encanta enseñar y me olvidé de T Study. Sigamos en el siguiente video. 61. Día 9: verificación de la suposición del usuario: Comprobando la conjetura del usuario parte tres. Esta es nuestra app, y continuemos. Como acabamos de hablar, así tenemos este enlace y le damos este valor y lo usamos aunque en esta vista de contenido conjunto, decimos así que estoy seguro de que mi vinculación no es nula. Está bien. Porque solo le doy el valor a esto y solo uso este tipo de. Estoy seguro cuando acabo de dar el valor. De lo contrario, signo de interrogación. Pero incluso aquí está bien eso, pones signo de interrogación. Entonces te acostumbras a esto. Y ves este error. Si subes y bajaste, ya no está. Es ID E b. Y a veces el propio IDE te da el error. Verás error interno de ID. Damos click en él. Damos informe a Google y próxima versión, estos errores y bugs se volvieron cada vez menos. De todas formas, solo presionas esto y Kos. Déjame ver. ¿Podemos aprender algo más aquí? Porque aunque hablemos de esto si, esto también es posible. Es igual a ese signo de interrogación. Si no escribo esto y claro, esto y yo solo pongo ese signo de interrogación aquí igual. Tengo una idea. Déjame incluso comentar esto y subir y ¿qué pasa si no le di el valor a este vinculante? A esta vista de contenido de conjunto no le importa si ejecuta este código o no. Esta vista de contenido conjunto quiere algo. Entonces, no le di el valor a este vinculante. Y yo digo: Bien, si no te di nada, no corras. Así que no ejecutes esta parte, pero establecer la vista de contenido todavía quiero algo. Déjame ejecutar la aplicación para aprender algunas cosas más aquí. Mi app acaba de llegar y quiero ver el registro, y por supuesto, mi valor visual. Primero, permítanme hacer clic en este juego. Comienzo de choque. No tengo el choque. ¿Por qué? Porque ves que mi valor visual está aquí. Dice solo muéstrame Los registros que tienen mi valor visual, pero no lo tengo. Déjame quitarle esto. Oh, ya veo mis errores . Este es mi error. Tengo mi error ahora, en qué proceso, en este proceso. Este es el nombre de mi paquete. Incluso tengo mi ID de proceso. Bueno. Mira esta primera línea aquí después de este ID de proceso. Yo sólo voy, vamos. Por supuesto, veo esta actividad de juego, mi actividad de juego. Dice que no se puede agregar una vista hija nula a un grupo de vistas. Pones nulo aquí. ¿Y qué más tengo? Voy abajo. He causado por. No todo el tiempo, pero la mayor parte del tiempo tengo estos causados por. Verá que el texto no puede agregar una vista hija nula a un grupo de vistas. Déjame simplemente no puedo agregar una vista hija nula a un grupo de vistas. Ves las mismas tomas aquí, ves allá abajo. La mayor parte del tiempo, simplemente, solo bajé a ver qué es lo que causa y. Una cosa más. Ves que tienes esta vista grupo punto Java ver grupo punto Java, línea, línea, línea algo, línea algo, línea algo. Esas clases son para el Android Studio aferrarse. Lo que quiero esta línea, y, esta línea. Por cose, primero, este es mi propio nombre de paquete. Este es el nombre de mi paquete. Entonces después del nombre de mi paquete, tengo esta actividad de juego. Esta es mi actividad de juego aquí arriba. Entonces tengo, déjame ir un poco más arriba. Ves esto crear, yo tengo este crear. Lo que acaba de pasar en mi acto sobre la actividad del juego en la creación. Y claro, tengo un enlace aquí, actividad de juego punto corte línea 19, tienes error en esta línea. Yo solo hago clic en él, déjame ir algo del riesgo otra vez aquí. Estoy aquí. Simplemente hago clic en él. Muéstrame este nombre del paquete, esta actividad, crear y exactamente esta línea. Me muestra esta línea. Haga clic en la línea 19. Establecer la ruta de enlace de visualización de contenido, que tiene ahí. Si chek errores de Java, claro, son los lugares error creado Pero no debería cambiarlos. Debería arreglar mi propia actividad. Entonces encuentro mi línea de actividad 19, y digo lo que es causado por Song es tan corto, esto causado por y esta primera línea. Por supuesto, tercera línea, esta línea, esta tercera línea después de ID de proceso, primera línea, y línea de caso, leí estas dos y dentro de todos estos textos, no se puede leer cada línea, cada letra y todas esas clases. Encuentro mis propios códigos y clases y entro mis propios códigos para encontrar lo que está mal con mis códigos. Esto también me ayuda porque dice lo que está mal. La mayoría de las veces, cuando quiero buscar error, busco un error, solo voy por las piernas y lo busco o desde aquí, desde aquí o simplemente esto causado por buscar esto con algún teclado, por ejemplo, si no encuentro lo correcto, agrego algunos otros textos a mi búsqueda. Verás, si bajo, tengo incluso esto mucho más. Entonces tengo muchos datos dentro de mi error, pero te muestro, solo te mostré estos estos y estos son la parte más importante, estas tres partes. Permítanme minimizar esto y esto y ver esto. Si lo escribo así, cambio una, dos veces o simplemente si lo pongo así, me da nulo. Dice, no puedo aceptar error nulo. Si lo pongo así, no voy a correr, porque es nulo. Yo no equivale a nada porque no va a correr. También tengo null y set content view no puedo tomar null, y también tengo error. ¿Por qué? Debido a que no tengo error en esto, tengo error en mi vista de contenido conjunto. Porque pongo que mark, equivale al control X con esto sin nada, y me da error. Porque tengo que poner algo. Y si solo copio esto, le damos al vinculante estos datos. Y si solo copio esto y digo, ustedes quieren estos datos aquí, pero no esto, debería decir, punto, ruta. ¿Recuerdas que escribimos root y al final de nuestro comando anterior también Así que toma la raíz de esta actividad de juego y ponla con esta actividad de juego, conecta estos dos entre sí con esta vista de contenido. Entonces creo que lo hago bien exactamente estos datos y la raíz B esto es exactamente como digo, Binding dot root. Exactamente, puse esos datos aquí dentro, y luego dot root. Déjame ver. ¿Está bien? Ejecutemos la app para ver juntos. Entonces ejecuto mi app, L cat. No tengo ningún error. Por supuesto, primero debo presionar este botón de juego. Minimizo esto. Mi punto de vista está aquí. No hay problema. S vista de contenido, trabajo. Funciona. Ahora, permítanme decir diez y 20 de inicio. ¿Qué acaba de pasar? No pasa nada. ¿Por qué no sucede? Si presiono este inicio, deberíamos hacer algo. Si presiono este inicio, ese clic gravamen, debería hacer algo E incluso deberían ser visibles estos dos. ¿Por qué no lo es? Porque decimos si la vinculación es nula con este signo de interrogación, no hace el resto desde el inicio de este aploy hasta aquí PTN ir y PTN un carro. Las piezas no funcionarán. Presiono un inicio, pero estas dos visibilidad no cambia. No tomé ningún error. No se estrelló, pero no está funcionando porque ignora en estos códigos y aquí, estos códigos, y por supuesto, el resto desde el inicio de aplicar hasta el final del mismo Todos estos son ignorados. Déjame comprobarlo y cambiarlo. Entonces es nulo y no le dimos nada. Entonces es nulo y no va a correr. Déjame mostrarte de esta manera. Turno número uno número uno. Sigue siendo la versión antigua. Deberíamos volver a ejecutar esto, presione aquí. Déjame ver qué es lo que acaba de pasar. Voy a esa vista de juego, pero mi app acaba de cerrar. Déjame ver el gato Log. Tengo estos errores. ¿Qué es? Excepción de puntero nulo. ¿Te acuerdas? Yo digo, se puede leer causado por Causa por, ¿cuál es el responsable? Quién es el responsable. La excepción de puntero nulo es responsable. ¿Dónde sucede esto? Dentro de la línea de actividad del juego 55 patea aquí dentro. Porque solo digo que estoy seguro pero no lo es. Verás, es nulo, ¿ y qué pasa con la línea 25? Es el lugar al que hasta yo llamo a esa función. Yo llamo a mi oyente innato. Incluso cuando llamo a esto, dice: Sí, puedes ver y verificar cuándo llamas a esa función y deberías verificar dónde ocurre el error. Qué error de excepción puntero nulo. Ni siquiera tengo que hacer clic en nada de esa vista. ¿Por qué? Porque aquí adentro, entonces crear sucede exactamente el momento en que se abre mi vista. Esta función la llamó causó el problema dentro que crean y dentro de esta, esta línea me da el error dentro de esta función. Ni siquiera tengo que hacer clic en nada. Cuando se produce la creación, tenemos ese error. En fin, larga historia corta, dices, estoy seguro que no es nulo, pero es nulo porque es nulo, tienes error nulo. Puede que veas esto en otros lugares. Es realmente bueno familiarizarse con esto y saber qué causan estas cosas ¿Cuándo sucede esto? Ahora justo ahora puedes entender por qué estoy diciendo, solo uso signo de interrogación. Entonces error nulo. Lo peor que pasó es que esa cosa no se ejecutará, pero no se estrelló, no error. Sólo como recordatorio, ves que escribo si no es nulo así que ejecuta la siguiente línea así. Pero, ¿por qué molestarnos a nosotros mismos? En lugar de esto si, sólo hay que poner un simple signo de interrogación. Es mejor. Hasta aquí aprendemos tantas cosas y espero que entiendas por qué el signo de interrogación y qué pasa si es nulo y lo otro, seguimos en el siguiente video, así tienes este video completamente para este tema. 62. Día 9: verificación de las suposiciones del usuario Part4: Comprobando la conjetura del usuario parte cuatro. Vamos a continuar. Seguimos y descomentamos esto, y por supuesto, descomentamos este cambio esto también Yo vinculante. Y claro, signo de interrogación. Tenemos este error. Hacemos clic aquí. Regresa. No tenemos ningún error y leemos el bug del estudio. Hablamos de todo esto. Bajemos. Tenemos esta conjetura de verificación y dentro de aquí, queremos quitar esto también y esta parte, tenemos esta unión que decimos dentro de esa vista. Necesitamos resultado de texto. ¿Qué quieres hacer? Con resultado de texto, texto, quiero que el texto sea igual, lo siento, debería poner este signo de interrogación aquí también. Al finalizar el turno y el botón al lado del inter. Quiero inter texto. Como digo, tu conjetura es cierta. Cuando estas cosas suceden, cuando tu conjetura es igual a número aleatorio. Tú, ganas. Sólo puedo decir que ganes, por ejemplo, o no, tu suposición es cierta. Arreglemos la advertencia también. Hacemos clic en esta luz pero, y como saben, podemos decir presione esto si así lo decimos, estudio no le importa esta advertencia. A veces y el estudio nos avisa, pero no queremos cambiar esa parte. A lo mejor es porque es un error. Es un error o cualquier otra toma o solo Y con la bicicleta de estudio. Si decimos presionar. Así que no te importa eso. Verás, digo presiona esto y mi subrayado el color amarillo se ha ido Permítanme comentar esto. Tengo esto bajo amarillo para decir Sí, tienes un problema aquí dentro. Pero si digo, déjalo ir, di, Bien, este no me importa. Pero quiero y realmente sudo me importa mi texto. Entonces lo puse en cuerdas. En fin, entendemos, lo que es ignorar la cosa también. Ahora, continuemos. Hagamos esto otra vez. Esta vez tenemos viejo inter en lugar de presionar, sí extraemos un recurso de cadena. Entonces también en árabe, lo comprobamos. Ahora, nuestro nombre. Por supuesto, presiono a casa y digo STR bajo línea. ¿Por qué? Porque agrego SCR a todos los nombres de las cadenas. Y prensa. Reviso este árabe también, presiono k. ahora, tengo esta cadena g de donde, de recurso, de cadena más completa, de mis cuerdas, por supuesto, y este es mi nombre de cadena STR, tu suposición es cierta. Y claro, si le pongo mi ratón moe, se puede ver el valor Tu conjetura es cierta, y eso es por defecto. Y el árabe, tu suposición es cierta. ¿Ves? Así puedo comprobar cuál es el valor por defecto y qué es el árabe también. Espero que entiendas muy bien todos estos. Ahora, espera un segundo. ¿Y si no es igual? Entonces no es cierto. ¿Qué deberías hacer entonces? Nosotros decimos, Es igual o menor o superior. Entonces decimos yo si el primero no es cierto, Ahora, revisa esto si, si el primero si no es cierto, ahora, comprueba, esto si. Si nuestro número aleatorio es mayor de lo que la conjetura? Si nuestro número aleatorio es mayor que adivinar. Ahora deberíamos hacer algo. Por supuesto, y uno de vuelta ahí. Ahora bien, ¿qué debemos hacer entonces? Decimos solo controlar C este y controlar aquí dentro. Acabo de entrar aquí y no voy a quitar todo esto y empezar a escribir cadena. Simplemente selecciono esta parte y digo, puedo empezar a escribir o eliminar primero y decir mayor. Entonces Andrew este estudio solo decía, no sé nada mayor entonces. No tienes esa cuerda. Por supuesto, estoy en esto y luego presiono todo aquí y digo, crea esta cadena para mí. Yo hago clic en él. Ahora, nuevo recurso de valor de cadena. También árabe también, lo reviso. Yo sólo estoy escribiendo aquí. Cualquier cosa que quieras, puedes escribir. Pero estoy diciendo que el número es mayor que tu suposición, y pongo un punto para que sea más agradable, o incluso puedo hacer esto n mayor mayúscula n. Depende de ti Entonces presiono. Y tengo un CR mayor que también. Déjame solo revisar una cadena, un CR mayor que, lo tengo, y un número CR árabe es mayor de lo que tengo también. Permítanme cerrar y cerrar también y minimizar. Así que creo éste también. ¿Qué e? Esto tampoco era cierto. Yo digo E. Déjame comprobarlo otra vez. El número aleatorio es menor que. Ves esto menos de lo que lo tienes en tu teclado. Si presionas shift y el botón junto a M. Y el otro en la parte superior es solo el botón después de eso. No solo al lado de M, presiona shift y dos botones a la derecha al lado de M. Puedes escribir este. Déjame continuar. Antes de seguir escribiendo, veo esta línea amarilla. ¿Qué dice? Déjame revisar. Digo condición número aleatorio menor que gues siempre es cierto. ¿Por qué? Ves que tienes tres situaciones, tres opciones. O eres igual Sí, yo tengo igual. Usted mayor o menor que. Entonces compruebas, no es igual. Compruebas, no es mayor que. Entonces es menor que aunque no escribas esta parte, cuando es más baja entonces, llegas a esta si. Entonces, si escribes esto si o no, no hay diferencia. Así que simplemente podemos eliminarlo, y Andre studio también dice que siempre es cierto. Si alguien llega hasta aquí, pase estos dos. Es cierto porque no es igual, no es mayor así que es menor de lo que puedes eliminarlo y sigue estando bien. Y también tengo otra advertencia. Le puse el ratón encima. Dice que otra cosa tiene cuerpo vacío. ¿Qué significa esto? Significa que aquí no tienes nada. No te inicia. No es un error, pero dice, es mejor que escribas algo aquí. Pero si no escribes nada aquí, no hay diferencia entre estas cosas estar aquí o no. Déjame continuar. Y solo copiamos esa línea. Simplemente lo pegamos. Encontrar la serie de texto mayor que solo es control C y control y menos que menos de. Bien. Ahora, tampoco tenemos esto. Si le pongo el mouse, también me da esta opción. Cree un recurso de valor de cadena para esto. Puedo dar click en esto así. Es el mismo valor árabe, claro. Bueno, sólo puedo escribir número es menor que tu suposición y punto. Así que solo presiono ok. El error es un todavía ahí porque ID, haga clic aquí, haga clic de nuevo. Se ha ido. Y ahora está bien. Déjame ejecutar mi juego para ver qué acaba de pasar. ¿Qué hicimos? Déjame minimizar esto e ir al juego. Ahora, tengo el primer número, digo 30, y el segundo número, digo 40, inicia el juego. Tengo un número entre estos dos. ¿Mi conjetura? ¿Cuál es mi suposición? Yo no pongo nada. Lo dejo en blanco. Por favor, vaya. Por favor, inter tu suposición, tengo, tengo error que me muestra que debo poner algo dentro. Entonces digo déjame solo decir 35 para ver qué ha pasado. El número es mayor que tu suposición. Así que vamos a subir. ¿Qué tal si subimos a 40 41, por ejemplo. ¿Es bueno? Vamos. El número es menor que tu suposición. Por supuesto, porque el máximo es de 40. 35 y 40, 37. ¿Qué tal eso? Vamos. El número es mayor que. 39, 39. ¿Qué tal eso? El número es menor. Siete, 39, son 38. 38. Buen juego. Y si digo que vayas, tu suposición es cierta. Es el número 38. Buen juego, buen trabajo. Escribimos nuestro código y es simplemente genial y funciona, y también aprendemos muchas otras cosas también. Creo que puedo enseñarte una cosa más en estas pocas partes. Toma conjetura del usuario. Estas son todas las cosas importantes que de alguna manera deberíamos aprender. En fin, esta es mi técnica de tala. Yo sólo te muestro aquí. Ya ves como podemos escribir nuestro registro, así como esto, Control C, acabo de copiar esto. Tengo este cheque gues. Esto es muy útil en programas grandes. Lo cambio para adivinar y registrar la clase de importación. S. Ahora bien, si la conjetura es cierta, solo quiero decir, lo primero que cambio esta tachuela Por ejemplo, a s uno. A veces pongo un número al final, así que no es complicado y no se pierde con las otras cosas dentro del Android. Entonces lo puse adivina uno. Verás, tenemos, por ejemplo, actividad de juego, línea 40, que cambiamos a 87 y decimos conjetura es verdadera g es igual a adivinar a una cadena, Y luego escribo de nuevo, solo copia este número aleatorio es s cadena de búsqueda de números aleatorios. ¿Ves qué estoy haciendo aquí? Déjame justo ahí. Entonces quiero comprobar, si alguna vez que entramos en esta víspera, tengo algunos datos. Quiero verificar mis datos importantes. Como digo, en programas grandes, reviso los problemas y otras cosas como esta. En fin, la línea, y después de eso, y antes de eso, me juego la actividad, claro, nombre. O T cutlin archivo cojo, y luego el usuario adivina que es cierto. Esta es la parte en la que sucede esto, y luego digo: Bien, la variable de conjetura. Primero, escribo la conjetura, y luego escribo, esto es variable de conjetura. Y luego digo y esta variable. Está dentro. Este valor se encuentra dentro de este nombre de variable. Por supuesto, tengo que escribir esas dos cadenas porque en log, tengo que convertir esto en cadena. Todos estos son mi mensaje. Déjame copiar esta parte. Control. De verdad me gusta enseñarte esto como línea 91. Guess Big esta parte es grande y por supuesto, supongo que es esto y el número aleatorio es este. Nosotros dentro de ese cheque si escribimos esta condición verdadera o no. Porque si vemos que mi número aleatorio es menor que adivinar dentro de esto, entendemos que en algún lugar escribimos algo mal. De todas formas. Inter control nosotros nuevamente, conjetura del usuario es baja, y por supuesto, conjetura es esto, número aleatorio es este. ¿Ves lo bueno que es? Incluso puedo escribir un nombre variable número o número de conjeturas globalmente y agregarlo antes O antes de esta suposición Aquí, puedo agregarlo esta es la primera entrada, segunda entrada, la tercera entrada, y todos los demás datos que necesito. Entonces ejecuto mi programa, déjame mostrarte eso también. C. Vamos a correr. Déjame ir al juego y, por supuesto, claro, y control, comprobamos la conjetura, y por supuesto, minimizamos esto. Quiero jugar un juego. 20-30 y empieza, tu conjetura. Mi conjetura es 25, ve. Minimizar esto y acercar dos veces el número es menor que tu suposición. Entonces 22, ¿qué tal eso? Vaya mi conjetura es t. ¿Y si digo 21, vaya y luego 22, vaya. Bien. Ahora, déjame revisar Log cat. Esta es mi conjetura registros telefónicos y fechas Nuestros minutos, segundos e incluso más pequeños que eso. Entonces actividad de juego, mi primera acción en ese tiempo es la actividad de juego, línea 87. La conjetura del usuario es baja. Oh, creo que escribo algo mal. Debería cambiar el número de línea. 87. Sí. Perdón por eso. Debería cambiar estos 295. Pero ya ves el punto. De todos modos, la conjetura del usuario es baja. Adivina es 25. Pero el número aleatorio es 22. C conjetura es 25. Así que lo intento de nuevo. Yo digo, adivina 22. El número aleatorio es 22. Ahora bien, donde estábamos, estamos en suposición de usuario es verdad. ¿Por qué? Porque deberíamos estar dentro eso si adivina 22, número aleatorio 22. En fin, digo, el número aleatorio es 22, supongo, supongo 21. Supongo que es más grande entonces. Incluso escribo esto sonó también. Entrada. Creo que lo escribo al contrario. De todas formas. Pero te muestro el punto. Yo también lo reviso. Yo hago esto así. ¿Está muy bien y luego porque son 22 y 22? Déjame aclarar esto. Y detente esto también y minimice. Aquí está bajo porque mi conjetura es baja y aquí está pico. Y si escribo este mal, por ejemplo, opuesto. Cuando ejecuto la app, reviso y veo, mi conjetura es, por ejemplo, 50, mi número aleatorio. Es 20 y digo mayor entonces. Creo que está mal, y luego entré aquí porque veo mi variable, digo, está mal, vine aquí y entiendo, esta parte, escribo esta parte mal. Así como esto, revisa nuestros programas más grandes para ver dónde y qué está mal. Ahora, si vuelvo a correr el up, Ahora, vuelvo a ganar el juego. Ahora déjame solo el. Este es mi bitácora. Ahora, entré aquí en la línea 97. Mi conjetura es baja. ¿Por qué? Porque mi conjetura es 35, número aleatorio es 37. Supongo que otra vez, mi conjetura es 39, número aleatorio es 37. Por eso, mi conjetura es grande. Y luego cambié este 39 a 38, es grande, y luego siete, ¿es siete? Sí, son 37. Son dos. Ahora, como digo, este tipo de escritura así es cuando tienes un programa grande, no encuentras dónde está el problema. Escribo muchos lugares así como éste y no se olvide. No lo escribas en los lugares que no lo necesites. Ya ves si, por ejemplo, lo escribes aquí dentro de aquí. Los lugares que no lo necesitas, solo desperdicias tu lugar me gusta. Por ejemplo, puedes hacerlo con 100 me gusta, pero escribes 500. Y pierdes mucho tiempo para encontrarlos. Por ejemplo, aquí dentro, es un código simple. Mostramos error. ¿Por qué debería escribir alguna como aquí? No es razonable. Pero en los lugares que tenemos situación complicada, y necesito ver distintas variables una al lado de la otra y solo una cosa concreta. A veces uso así como así. Por supuesto, también hay otras formas. Hablamos de estas formas en el futuro. Pero creo que es bueno entender que también tenemos de esta manera. Es una manera muy sencilla, como puedes ver. Incluso no tenemos que usar una herramienta de estudio complicada y lista. Es una forma sencilla y se puede utilizar lado a lado con otras formas que vamos a aprender en el futuro. Creo que podemos cerrar esto tomando parte adivina y yo comento esto y los pongo dentro del código, para que veas como y si escribes algo con error, los puedes ver aquí adentro. Gracias. 63. Día 10: informe a Button parte 1: Botón de reporte, primera parte. Por lo que llegamos al botón de reporte para mostrar este reporte. ¿Dónde estábamos? Queremos mostrar nuestro informe dentro de esta vista de texto. Pero primero, antes de esta vista de texto, permítanme simplemente hablar de esta gravedad. Primero, debería cambiar este contenido de envoltura para que coincida con la patente como esta. Entonces tengo toda el área. Ahora puedo mostrarte diferentes gravedades. Por ejemplo, escribe, estamos así a la derecha, o Izquierda así a la izquierda a la izquierda. ¿Ves la diferencia? ¿Qué tal un inicio y un fin? Déjame ver. Tengo diferentes cosas un comienzo. Un inicio significa izquierda en inglés porque el inglés escribe de izquierda a derecha. Por lo que queda un inicio en inglés. Acerca de fin. Déjame solo verificar significa justo en inglés. Porque como digo, en inglés, escribimos de izquierda a derecha, así que nuestro final es correcto. Pero si cambiamos nuestro idioma, por ejemplo, en árabe, escribimos de derecha a izquierda. Y luego el final en árabe significa izquierda porque de derecha a izquierda y final significa izquierda en árabe. Exactamente por eso, usamos este fin para terminar, un comienzo a una especie de. Estas cosas en diferentes idiomas basados en de izquierda a derecha o de derecha a izquierda pueden ser diferentes. Pero por ahora, permítanme simplemente no hablar esta restricción de extremo a extremo y otras cosas y solo hablar de esta gravedad. Entonces déjenme decir que tenemos esto en principio y un poco de alejamiento. Entonces debemos cambiar nuestra dirección de visión. Entonces subimos aquí y escribimos dirección DR, cambiamos dirección de diseño. Ahora es de derecha a izquierda. Ya ves la diferencia. Qué parte es diferente. Ves este resultado en la parte inferior. Déjame solo hacer zoom Zoom Zoom un poco más. Bien, este resultado, ya ves por el momento, mis resultados a la derecha porque porque mi dirección de diseño es de derecha a izquierda. Y las otras cosas basadas en eso, aquí son diferentes ahora. Pero no quiero mostrarte eso. Quiero mostrarte otras cosas. Entonces solo presiono inter y digo, de nuevo, dirección. Lo siento, debo mencionar que si solo usas esta dirección, dirección de diseño, ves que esta dirección de texto no tiene diferencia, y es posible que te confundas porque esta dirección de diseño es para nuestro diseño. Ves cómo se cambia el diseño, pero quieres cambiar la dirección de tu texto para que este texto pueda verse afectado. Entonces escribo de nuevo la dirección IR dirección texto dirección de derecha a izquierda. Entonces mi dirección de texto dentro este diseño de restricción ahora es de derecha a izquierda como el árabe. Entonces, si digo esta vista de texto, la gravedad es un comienzo. ¿Qué significa un inicio? Un inicio significa el lugar en el que empiezas a escribir. Entonces escribo de derecha a izquierda. Entonces mi inicio es ahora mismo. Déjame cambiarlo otra vez. Bien, tenemos de derecha a izquierda. Permítanme decir de izquierda a derecha, LTR significa de izquierda a derecha, RTL significa de derecha a Entonces, de izquierda a derecha, ve que el resultado se remonta al fondo, éste. Entonces ahora el texto de izquierda a derecha, como el inglés, de izquierda a derecha, de izquierda a derecha. Ahora, mis textos vienen a la izquierda. ¿Por qué? Porque es de izquierda a derecha, y digo, quiero empezar si digo, y como se puede adivinar, va a la derecha. Entonces si quiero escribir, por ejemplo, para este texto te marañas. Déjame solo escribir margen de margen. Margen, lo que quiero margen para mi nosotros, por ejemplo. Éste, derecho de margen. ¿Cuánto? Por ejemplo, diez DP. Tengo derecho de margen, diez DPI. Tengo ganando. Tengo recomendación que es mejor escribir margin end. ¿Por qué fin de margen? ¿Por qué Andrew de Studio dijo que es mejor escribir margin en lugar de margin right Verás, mi derecha es mi fin ahora. Mi derecha aquí es igual a mi fin porque es de izquierda a derecha. Déjame mostrarte de izquierda a derecha. Entonces dice, extremo derecho en lugar de derecho. ¿Por qué? Lo puedes entender ahora porque cuando cambias tu idioma, si escribes, cuando cambias tu idioma en árabe, escribir se vuelve a la izquierda. Pero si escribes esto nosotros, cuando cambias tu idioma, no hay diferencia en esto, ninguna diferencia en absoluto. Por eso Andrew S dice que es igual decir, y es mejor porque si cambias tu idioma, cambia el cambio final. Entonces creo que hablo de esto lo suficiente también, y solo me quito esto. Creo que entiendes sobre arreglar estos problemas en diferentes idiomas. Mis indicaciones no deberían ser arregladas. Debe ser diferente en diferente idioma basado en izquierda y derecha en ese idioma. Y creo que entiendes el significado de este fin a fin y un comienzo a un inicio. Esto es diferente en diferentes idiomas. Y ya ves que estamos en y ahora, sí. Y si digo envolver contenido al inicio del video, no hay diferente. ¿Por qué? Porque está arreglado. No hay izquierda ni derecha. No hay espacio para moverse. Por eso, lo cambio para que coincida con el patrón, así puedo mostrarte cuál es la diferencia. Y, claro, subo y me quito estos dos. Bien, quitamos esto. Y en la parte inferior, esta gravedad porque no hace nada por eso perturbar el contenido, podemos simplemente quitar esto también y eliminar estos espacios. Y esta mirada no hay espacio extra y entrando aquí. Así que vayamos a nuestra actividad de juego para seguir codificando. Entonces queremos escribir código. Y si hacemos clic en este reporte, cuando hacemos clic en este reporte, este debe ser sobre la altura. Ya no debería ocultarse. Esta visibilidad no debería desaparecer. Así que déjame ir aquí. Oh, en It oyente, tenemos este oyente innit y tenemos nuestros clicks BTN start y BTN go Simplemente puede minimizar esto y minimizar esto también y presionar enter aquí, decir BTN reportar nuestro tercer botón, y presionar punto y establecer y hacer clic en oyente Inter. Entonces, ¿qué queremos cambiar? Queremos reporte de tarjeta. Reporte de tarjeta, verifique el nombre. Esta es nuestra vista de tarjeta de material. No queremos esto. Queremos la identificación. Este es el reporte de la tarjeta de nombre. Entonces solo controlo C o simplemente puedo escribir reporte de tarjeta o simplemente pegar ese reporte de Card. Este reporte de tarjeta, solo decimos que la visibilidad se ha ido, está oculto. Esto está oculto. Ahora quiero cambiarlo. Cuando se presiona este botón, quiero que se cambie la visibilidad. Presiono punto mi visibilidad, solo escribo V y presiono Centro sobre visibilidad. Lo primero es igual a ver punto visible, recuerda, no una pequeña V. Deberías escribir V grande, ver punto visible. ¿Y si se me olvidó? Imagina que me olvidé de escribir capital. Escribo una pequeña. ¿Qué pasa simplemente? Déjame mostrarte. Tengo error. Así que no recuerdes que deberías usar mayúscula V. Este idioma es sensible a mayúsculas y minúsculas. Vista así con V mayúscula y visible. Ahora, ¿qué queremos hacer? En estos dos o tres videos, creo que lo hacemos tres video. Queremos guardar las cosas que el usuario introduce en el gas dentro de nuestra variable, algún lugar, ni siquiera una variable. Queremos guardarlo en algún lugar en este caso, dentro de nuestra variable. Y después de eso, cuando el usuario presione informe, mostramos esos datos dentro del informe. Entonces queremos guardar este valor en alguna parte. ¿Qué podemos usar? ¿Recuerdas que tenemos estas variables? Así mismo, guardamos datos dentro de esta variable. Creo que deberíamos agregar rango también. Déjame solo agregar la gama también. Dentro de aquí dentro de aquí, debería presionar Inter y decir media igual, por ejemplo, cero, y max es igual, eso es cero también. Así que tenemos este amin y MC y bajamos aquí obtener número aleatorio. Tenemos esta r. eliminamos este varmin y Varmax. Así que tenemos min y max. ¿Por qué? Porque queremos comprobar que el usuario no salga de ese rango. Entonces creamos este varmin y max globalmente, y aquí abajo, déjame ver aquí abajo, decimos que Min y Max tienen su valor Y cuando queremos marcar guess in here in first I before that, escribo si mi suposición es mayor que Max o presiono Shift y presiono esta barra diagonal de paquetes entre mi espacio de paquetes e inter en mi teclado Ya ves si no presiono Shift, es así. Esto. Pero si escribo turno, es así. Porque quiero escribir o, digo dos de esto. Dos de esto significa o. Escribes esto o déjame simplemente quitarlo. Como dije, supongo que es más grande que el máximo, y también supongo que es menor que los hombres. ¿Qué debo hacer? Te quiero decir y por supuesto, entra aquí y otra aquí. Y presiona delete, delete, y no delete, presiona shift y ahora delete. Detener. Tengo mi Ls E. Así que como digo, si esto sucede, solo debería decir punto vinculante EDT sí, marca, D déjame mostrar error ¿Cuál es el error? O simplemente escribo, copia esto y aquí pega esta cadena. Qué cadena que una cadena, SR SR decimos fuera de rango, fuera de rango. Dije, ¿tengo esto? No, no lo soy, así que me da error que no tenga esto. Así que solo creo este valor de cadena. Simplemente hacemos una pausa en la enseñanza anterior porque quiero agregar esto. Es solo tomar unos minutos. Entonces, ¿qué debemos escribir? Simplemente presione también árabe, ¿ y qué debemos escribir? Escribe tu número está fuera de rango. Así como así. Y presiona Bien. Oh, solo ejecuto mi app y presiono game, y tengo, por ejemplo, 5 mil iniciando el juego. Mi conjetura mi suposición es cinco, está fuera de alcance. Presiona ir, está fuera de rango. Si digo 5 mil algo fuera de alcance, pero 55 50-100, es bueno ¿Ves? Entonces mi usuario no puede escribir fuera de los valores de rango. Yo solo quiero agregar esto también. Entonces solo estoy diciendo que quiero una variable que mantenga los valores de mis invitados. Entonces aquí adentro, presiono al Inter y digo Por qué informar, creo que es un informe de buen nombre. Como saben, podemos simplemente decir que es int con Big, es int y decir que es nulo. Justo el lugar que declaramos y creamos esta variable. Porque si no escribimos este nulo, dice, no puedes dejarlo, deberías darle algo. Y aunque diga por ahora, dale a este nulo. También digo que es de tipo no nulo. No se le puede dar nulo. Por eso, solo decimos signo de interrogación. Entonces es anulable ahora y podemos darle nulo. O simplemente podemos darle a esto un valor, por ejemplo, cero o menos uno. No hay diferencia. Y como tenemos el int y le damos un valor a esto, no necesitamos este int ya no necesitamos este int porque el Android Studio, el propio lenguaje Cartlin dan este reporte, el tipo int Entonces hace algunos problemas, pero por ahora, permítanme continuar con esto. Y ve a PtNG ¿Dónde está RBTno? Esto es RBTng y quédate aquí, presiona inter. Quiero este número. Control C aquí. Lo siento, dentro de mi reporte. Mi reporte es igual a esto. Entonces hasta ahora, guardamos este valor dentro de nuestra conjetura editada. ¿Cuál? Esta conjetura editada dentro de nuestro informe. Entonces es suficiente para este video, continuamos en la siguiente parte. Entonces nuestro video no se alarga demasiado. 64. Día 10: informe a Button parte 2: Botón de reporte, segunda parte. Vamos a continuar. Llegamos a esta parte y solo escribo el comentario y digo que hacer. Verás, es como un comentario normal. ¿Por qué? Porque puse un espacio entre ellos. Como normal hacer escritura, si escribes para hacer, no es nada, es solo un hacer. Es sólo un texto sencillo. Pero si eliminas este espacio así, presiona construido, es diferente. Ves esto de un color diferente. ¿Por qué? Porque escribo esto para recordarme que debería volver aquí más tarde. Déjame ver ¿qué hicimos en sesión anterior? Escribo mi Editar valor de conjetura dentro de mi variable de informe. Para que pueda mostrarlo cuando pulse el botón de reportar. Pero cuando íbamos a hacer esto, solo recuerdo que no agregué esta gama. Entonces en sesión anterior, agrego esto si también. Yo digo, Bien, tengo max. Tengo media. ¿Cuál es mi max significado? Mi primer valor, mi segundo valor es mi rango. Entonces quiero decir, mi suposición debería estar entre mi media y mi máxima. Entonces digo que mi suposición es más grande que max, está mal. 00 significa aunque uno de estos sea cierto, ve al IO mi suposición más baja que yo. Entonces por ejemplo, si digo 50-100, si escribo cinco, claro, no es muelle que 100, pero este es cierto Aunque uno de ellos sea cierto, cuando dices, así me volví verdad y mi corre de aquí para aquí corre y mi Edit guess, error se convirtió en este texto y ninguno del resto revisa. ¿Por qué? Porque si esto no es cierto, el resto de estos cheques por ello. Creo que digo estas cosas un poco rápido y debería explicarlas mejor. Entonces, déjame ver ¿qué más? ¿Qué más? Este O? ¿Cómo puedo escribir esto o? Verás, déjame agregar algo de espacio. Entonces tengo este botón entre mi inter y el espacio de paquetes. Si lo escribo, se ve así. Ves que esto se ve así. Pero si presiono Mayús, si tiene una línea recta como una columna superior a esta señal. Entonces, si presiono shift en mi teclado y activo el segundo carácter en esta tecla, presione shift y presione esto nuevamente. Entonces tengo esto. Pero si no presiono el turno, es solo que se ve así. Entonces presiono Shift y está bien. Así que permítanme seleccionar esto así. Bien, borre. Entonces presiono Mayús y uno, dos. Esto significa. Entonces O, esto O. Esto es cierto. Nuestra condición es verdadera. Y aunque ambos sean ciertos, también nuestra condición es cierta. La única situación en la que nuestro si no se ejecuta es cuando esto es falso, y esto es falso, también. Sólo en ese caso, nuestro es falso y nuestro yo no se ejecuta esta parte. Así que déjame quitar esto. Creo que esta vez me expliqué mejor. Espero que entiendas. Y la variable, déjame mostrarte la variable. Ves este máximo, ves esta media. Los definimos aquí para que podamos acceder a ellos globalmente. Antes de eso, solo los tenemos aquí a nivel local. Entonces fuera de esto, no podemos acceder a ellos. Por eso, agrego eso en la parte superior y elimino ese arb antes que ellos. Entonces estos son globales ahora, de todos modos, ya que volvimos a este botón de ir y marcando esta casilla, permítanme solo agregar una cosa más para hacerlo más hermoso. Mejor. ¿Qué debemos hacer? Entonces si ahí pones el número correcto, corrige gas, creo que es mejor, por ejemplo, matar esto, matar esto, matar esto, o incluso ocultar este botón, botón de ir. ¿Entiendes a lo que me refiero? Que sea mejor juego. Así que déjame ir al código y encontrar mis botones. Entonces aquí adentro, nosotros y vamos. Entonces aquí adentro, solo presiono al Inter y empiezo a escribir. Verás, tenemos esto que hacer. ¿Por qué? Porque queremos continuar con nuestro botón de reporte. Pero primero, hacemos algunas líneas para mejorar nuestro juego en esta parte del video, y luego volvimos a este reporte. Entonces es muy común cuando quieres vivir separados y luego regresaste, escribes para hacer. Entonces, en las conjeturas de diseño de entrada, escribe punto punto qué visibilidad. Bien, ¿qué quieres hacer con esta visibilidad? Quiero decir igual a V con mayúscula V. ¿Recuerdas que si escribes minúsculas, te da error? Bien, ¿qué quieres? Quiero a Dios, esconde esto. Entonces, ¿cuándo quieres hacer esto? ¿Cuándo mi respuesta es correcta? Entonces, cuando esta respuesta es correcta. Aquí, este yo es cuando nuestra respuesta es correcta. Déjame copiar toda la parte. Entonces aquí adentro, presiona inter y controla V y y entra y cierra esto. Entonces cuando mi suposición es correcta, altura esto, pero no lo sabe. Adivina. ¿Por qué? Porque es la variable que tenemos aquí. Entonces, ¿qué debo hacer? Déjame pensarlo. Pero déjame ver. ¿No es mi suposición? ¿Esto es? Sí, es mi suposición. Entonces esta es mi función. Entonces, ¿cuál es mi suposición? Esta es mi función. Yo llamo a mi función aquí. Entonces este es el valor que paso a mi función. Entonces esta es la suposición. Editar adivina, tomo ese texto, que canta para terminar. Este texto es el valor de IDT guess. Esta es mi suposición. Así que simplemente puedo controlar, ver todo el asunto y hacer doble clic aquí, ya ve haciendo doble clic aquí y controlarlo. Entonces esta es mi suposición cuando mi conjetura es igual a número aleatorio, así que hazlo invisible. Y como podemos entender, podemos simplemente escribir esto aquí abajo, pero permítanme continuar así. Puedes hacer esto de ambas maneras, pero yo solo quiero hacerlo aquí. No voy demasiado rápido como video anterior. Déjame revisar esto. Este es mi objeto, Edit guess, ese texto, significa el texto dentro del valor del texto de ese objeto. Entonces, ¿qué debo hacer con este texto? Deberías convertirlo en una cadena, convertir este texto en una cadena y luego convertirlo en int. ¿Por qué? Porque puedes convertir a int y luego verificarlo con número aleatorio. ¿Por qué? Porque este número aleatorio es int. Entonces no puedes comprobarlo con una cuerda. Primero, debes hacerlo int. De todas formas, entonces de adentro hacia afuera, si hacemos que la visibilidad se vaya primero inter, entonces, ¿qué más? Simplemente presiono Control D dos, duplique esto. Déjame hacer esto otra vez para quitar la línea. Da click aquí en cualquier lugar aquí, aquí, y presiona Control y D. Tienes dos de estos. ¿Por qué tengo dos de estos? Porque ves Adivina diseño de entrada. Esta es nuestra suposición de diseño de entrada. Toda la parte. También tenemos este botón. Entonces conocemos nuestro nombre BTng o no. Si no, da clic en eso y vea TNG. Si lo haces acaba de regresar y cambiar esta parte a PT N. Tienes tres PTN PTN ve y hazlo invisible. Déjame ver ¿qué más digo? Yo digo, Hola, esto, hola esto y claro claro esto, esto, esto. Déjame que acabo de regresar y la siguiente línea, tengo Edit. Tengo Edit, primera entrada, primer valor, ¿verdad? Primer valor. La mayoría de las veces escribo entrada. Está bien. Yo no lo soy. A veces cometo errores. Punto eso es lo que ese texto. Entonces, ¿qué debo hacer con ese texto? Yo sólo digo punto C Killer. Claro esa cosa. Y a veces yo por error, baja la línea como C sharp porque escribo otros idiomas también. Si ves hago esto, por ejemplo, en video anterior, está bien. Es mi error. Solo quita esto porque en el carrito no tienes líneas de permites como esta. Simplemente quítelo. En fin, ¿qué tengo? Es a lo mejor tu texto es nulo. Bien, tal vez sea nulo. Entonces Signo de interrogación. Si es nulo, está bien. Si no es nulo, entonces claro eso. Entonces, ¿es todo? No, claro que no. Simplemente haz para Editar primer valor, presiona Control y da clic en él. Ver, Editar primer valor. ¿Y el resto? Oh, tienes segundo número, segundo, y adivina. Entonces tenemos dos más. Déjame regresar y dar click aquí y presionar Control D. Es muy fácil. Entonces uno más Control D. Así que tengo dos copias de eso. Entonces solo cambio esta parte, selecciono esta parte, elimino y controlo un segundo valor de espacio. Y claro, selecciona esta parte, quita este espacio de control. Yo también tengo la suposición. Así que claro todos ellos. Verás, solo puedo ir a ellos y hacer doble clic en el nombre y Control C, copiar y pegar. Pero quiero mostrarte diferentes formas, por ejemplo, con estos controladores espacian las cosas. Antes de continuar con esto para hacer, déjame ejecutar la app para ver qué acaba de pasar. Mi aplicación se ejecuta y otra vez Bien, mi primer número es, por ejemplo, 15 y el segundo número es 20 inicio. Mi conjetura es 25, está fuera de alcance. Vamos. Déjame ver que tu número está fuera de rango, claro. Y si digo dos Go. Todavía está fuera de alcance. Mira, si digo 16, mayor que 17, mayor que 18, mayor que como un 19, aún mayor que como 20. Tu conjetura es cierta, ¿ y ves dónde está el Gb diez? Se ha ido. ¿Dónde está la conjetura? Se ha ido. ¿Por qué? Porque escribimos PTNO y entramos el layout guess. Cuando tenemos razón y nuestra conjetura es cierta, ya no deberían ser visibles. Y, claro, ves esta caja y esta caja ya está clara. Y si escribo 15 y 55 y digo inicio, tu conjetura está vacía. Exactamente por eso, también lo aclaro. Entonces solo quiero que esto se vea mejor. Y como mencioné, no está bien escribir extra si cuando puedes hacer esto con ese otro I. Así que es mejor escribir esos códigos justo aquí abajo, no aquí, sino solo escribir aquí. Para mostrarte, puedes escribirlo aquí también. Pero como digo, es más perfessional escribirlo ahí abajo con el otro yo. Y hasta podamos aún más perfessional, es mejor crear una función para Asesino, asesino, asesino, invisible, invisible, claro de todo esto y algo así como restablecer todos esos datos Entonces es mejor incluso tener una función para eso. En fin, ya no hacemos esto y continuemos con nuestro botón de reporte. Entonces solo queremos continuar con esto. Nuestro problema como acabamos de hablar, es este cuando guardamos nuestro número, nuestra conjetura dentro de nuestro reporte, solo la última conjetura va a este reporte. Déjame mostrarte. Déjame continuar y mostrarte cuál es el problema. Este es el reporte, y este reporte es un int. Simplemente no puedo tomar un número. Entonces tenemos este reporte, y queremos que esta vista de texto se duplique. Entonces solo este control C, presiona inter y control. Simplemente solo elimino esta etiqueta de la identificación. Entonces tengo otra vista de texto, pero están uno encima del otro. Así que permítanme cambiar esto de arriba a arriba de tenemos de arriba a arriba de, quitar esta parte como de arriba a arriba y decir de arriba a abajo de abajo de lo que. Entonces desde tu parte superior, solo conéctate a la parte inferior de enter en ese ID. Y claro, éste, por qué es tan difícil este, este. Así. Y recuerden, si no escribo esta parte, por ejemplo, permítanme simplemente seleccionar este Control X. Si no escribo esta parte, está mal. Debería escribir esta parte de identificación antes de eso, así como así, y así como así. Y sobre todo a la señal Pallas, Idah todo el asunto Es la regla, es la ley. Así que déjame hacer que coincida con los padres. Y creo que es suficiente. Permítanme continuar con esta discordancia en el siguiente video. Entonces nuestro video no se hizo demasiado largo. 65. Día 10: informe a Button parte 3: Botón de reporte parte tres. Vamos a continuar. Bien, guardamos nuestra conjetura editada dentro de nuestra variable de informe, y decimos que solo toma un número, no una serie de conjeturas Así que permítanme simplemente eliminar esto para continuar con esta parte del informe cuando el informe BTN hizo clic aquí, establecido en haga clic en oyente Entonces digo TXT report dot text es igual a lo la cosa que ya guardamos este reporte, ves este reporte, ya creamos y aquí adentro, damos datos dentro que lo metemos dentro de dotty report dot text, pero hay un problema Este reporte es número, está en así que debería cambiarlo porque este texto es una cadena. Yo solo presiono esa cuerda. Como digo, si yo por error, cierro las líneas como ChR, solo rellenas esto. ¿Por qué? Porque a veces porque escribo programas de RSC también, escribo esto por error Déjame ejecutar la app y ver el problema. Y luego volví a arreglar eso. Entonces déjame minimizar esto, ir al juego, y decir 15-20 y empezar y mi conjetura es, ¿son 15? Déjame solo bajar, vete. Sí, es verdad. Bien, puedo mostrártelo. Está bien. Empecemos de nuevo. A veces pasa, son 15, en realidad son 15. Bien. Permítanme comenzar de nuevo y minimizar esto. Mi conjetura es otra vez, 15. Vamos. Bien, gracias a Dios. 16. Bien, mi conjetura ha terminado. Entonces 15 y 16, entro dos números. Esta vez son 16. Entonces déjame ver el reporte, haz click en esto y mi reporte es 16. Pero espera un minuto. Yo sólo entro 15 y después 16. Debería ver dos números dentro de esto. Pero sólo veo un número. ¿Qué debo hacer? Entonces este es nuestro problema. Porque es mi última suposición. Entonces en realidad, es el resultado porque mi última conjetura es el resultado. Así que permítanme parar esto y minimizar esto. Entonces mi problema es que este informe sólo puede contener un valor al mismo tiempo. Incluso esto o incluso esto pueden tener todos ellos un solo valor? Cuál es la solución. La solución es arreglo de discos. Array es una serie de la misma variable. Por lo que puede tener muchos espacios. Déjame decir imagina esta variable var como una caja, array es un cuadro serio. Por ejemplo, imagina si tu array tiene diez slots, puedes poner diez números diferentes dentro de eso y no hacer nada entre ellos. No sólo así solo un número. Muchos valores diferentes. ¿Dónde podemos usar? Por ejemplo, aquí dentro, queremos muchos valores diferentes para el reporte. Usuario hacer diez conjeturas. Queremos todos los diez números de esa serie. O por ejemplo, en un aula, tienes diez alumnos y tienes el nombre de la variable. No quieres un nombre. Tienes el nombre de cinco, diez, 20 alumnos. Y los quieres a todos, no sólo a uno de ellos. Usas array y muchos, muchos otros lugares. Por ejemplo, en las mesas, tienes muchas ranuras, y dentro de esas mesas, usas una. Ranura variable para cada valor de tabla. Por ejemplo, si tienes diez filas, usas diez slots diferentes para eso Antes de cambiarlo a array, déjame darte algunas cosas más. Primero, un ejemplo más, por ejemplo, cuando compras algunas cosas en una tienda y obtienes recibepd, también podemos usar array en ese caso Las matrices pueden usar muchos artículos que compre en una variable. Y luego puedes sumar cada uno de ellos juntos para tener precio total y muchos otros ejemplos y una cosa más, me olvidé. Dentro de esta vista de texto, ya ve, tengo este texto. No debería tener este texto aquí. Si haces clic en reportar, es posible que veas este reporte. Entonces, ¿qué debo hacer para ver qué tan grande o pequeño podría ser mi texto? Debería cambiarlo a herramientas. Simplemente lo olvidé y lo cambiamos. Entonces cuando ejecute mi app, no voy a ver este texto, pero aquí, puedo ver el tamaño. Esto es un poco importante y que sea realmente más agradable. Y me ayuda a encontrarla. Imagina que estoy en otro lugar y quiero hacer click en él. Si esto no tiene ningún texto, es más difícil encontrarlo. Pero cuando sí tiene un texto, simplemente hago clic en él y selecciona aquí y puedo cambiarlo. Déjame mostrarte eso también. Selecciona este control X. Verás, no lo tengo. Se ha ido. Pero si tienes esto no lo puedes encontrar. Ahora, aunque estés en otro lugar, puedes encontrarlo más fácilmente. Así que volvamos a nuestra matriz. Tenemos otra manera. ¿Qué? Podemos hacer muchos reportes. ¿Como qué? Control DD, por ejemplo, reporte, reporte dos, reporte tres. Pero hay un problema. ¿Y si mi usuario obtiene el número 50? ¿Te imaginas que sumamos 50 reporte y dentro de nuestro código, damos estos reportes uno por uno, sus valores. No, no podemos hacer esto. Por supuesto, son sólo tres. O sea, solo déjame mostrarte control, d d d d d. muchos más. No se puede hacer esto. Así que solo quita esto. Esto no está bien. En lugar de esto, usamos RA. Este es un mejor ejemplo después. Incluso en esa tienda, solo escribimos un programa para eso. Cuando, el cliente trae 20 artículos y quieres agregarlos, no puedes crear 20 valores diferentes y 20 variables diferentes. ¿Por qué? Porque ¿y si el cliente trae 50 artículos en su canasta? ¿Qué quieres hacer entonces? No se puede. Permítanme simplemente quitar esto e ir aquí a decir que este informe es, ¿qué es? Una lista de una lista de quiero esto. Déjame mostrarte otra vez, claro esto. Si presionas Inter y tienes algo así, si estás aquí, presiona el espacio de control, no tienes nada. Ninguno de ellos es útil. Acaba de regresar un personaje aquí. Aquí, presione el espacio de control. Te da dos opciones. Quieres el segundo. ¿Por qué? Porque quiero decir que está dentro con Big I, como digo, si escribes un yo pequeño, tienes error, mayúscula I, de todos modos es sensible a mayúsculas y minúsculas. Déjame comentar esto y en la siguiente diapositiva, escríbalo así. Un puerto. ¿Cuál es el tipo? En vez de decir igual a, ¿cuál es el tipo? Ves aquí adentro, decimos que es igual a esto. Pero no, no, espera. Damos el tipo aquí. Nosotros decimos, y. Yo sólo quiero escribir esto para ti. Lista. ¿Lista de qué? Lista de Lingotes, una cadena o Da el valor.Este informe es array list de int porque es integer. Ya ves puede tener muchas cosas diferentes. Por ejemplo, si elimino esto y digo solo cadena, puedes tener muchas cadenas diferentes dentro de tu reporte. Pero quiero entero. Y recuerda, estos son consejos importantes. Cuando dices que es int, todos los arrays, espacios, todas esas secciones, cajas o lo que quieras decir y aprender por eso, todos ellos son del mismo tipo. Entonces todos ellos en este momento son int. Se puede poner una cuerda dentro de ellos. ¿Por qué? Porque todas las secciones del informe, partes, todas ellas son ins y pueden tener solo los números, ni siquiera el decimal. Todos ellos son enteros. Entonces tenemos error. ¿Qué debemos hacer? Deberíamos darle este valor. Deberíamos inicializar esto. O permítanme simplemente crear esto por primera vez. No es B nulo. Yo digo iguales. Déjame solo escribir aquí es igual, tengo lista de matriz de flechas, y así como esta. ¿Qué tengo? Tengo error. ¿Qué debo hacer? Déjame entrar aquí y al espacio. Déjame mostrarte. No tienes error ahora, pero si olvidaste presionar espacio aquí, tus cosas IDE estas dos son una. Estos dos están juntos y no piensa esto como un signo igual, sino que los hace juntos. Para eso, solo presiono este espacio. Para decir que es separado, separar esto es con esta parte. Estos son separados. Si olvidaste este espacio, eso sucede a veces tienes error. En fin, esta es otra forma en la que creo este informe como una matriz. Pero la forma más común es así, ya ves, es más corta y más sencilla. Tengo este reporte. ¿Qué es? Lista de matriz de int. Puedo crear eso con un código muy, muy largo, incluso más largo que esto, está bien, pero ¿por qué debería hacerlo? Lo hago con un código más simple. Y como debería decirte algunas cosas distintas, trato de darte más ejemplos. Incluso así, recuerdas estas herramientas. Trato de darte todo lo que pueda desde mi conocimiento. Para que aprendas de la mejor manera que pueda. Espero que no te aburras porque trato de enseñarte muchos consejos y cosas diferentes. En fin, déjame mostrarte esto. Puedo comentar esto de nuevo, controlar el aquí adentro y quitar esta parte y decir: No, no quiero darle nada a esto. Entonces lo que hacemos quiero darle este nulo, pero no se puede porque no puede tener nulo. Está bien. Puede tener. Entonces puede tener null, y debería dar este valor en el futuro. Solo quiero mostrarte que esto también puede funcionar. Y aquí dentro, si elimino este espacio, me da y porque no tenemos mayor que el signo de interrogación. ¿Recuerdas que tenemos mayor e igual. Pero como no tenemos un gran signo de interrogación, no se confunde. En fin, todo el tiempo, es mejor que tengas tu espacio. Entonces incluso el IDE puede entender, no te confundes. Entonces, cuando quiero darle un valor a esto, ¿qué debo hacer? Simplemente aquí o aquí o aquí dentro, debería decir, bien, por ejemplo, aquí adentro, solo presiono inter aquí y escribo informe, es igual a lista de matriz y le damos un valor a esto, ya no es nulo. No tiene ningún número dentro, pero no es nulo. Y un ejemplo más, si digo int, es grave, ¿por qué? Porque digo que ya es int. Así que no tengo que volver a decir esto. Entonces no tengo que usar ese int. En fin, solo quito esta parte y me quito los inters extra y digo, antes de que me olvidara, la A A, pequeña A. ¿Por qué? Porque es sensible a mayúsculas y minúsculas. Cuando quiero darle a esto un valor como este, arraylist de es con una pequeña A. Pero si quiero decir matrices, es con A. Otra vez, arrays, A, lista A, una lista de pequeños A. Si, por ejemplo, aquí, escribes una pequeña A, no tienes ese error Entonces es sensible a mayúsculas y minúsculas y no olvides estas cosas. Yo solo comento esto un poco común esta lista de int. Creo que es más fácil. Podemos usar la otra cosa, pero creo que es más fácil y mejor. Permítanme continuar esto en el siguiente video para que no sea demasiado largo, no se hizo demasiado largo. 66. Día 10: informe a Button parte 4: Botón de reporte, cuarta parte. Vamos a continuar. Entonces tenemos error. ¿Cuál es nuestro error? Verás que acabamos de crear nuestra matriz y tenemos error. Este informe es una lista matricial de int. Pero tenemos error. ¿Cuál es nuestro error? Podemos poner el valor dentro de este informe así. Entonces, ¿qué debemos hacer? Podemos decir, primero establece este Control X, corta esto, quita esto, quita esto. ¿Bien? Ahora, el Dt. Añadir punto para agregar lo que agrega esto en. Este valor agrega esto con este ard a esta matriz. Dar un nuevo lugar de esta matriz a este valor. Podemos usar este arte cuando tenemos array así que tengo este arrays. Entonces puedo usar esto en. Déjame verificar para estar seguro. ¿Tengo alguna que no sea arreglos? Sí, tengo media, tengo max. Déjame usar este medio. Control C, escribo esta media. Por ejemplo, incluso aquí, inter media punto en Oh, no tengo ninguno en. ¿Ves? ¿Por qué? Porque eso no es una matriz o incluso aquí uno al lado del otro. Quiero decir que quiero escribir así en, no en. ¿Por qué? Porque significa nueces una matriz. Debería darle el valor medio así. La media es igual a, pero no a. Retire esto y extra en. Déjame correr el juego. Corre para minimizar esto y haz clic en el juego. Quiero de, por ejemplo, 15 a 20 y el comienzo adivina 15, vaya. Gran pelo, 19, vamos. Menos 18, vaya. Menos alrededor de 17. Vamos. Cierto. Ahora, muéstrame el reporte. Déjame solo hacer zoom a esto. Verás que tienes esta matriz 151-918-7017. Tengo 15 1918 17. No tengo sólo el último número. Tengo el todo. Entonces aunque entre 100 números diferentes, puedo tener mi historial y mi informe hasta ahora, puede funcionar así. No es tan bonito, ¿verdad? Ya ves solo decimos informe de Tix, el texto de punto es igual Denunciar la dote. Entonces toda la variable, toda la matriz, la ponemos dentro de ese informe Tiki Por supuesto, no es agradable y no es la mejor manera de hacerlo, pero funciona. Y no lo cambié para que puedas ver lo que hay dentro de tu matriz. Por supuesto, en futuros videos, lo hacemos papel. No te preocupes. Solo concéntrate y aprenda todas estas cosas. Estas son cosas realmente importantes. No estamos muy principiantes, pero aún así son realmente importantes. Ya que nuestro juego puede mostrar el reporte, aun así, creo que es suficiente para este video, y creo que guardamos consejos muy importantes. Por ejemplo, una de las cosas más importantes es que deberíamos inicializar nuestra variable Esta matriz debe ser inicializada. Por ejemplo, permítanme hacerlo una vez más. Si digo, déjenme decir simplemente A. ¿Qué es? I lista de matriz de entero. Sí, y presione N, presione inter. Digo un punto en, por ejemplo, cuatro, y si digo, cual es el error, decía que la propiedad debe ser inicializada Exactamente por estas cosas, se ve en este ejemplo, report array list, int, inicializamos esto así es igual a la lista de matrices O aquí, decimos que nuestro informe es igual a la lista de matriz de Int. En todos ellos, lo inicializamos. Y si queremos decir que es nulo, deberíamos inicializarlo más tarde Entonces hablamos de esta inicialización de diferentes maneras, y ya sabes de este nulo Entonces creo que ahora entiendes si decimos null, así que después, deberíamos inicializar y hacer que tenga un lugar en la computadora o teléfono ram El teléfono es una especie de computadora, es una computadora. De todos modos, en el dispositivo AM. Debería tener un espacio para sí mismo inicializado. Es para tener un espacio en el dispositivo AM para esta variable asignar espacio para eso. L, ¿qué pasa si presiono inter y digo, A es igual? Oh, digo, en lugar global, déjame cortar eso. Debería moverlo a, por ejemplo, aquí adentro, inter, y aquí dentro está crear. Ese es el lugar para crear una variable para este tipo de pruebas. De todas formas, Una lista de matrices, así que si no escribo esto, solo tengo este pequeño error ahora. variable A debe ser inicializada, por supuesto, como hablamos, y luego digo, y luego digo, A es igual a la lista de matriz de y luego mi error se ha ido Entonces solo lo inicializo. Por qué se arregla porque asigna a esta A un lugar en el dispositivo RAMs No, lo siento, en dispositivos RAM. Sí. En los dispositivos RAM. Y si solo hacemos esto, esta parte, Control X y eliminamos esto aquí, control solo hacemos esto aquí. Dice, por favor dime ¿qué escribe esta variable? Digo, es entero. Ahora, está arreglado. Es igual que la forma en que hacemos algo equivale a una lista de int y ves la diferencia de colores. TA es blanco. No es permitir el arranque. Estos son globales tienen diferentes colores. Se da clic en él y da clic aquí, cambia de color. A veces tengo este tipo de caja que ves, click click. A veces estas cosas pasan. Pequeños errores, pequeños bichos. Está bien. Android Studio se actualiza y muchas de estas cosas arreglan por sí solo. Tal vez quieras saber puedes cambiar todos estos colores en la configuración de Android Studio, pero por favor no cambies muchas cosas o intentes no cambiar nada en la configuración hasta que aprendas un poco más. Y si quieres cambiar, solo cambia lo que tienes que hacer. Cuando aprendas más, puedes hacerlo más personal solo para que lo hagas mejor. Pero ahora, podrías hacer un cambio de algo y no funciona tan bien. Podrías romperlo. No debería decir que lo rompí. No deberías cambiarlo mucho a menos que aprendas la configuración de este estudio de Android. ¿Puedo añadir alguna otra cosa? Sí, claro, Control, por ejemplo, a las seis, agrego dos cosas. Y hasta puedo decir que esto es Val? ¿Esto me da un error Val. ¿Ves? Está bien. No hay error. Creo que digo aún más que suficiente y permítanme simplemente borrar esto y ya es suficiente. Es suficiente para este video.