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.