00:00:01
Hola qué tal Bienvenidos a todos a otra
00:00:03
entrega de este curso de programación de
00:00:05
aplicaciones Android en el que vamos a
00:00:07
seguir hablando de las actividades
00:00:09
concretamente en este vídeo vamos a ver
00:00:11
dos puntos vamos a ver cómo salir de la
00:00:14
aplicación desde código que es algo que
00:00:16
está relacionado con lo que vimos en el
00:00:17
vídeo anterior con el evento on click
00:00:20
concretamente es muy sencillo solamente
00:00:22
hay que utilizar una instrucción ahora
00:00:24
después lo veréis Y también vamos a
00:00:26
comenzar a ver en este vídeo algo muy
00:00:28
importante y es Cómo pasar datos entre
00:00:30
activities de una actividad a otra ya
00:00:33
hemos visto en el vídeo anterior Cómo ir
00:00:34
de una actividad a otra pero no sabemos
00:00:37
cómo pasar información de una actividad
00:00:39
o pantalla para entendernos a otra
00:00:41
pantalla como no nos va a dar tiempo a
00:00:44
ver todo este tema en el vídeo en el que
00:00:46
nos encontramos Pues en este vídeo
00:00:48
comenzaremos por crear una interfaz de
00:00:50
ejemplo muy sencilla una interfaz que va
00:00:52
a tener dos layouts y vamos a pasar
00:00:56
información pues de uno a otro Así que
00:00:58
vamos a ello
00:01:02
vamos a comenzar como decía a ver cómo
00:01:04
salir de la aplicación que es
00:01:06
extremadamente sencillo y lo vamos a
00:01:07
hacer con nuestra aplicación rocas si os
00:01:10
acordáis nuestro programa tiene cuatro
00:01:13
botones voy a ejecutar el
00:01:15
emulador aquí lo tenemos no Bueno pues
00:01:18
en el vídeo anterior Ya vimos có pasar
00:01:20
de una actividad a otra pulsando el
00:01:22
botón información pero también tenemos
00:01:24
un botón que dice salir Bueno pues vamos
00:01:26
a hacer que pulsando este botón de salir
00:01:29
pues salgamos de la aplicación de
00:01:31
momento el botón no hace absolutamente
00:01:32
nada entonces para ello pues como digo
00:01:35
es muy sencillo nos vamos a ir al
00:01:37
archivo mainactivity jaava y vamos a
00:01:40
crear dentro de main activity un método
00:01:43
que lo que haga sea salir de la
00:01:44
aplicación Entonces nos situamos a
00:01:47
continuación del método anterior y aquí
00:01:49
pues creamos uno nuevo que va a ser por
00:01:51
ejemplo de la siguiente forma public
00:01:53
void y aquí pues le damos el nombre que
00:01:55
queramos Yo le voy a llamar salir app
00:01:58
pero como digo puede ser el el nombre
00:02:00
que queráis y este al igual que el
00:02:02
método que vimos en el vídeo anterior va
00:02:04
a recibir un argumento de tipo View
00:02:07
luego entonces View viw o View vista o
00:02:10
como lo queráis llamar y aquí tan solo
00:02:13
hay que escribir una instrucción y es la
00:02:15
instrucción
00:02:16
Finish con esto pues lo que hacemos Es
00:02:19
decirle al programa que salga de de la
00:02:22
aplicación no Para lo único que nos
00:02:24
queda es
00:02:25
asignar un evento al botón salir
00:02:29
concretamente el evento on click y
00:02:30
decirle que al pulsar en el botón al
00:02:32
suceder ese evento un click llame a este
00:02:35
método salir pero eso es algo que ya
00:02:37
vimos en el vídeo anterior y lo tenemos
00:02:39
que hacer tanto en el layout que tenemos
00:02:41
en vertical como el que tenemos en
00:02:43
horizontal recordarlo no vamos a
00:02:45
comenzar por el que tengo en vertical
00:02:46
pulso el botón de salir y aquí en el
00:02:49
botón de salir pues voy concretamente al
00:02:51
panel de propiedades al evento on click
00:02:55
y aquí en el evento on click desplegamos
00:02:57
y buscamos pues el método que acabamos
00:03:00
de crear Y ese es el que tenemos que
00:03:02
pulsar
00:03:03
no y con esto Pues en el layout vertical
00:03:07
ya estaría y hacemos lo propio con el
00:03:08
layout horizontal en el layout
00:03:10
horizontal también seleccionamos el
00:03:12
botón de salir y repetimos el proceso
00:03:14
nos vamos al evento on click y
00:03:16
seleccionamos también salir app y una
00:03:19
vez que hemos hecho esto pues volvemos a
00:03:22
ejecutar la aplicación en el emulador y
00:03:25
comprobamos a ver si
00:03:28
funciona aquí tenemos ya nuestra
00:03:30
aplicación si pulso el botón de
00:03:32
información nos lleva a la otra
00:03:34
actividad esto ya lo hicimos en el vídeo
00:03:36
anterior y ahora si pulso en el botón de
00:03:37
salir pues vemos como la aplicación Sale
00:03:41
voy a volver a ejecutar la aplicación
00:03:43
esta vez desde el dispositivo lo vamos a
00:03:45
poner en horizontal y ahora pues si
00:03:48
pulso en información me lleva la otra
00:03:50
actividad y si pulso en el botón de
00:03:52
salir pues sale de la aplicación luego
00:03:55
entonces parece que está funcionando
00:03:57
correctamente No pues así de simple
00:03:59
sería utilizando la instrucción
00:04:02
Finish y una vez visto esto Vamos a
00:04:05
abordar el segundo punto del vídeo y es
00:04:07
Cómo pasar datos entre actividades en
00:04:10
qué consiste esto Exactamente Bueno pues
00:04:12
eh recordar que podemos tener
00:04:14
aplicaciones con dos o más
00:04:17
actividades Este ejemplo gráfico que os
00:04:20
he puesto en la diapositiva de
00:04:21
Powerpoint realmente no tiene mucha
00:04:24
información no que pasar entre
00:04:25
actividades porque se trata de pulsar
00:04:27
solamente en los iconos pulsando en un
00:04:28
icono pues va a la otra actividad pero
00:04:30
bueno imaginaos Por un instante que la
00:04:33
actividad nos pide información nos pide
00:04:35
por ejemplo el nombre nos pide por
00:04:37
ejemplo nuestra dirección de correo
00:04:39
electrónico o cualquier otra información
00:04:41
y esa información debemos pasarla de la
00:04:44
primera actividad que es donde nos la
00:04:45
está pidiendo a otra actividad que es a
00:04:48
la actividad que nos dirigimos no
00:04:50
entonces Bueno pues una vez que ya
00:04:53
sabemos có pasar de una actividad a otra
00:04:55
para pasar información tenemos que
00:04:57
construir lo que se llama un bundle un
00:04:59
bundle es un paquete de datos Ni más ni
00:05:02
menos no es decir si nos están pidiendo
00:05:04
por ejemplo en la primera actividad
00:05:05
nombre apellido dirección y edad Bueno
00:05:07
pues con esos cuatro datos construimos
00:05:09
un paquete un bundle y ese paquete de
00:05:13
datos es el que viajará de una actividad
00:05:16
a la otra y en el caso de que hubiera
00:05:18
una tercera actividad Pues también
00:05:20
podemos volver a crear ese paquete y
00:05:23
enviarlo a la tercera actividad esto es
00:05:25
básicamente lo que hay que hacer
00:05:28
Entonces para ello vamos vamos a
00:05:29
comenzar a construir una interfaz
00:05:31
gráfica que va a tener solamente dos
00:05:33
actividades en la primera actividad
00:05:36
vamos a pedirle dos valores numéricos y
00:05:38
en la segunda actividad vamos a rescatar
00:05:41
esos valores numéricos que viajan en el
00:05:43
bandle y una vez que ya los tenemos
00:05:46
vamos a sumarlos eh para ver todo el
00:05:49
proceso ver Cómo enviar la información
00:05:52
de una actividad a otra ver cómo
00:05:55
rescatar o esa información que
00:05:58
viene en el bandle y después Cómo hacer
00:06:01
algo con esa información por ejemplo
00:06:02
sumar dos valores numéricos vamos a
00:06:05
ello para ello pues me voy a salir del
00:06:09
proyecto rocas en el que estamos
00:06:11
trabajando y que Seguiremos trabajando
00:06:12
en el
00:06:14
futuro y ahora rápidamente Pues voy a
00:06:16
crear un proyecto nuevo de una forma
00:06:18
rápida cómo vamos a llamar este proyecto
00:06:20
Pues yo lo voy a llamar por ejemplo
00:06:24
datos actividades por ejemplo como lo
00:06:27
queráis Llamar me da igual siguiente
00:06:29
siguiente empty activity siguiente y
00:06:33
finalizar Y bueno pues ahora Android
00:06:35
Studio comenzará a crear el proyecto Y
00:06:39
bueno pues vamos a
00:06:42
comenzar por dónde comenzar Bueno pues
00:06:45
Quizás por crear los dos layouts de las
00:06:48
dos actividades no tengo que pasar de
00:06:49
una actividad a otra voy a necesitar dos
00:06:51
layouts el primero pues ya lo tengo
00:06:54
medio confeccionado sería el activity
00:06:56
main.xml
00:06:59
solo tenemos que introducir en él los
00:07:01
elementos necesarios vamos a introducir
00:07:02
en este layout pues dos cuadros de texto
00:07:05
para introducir un valor numérico en uno
00:07:07
y otro valor numérico en el otro y un
00:07:09
botón y después crearemos el segundo
00:07:12
layout que únicamente pues va a tener un
00:07:14
texto y en ese texto pues aparecerá la
00:07:18
suma de los dos datos que le estamos
00:07:21
enviando en el bandle desde la primera
00:07:23
actividad luego entonces nos vamos a
00:07:25
activity Main xml pestaña diseño y
00:07:29
comenzamos aquí a a elaborar no el Hello
00:07:32
World que viene por defecto pues lo
00:07:34
quitamos voy a desplegar bien la carpeta
00:07:36
de resources y ahora aquí pues sin
00:07:40
complicarnos mucho no vamos a incluir
00:07:42
dos cuadros de texto nos vamos en la
00:07:44
paleta Plain text introducimos el
00:07:47
primero ahora introducimos el segundo
00:07:50
uno debajo de otro y e introducimos un
00:07:54
botón Entonces nos vamos aquí a Wi y
00:07:58
introducimos un botón bien el primer
00:08:00
texto pues lo vamos a llamar num 1
00:08:03
entonces bueno seleccionamos en
00:08:04
component 3 el primer elemento nos vamos
00:08:07
al
00:08:08
ID y aquí en el ID pues como digo lo
00:08:11
vamos a llamar no 1 para tenerlo bien
00:08:12
identificado nos está diciendo que va a
00:08:14
cambiar la referencias en el archivo r
00:08:16
le decimos que sí y el segundo edit test
00:08:19
hacemos lo propio lo vamos a llamar num
00:08:22
do después vamos a darle unas
00:08:25
dimensiones no vamos a seleccionar
00:08:27
nuevamente un un Y en vez de decirle
00:08:29
lout with rap content Pues le voy a
00:08:31
decir por ejemplo no sé cómo quedará con
00:08:33
100 perfecto y en el número dos hacemos
00:08:36
lo mismo en vez de rap content pues le
00:08:38
vamos a decir
00:08:40
100 dp no y ahora pues esto no sería
00:08:44
realmente necesario pero vamos a decirle
00:08:46
que en estos cuadros de texto en estos
00:08:48
edic test se van a introducir valores
00:08:51
numéricos qué conseguimos con esto Pues
00:08:52
que cuando pulsemos con el teclado o con
00:08:55
el dedo en el dispositivo cuando salga
00:08:58
el teclado del de Android pues salga ya
00:09:01
con los valores numéricos y no con el
00:09:04
texto y luego lo tengo que cambiar a
00:09:05
valor
00:09:07
numérico para explicarme mejor con esto
00:09:10
último vamos a ejecutar de momento lo
00:09:11
que llevamos luego entonces le doy al
00:09:14
emulador y ya tenemos aquí la aplicación
00:09:17
de momento no le hemos indicado nada de
00:09:20
que en estos dos edic test vamos a
00:09:22
introducir valores numéricos eso implica
00:09:23
que ahora pues cuando pulse sobre el
00:09:26
primer cuadro de texto sale el teclado
00:09:28
de Android como decía pero si os fijáis
00:09:31
sale la opción de texto y yo no voy a
00:09:33
introducir texto quiero introducir
00:09:34
valores numéricos Es cierto que puedo
00:09:36
pulsar donde dice 1 2 3 y ahora sí no
00:09:39
pero para evitar el tener que pulsar en
00:09:41
1 2 3 y que solo se puedan introducir
00:09:44
valores de texto pues lo que hacemos Es
00:09:46
lo siguiente seleccionamos el primer
00:09:48
edic test nos vamos en las propiedades a
00:09:53
la propiedad
00:09:57
integer Dónde estaba esto
00:10:00
input type
00:10:03
perdón a ver No no es input type tampoco
00:10:06
que propiedad Ah numeric perdón que se
00:10:08
me había olvidado la propiedad numeric y
00:10:10
en la propiedad numeric vamos a decirle
00:10:12
que vamos a introducir números enteros
00:10:13
integer y lo hacemos tanto con el número
00:10:16
uno como con el número dos no hecho esto
00:10:19
si vuelvo a ejecutar la aplicación en el
00:10:22
emulador vamos a activar esta casilla
00:10:24
para que no nos salga esta
00:10:26
ventana Pues ahora vemos como usar en el
00:10:29
primer cuadro de texto veis el teclado
00:10:31
pues Sale Solo numérico tanto en uno
00:10:33
como en otro Bueno pues a esto me
00:10:35
refería Y bueno pues la primera interfaz
00:10:38
casi que está creada el primer layout
00:10:40
vamos a cambiar el texto del botón vamos
00:10:42
a decirle aquí a este texto que en vez
00:10:45
de New Button pues ponga por ejemplo
00:10:48
sumar En definitiva es lo que vamos a
00:10:50
hacer no Entonces cuando nosotros
00:10:53
pulsemos en este botón de sumar la
00:10:55
aplicación nos tiene que dirigir a una
00:10:57
segunda actividad Entonces vamos a tener
00:11:00
que hacer varias cosas tal y como vimos
00:11:01
en el vídeo anterior Hay que crear un
00:11:03
layout Hay que crear una nueva clase en
00:11:05
Java hay que dar de alta o registrar ese
00:11:09
segund esa segunda actividad en el
00:11:11
archivo manifest Pero bueno vamos por
00:11:13
pasos vamos a crear en primer lugar el
00:11:15
layout de destino el de la segunda
00:11:18
actividad luego entonces botón derecho
00:11:20
sobre la carpeta layout del proyecto New
00:11:23
layout resource file y aquí pues vamos a
00:11:25
llamar a este
00:11:27
layout resultado por ejemplo no pulsamos
00:11:32
en Ok y ya tenemos aquí el segundo
00:11:34
layout y en este segundo layout lo único
00:11:37
que va a ha va a ser un texto vamos a
00:11:39
poner un texto grande Ahí está este no
00:11:42
es el que yo quería quería uno grande l
00:11:44
text correcto
00:11:46
Y bueno pues en principio este texto lo
00:11:50
vamos a identificar a través del
00:11:51
atributo ID y lo voy a llamar texto gu B
00:11:57
resultado y el texto que tiene el botón
00:11:59
que por defecto es large text como ya
00:12:01
sabemos lo vamos a dejar en principio
00:12:03
vacío un texto vacío le vamos a dar
00:12:06
contenido desde código entonces Bueno
00:12:09
pues ya tenemos aquí los dos
00:12:11
layouts el siguiente paso sería crear el
00:12:14
archivo Java asociado a este layout no
00:12:18
Entonces nos vamos a el paquete la
00:12:21
carpeta donde se encuentra la clase Main
00:12:23
activity y pulsamos sobre ella con el
00:12:25
botón derecho New Java cl y ahora aquí
00:12:28
pues le tenemos que dar un nombre no yo
00:12:30
voy a llamar a esta clase sumar porque
00:12:32
En definitiva es lo que tiene que hacer
00:12:34
pulsamos en okay Y ya tenemos aquí el
00:12:36
archivo y aquí comenzamos a trabajar
00:12:39
entonces aplicamos los conocimientos que
00:12:41
vimos en el vídeo anterior lo primero
00:12:43
que tiene que hacer este archivo Java es
00:12:44
heredar de la clase activity por lo que
00:12:47
ya se explicó en su momento luego
00:12:48
entonces extend activity eso en primer
00:12:52
lugar y en el segundo lugar pues tiene
00:12:55
que tener el método oncreate para que se
00:12:57
ejecute nada más Llamar a este a esta
00:13:01
clase sumar no Entonces esto era de la
00:13:03
siguiente forma public
00:13:09
vocate abrimos los paréntesis decate y
00:13:12
aquí le decimos
00:13:13
bundle save instance
00:13:17
State
00:13:19
instance
00:13:21
State abrimos la llave de este mtodo
00:13:25
puls intro para importe paquetes de las
00:13:30
clases que vamos utilizando y aquí pues
00:13:33
llamamos al constructor de la clase
00:13:36
padre es decir super on create y le
00:13:39
pasamos el saved instance State y ahora
00:13:43
aquí Pues le decimos Cuál es el layout
00:13:46
que tiene que ver entonces Send content
00:13:48
View y aquí pues como esto lo tenemos
00:13:51
identificado ya en la clase r pues r.
00:13:54
layout
00:13:55
punto resultado que es como hemos
00:13:58
llamado al archivo xml al lout Bueno
00:14:01
pues hasta aquí eh Nada nuevo todo esto
00:14:04
ya se vio en el vídeo anterior ya
00:14:05
tenemos el
00:14:06
archivo sumar
00:14:10
Java y ahora pues el siguiente paso es
00:14:13
ver si somos capaces de ir desde Main
00:14:15
activity Java sumar Java no Es decir
00:14:18
desde una actividad a la otra entonces
00:14:20
nos vamos al archivo Main activity Java
00:14:23
y aquí pues lo que tenemos que hacer es
00:14:25
crear un método que será el método al
00:14:28
que llamemos cuando pulsemos el botón de
00:14:31
sumar del layout principal o de la
00:14:34
actividad número uno no entonces el
00:14:36
método pues lo vamos a llamar por
00:14:37
ejemplo public void aumar así lo voy a
00:14:41
llamar No este método pues recibe el
00:14:44
parámetro de tipo vista viw abrimos la
00:14:48
llave del método y aquí pues lo visto en
00:14:51
el vídeo anterior no tenemos que crear
00:14:53
una intención un intent intent I eh
00:14:56
igual a New intent
00:14:59
integer no
00:15:02
intent y le pasamos al
00:15:05
constructor la propia clase en la que
00:15:08
estamos y le decimos que tiene que
00:15:10
llamar aumar punto
00:15:13
cl bien Vamos a pulsar en alt intro para
00:15:17
que importe nuevamente los paquetes
00:15:20
necesarios y ahora pues le tenemos que
00:15:22
decir que comience esta actividad no
00:15:24
Start activity como la hemos llamado I
00:15:26
pues I bueno
00:15:29
y ahora ya pues para ir finalizando no y
00:15:33
que nos pueda ir de una actividad a otra
00:15:34
tenemos que registrar esto en el archivo
00:15:38
manifiesto así que pues nos vamos a la
00:15:40
carpeta manifest Android manifest y aquí
00:15:43
pues ya sabéis no tenemos que meternos
00:15:45
dentro de la etiqueta
00:15:47
application pero no dentro de la
00:15:49
actividad que ya está registrada no y
00:15:51
ahora tenemos que registrar la segunda
00:15:53
actividad luego entonces activity name Y
00:15:55
fíjate que ya salen Aquí las dos únicas
00:15:57
que tengo bueno pues quiero registrar la
00:16:00
actividad sumar y Cierro la etiqueta ya
00:16:02
está una vez que hemos hecho esto lo
00:16:05
único que nos queda ya es decirle al
00:16:07
botón que tenemos en el layout de la
00:16:09
primera actividad es decir al botón de
00:16:10
sumar que al pulsar sobre él es decir en
00:16:12
elento un click nos lleve a esta segunda
00:16:16
actividad no vamos a hacer una cosa voy
00:16:18
a el layout del resultado Fíjate
00:16:20
que en el texto no había puesto nada
00:16:22
porque mi intención es rellenar este
00:16:25
texto desde código Java no pero ahora
00:16:27
mismo para comprobar o tener algún algún
00:16:31
feedback visual no es decir para saber
00:16:33
si hemos ido realmente de una actividad
00:16:34
a otra vamos a poner algo de texto que
00:16:36
luego borraremos por qué Porque si lo
00:16:38
dejo así en blanco hombre lo vamos a ver
00:16:40
también no pero vamos a pulsar en el
00:16:41
botón de sumar y aquí no aparecerá nada
00:16:44
entonces en el layout resultado Pues
00:16:46
selecciono el layout nos vamos a
00:16:48
properties y en text vamos a poner por
00:16:51
ejemplo has llegado como digo esto
00:16:55
después lo vamos a borrar porque no nos
00:16:56
sirve nada más que para comprobar si y
00:16:58
vamos bien no y Bueno yo creo que ya
00:17:00
estamos en disposición de de probar si
00:17:03
ya vamos de una actividad a otra todavía
00:17:05
no hay nada de datos no hay nada de
00:17:06
bandle eso lo veremos seguramente en el
00:17:08
próximo vídeo luego entonces ejecutamos
00:17:10
la
00:17:12
aplicación antes de ejecutar Se me
00:17:15
olvidaba el evento el evento nos vamos a
00:17:18
Se me olvidaba seleccionamos el botón de
00:17:20
sumar y en el panel de propiedades
00:17:22
buscamos el evento on click esto es No y
00:17:26
aquí en el evento on click desplegamos y
00:17:29
le decimos que llame al método a sumar y
00:17:33
ahora sí Ahora ya podemos
00:17:36
probarlo aquí tenemos en la aplicación
00:17:38
la primera actividad con los dos cuadros
00:17:40
de texto de momento inservibles no hacen
00:17:42
nada pero ahora si pulso en el botón de
00:17:44
sumar debe llevarnos a la otra actividad
00:17:46
y ver el texto de has llegado pulso en
00:17:49
el botón y efectivamente Pues así es No
00:17:51
has llegado podemos ir hacia atrás
00:17:54
volvemos a pulsar luego entonces ya
00:17:56
hemos conseguido lo visto en el vídeo
00:17:58
anterior pasar de una actividad a otra
00:18:00
qué nos queda Pues nos queda el trabajo
00:18:03
duro no se trata de que introduzcamos
00:18:05
aquí un valor numérico Eh pues yo que sé
00:18:08
por ejemplo un cco no y que
00:18:11
introduzcamos en el segundo cuadro de
00:18:13
texto otro valor numérico Un s y que al
00:18:15
pulsar el botón de sumar nos lleve a la
00:18:18
segunda actividad pero en lugar de poner
00:18:20
el texto ha llegado Que nos ponga el
00:18:22
texto el resultado es 12 la suma de 5 y
00:18:25
s y si introduces otros dos valores
00:18:27
numéricos dientes pues la suma quee
00:18:30
entonces pues vamos a tener que hacer lo
00:18:31
que mencionábamos al principio del vídeo
00:18:33
no vamos a tener que enviar un paquete
00:18:35
de datos desde esta actividad a la
00:18:38
segunda actividad en esa segunda
00:18:39
actividad rescatar ese paquete de datos
00:18:42
y operar con ellos así que bueno pues
00:18:45
vamos a dejar este vídeo en el punto en
00:18:46
el que nos encontramos y os digo lo de
00:18:48
siempre os invito a que permanezca
00:18:49
atentos a la próxima entrega hasta
00:18:51
entonces que os vaya
00:18:54
bien