Saltar navegación

Activa JavaScript para disfrutar de los vídeos de la Mediateca.

Clase 29-01-24 - 3 - Contenido educativo

Ajuste de pantalla

El ajuste de pantalla se aprecia al ver el vídeo en pantalla completa. Elige la presentación que más te guste:

Subido el 29 de enero de 2024 por Raquel G.

7 visualizaciones

Descargar la transcripción

Bueno, pues, ah, la última clase de la aplicación, 00:00:00
el teléfono, ¿vale? 00:00:06
El teléfono. 00:00:09
Pues, venga, esta clase es más rara y los métodos son más 00:00:11
raros, pero, bueno, pues, ala, nos vamos otra vez al paquete, 00:00:14
esta no es, el paquete modelo en el que están las entidades. 00:00:22
Nos vamos al paquete modelo otra vez y hacemos una nueva 00:00:28
clase. 00:00:31
Terminal, móvil, lo que uno quiera. 00:00:36
Y ahora, el que hizo el diseño de la aplicación, pues, 00:00:40
decidió ya qué propiedades le interesaban. 00:00:44
Ya lo decidió. 00:00:48
¿Vale? 00:00:53
Entonces, el que hizo el diseño del, silencio, 00:00:56
el que hizo el diseño de la aplicación ya decidió que las 00:01:00
propiedades por las que se caracteriza un móvil a efectos 00:01:02
de esta aplicación, claro, a efectos de esta en concreto, 00:01:07
que no es una aplicación, es a efectos de esta, 00:01:09
las únicas propiedades que le interesan son, 00:01:11
el array con las aplicaciones que tiene instaladas en un 00:01:15
momento dado, las que tiene, la capacidad máxima que tiene el 00:01:18
teléfono y su almacén de aplicaciones, 00:01:22
las que se supone que puede instalar, 00:01:26
pero en cada momento tiene instaladas solo las que haya en 00:01:29
este array. 00:01:31
Conclusión, va a tener como propiedades una capacidad 00:01:32
máxima, un array y un objeto de estos. 00:01:36
¿Vale? 00:01:40
Pues, venga, vamos a, por defecto, 00:01:40
al menos que queramos hacer otro diseño por las razones que 00:01:46
sean, por defecto ya sabéis que propiedades privadas, 00:01:49
constructores y getter y setter, por defecto, 00:01:52
a menos que queramos hacer un diseño especial por otras 00:01:55
cosas. 00:01:58
La capacidad máxima, como estábamos midiendo las 00:01:59
capacidades de las aplicaciones en dabble, 00:02:01
pues la capacidad en dabble también. 00:02:04
El almacén de aplicaciones, el almacén de aplicaciones del 00:02:08
móvil será un objeto de este, así, de este. 00:02:13
Ese será su almacén de aplicaciones, 00:02:17
las instalables que tiene su almacén. 00:02:19
Y, luego, las que tiene instaladas en concreto, 00:02:21
las que tiene instaladas en concreto, que ese será, 00:02:24
nos han dicho, un array de estos, instaladas, ala. 00:02:27
Esas son las 3 propiedades que lo caracterizan efectos de 00:02:40
esta aplicación, la capacidad, el almacén y las que tiene 00:02:43
instaladas en un momento dado. 00:02:47
Entonces, como siempre, hacemos un constructor con parámetros y 00:02:50
un constructor sin parámetros, porque es muy buena costumbre. 00:03:01
Y get y set, claro. 00:03:10
Vale, pues, ala. 00:03:17
Ahora, el teléfono, además, puede hacer cosas. 00:03:26
Esto, digamos, ¿qué es lo que le representa? 00:03:30
Le representan esas 3 propiedades. 00:03:33
Eso es lo que le representa. 00:03:38
Y, luego, esa es su foto, ¿vale? 00:03:40
Esa es su foto. 00:03:43
La foto del móvil es su capacidad, su almacén y las 00:03:45
instaladas. 00:03:49
Esa es su foto. 00:03:50
Y, luego, ya tiene su comportamiento, 00:03:51
que es lo que puede hacer. 00:03:53
Lo que puede hacer o su comportamiento se recogen 00:03:56
métodos. 00:03:58
No hay otra, se recogen métodos, ¿vale? 00:03:59
Pues, su comportamiento o lo que hay que hacer, 00:04:01
se recogen unos métodos que ya nos están diciendo cuáles, 00:04:04
nos están diciendo cuáles, que son estos 3, 00:04:09
navegar por el almacén, instalar una aplicación en el 00:04:13
teléfono de las que hay en el almacén, 00:04:18
borrar una aplicación de las que tiene instaladas en un momento 00:04:24
dado y indicar, pues, cuánto espacio libre tiene y cuáles 00:04:27
aplicaciones tiene. 00:04:32
O sea, la de navegar e iStatus parecen las más sencillas. 00:04:33
Vamos a hacerlas las primeras. 00:04:37
Venga, navegar por el almacén. 00:04:40
Vamos a navegar por el almacén. 00:04:42
Pues, navegar por el almacén. 00:04:47
Muestra las aplicaciones instalables. 00:04:57
Tiene que mostrarlas, a ver qué me dice. 00:05:01
Navegar a Pestor. 00:05:04
Imprime por pantalla. 00:05:05
Aquí no dice que devuelva un string con la información, no. 00:05:07
Directamente imprime por pantalla. 00:05:10
Imprime por pantalla las que tiene en el almacén. 00:05:12
Es lo único que tiene que hacer. 00:05:16
Es como un botoncito para decir, a ver lo que tengo, pa. 00:05:17
Y te sale lo que tienes, ¿vale? 00:05:20
El botón que te permite ver lo que tienes tú para elegir 00:05:22
instalar, lo que tienes para elegir instalar. 00:05:24
Es solamente eso. 00:05:27
Entonces, bueno, pues, ya está. 00:05:28
Primera pregunta de siempre. 00:05:32
¿Este método necesita que le pasemos aquí un almacén? 00:05:34
Perdón, ¿necesita que le pasemos ahí algún parámetro? 00:05:38
Para mostrar las aplicaciones que tiene el móvil en su 00:05:42
almacén, ¿necesita que le pasemos algún parámetro? 00:05:45
No, ¿por qué no? 00:05:50
Porque la tiene arriba. 00:05:54
Es una de las propiedades del teléfono. 00:05:55
Una de las propiedades del teléfono es precisamente su 00:05:57
almacén. 00:06:00
Entonces, no tenemos que pasárselo. 00:06:01
Es una de las propiedades del teléfono. 00:06:02
Tiene que devolver algo. 00:06:04
Nos han dicho que lo muestra por pantalla. 00:06:05
Entonces, no tiene que devolver nada. 00:06:07
Pues, entonces, ala, pues, venga, este método. 00:06:12
Pues, el método este, navegar por el almacén. 00:06:25
Pues, primero hay que localizar el almacén. 00:06:28
El almacén es esta. 00:06:30
Es este. 00:06:31
Esta es la variable que tiene la información del almacén. 00:06:32
¿Y cómo la tiene? 00:06:36
Habrá que meterse en el app store a ver cómo la tiene. 00:06:37
Habrá que meterse. 00:06:40
Nos metemos, ah, pues, se nos había olvidado. 00:06:42
La tiene en forma de array. 00:06:44
Pues, ya está. 00:06:45
Pues, cogemos ese array y lo listamos. 00:06:46
¿Vale? 00:06:51
Bueno, pues, entonces, el almacén, entonces, 00:06:52
tiene la información de las aplicaciones que tiene. 00:06:57
Las tiene un array. 00:07:00
Un array que obtenemos con este método. 00:07:01
Pero esto es un array de aplicaciones. 00:07:04
Entonces, vamos a mostrar todas y cada una de las aplicaciones 00:07:07
que están en este array. 00:07:11
Y punto. 00:07:12
Hemos dicho que el nombre es solo. 00:07:42
Pues, ala, ya está. 00:07:44
¿Vale? 00:07:46
Entonces, ¿dónde está la información a listar? 00:07:46
Repito, la información a listar está en esta variable. 00:07:49
En esta. 00:07:51
Pero esa variable es de tipo app store. 00:07:53
Entonces, tendremos que ver, vale, sí, 00:07:55
pero ese objeto, ¿cómo tiene guardado la información dentro 00:07:56
para acceder a ella? 00:07:59
Tenemos que meternos dentro de ella. 00:08:00
Tenemos que meternos dentro. 00:08:02
Dentro de él para sacarla. 00:08:04
Bueno, pues, dentro de él, la estructura la conocemos. 00:08:05
Sabemos que la tiene guardada en un array. 00:08:09
Ahora, ya sí, en un array. 00:08:12
Un array que es una propiedad que se llama store, 00:08:14
que podemos obtener con el método este. 00:08:16
Y solo con ese, porque es privada, solo con ese. 00:08:19
¿Vale? 00:08:22
Pues, entonces, este es el array que yo tengo que listar. 00:08:22
Pues, nada, lo listo como todos los arrays del mundo. 00:08:28
Posiciones hasta que llegue al final. 00:08:32
Y voy mostrando posición por posición. 00:08:35
Entonces, esto, claro, uno lo ve y le puede quedar raro, 00:08:37
pero es que no es nada raro. 00:08:39
Es que todo esto, todo eso, es un array. 00:08:40
Todo eso es un array. 00:08:44
Porque es lo que me devuelve el método get. 00:08:45
Y lo que me devuelve el método get es un array. 00:08:47
Entonces, como todo eso es un array, 00:08:49
pues, puedo acceder a posiciones, 00:08:50
puedo acceder a punto lenza, lo que haga falta. 00:08:52
Porque todo eso es un array. 00:08:54
Porque el get de store me devuelve un array. 00:08:56
¿No? 00:09:01
De hecho, hemos hecho nosotros ese método y así lo hemos 00:09:01
hecho. 00:09:04
El get store me devuelve un array enterito, un array entero. 00:09:04
Me devuelve un array. 00:09:10
¿Vale? 00:09:13
Pues, ya está. 00:09:15
Venga, siguiente. 00:09:21
Vámonos a la de navegar, get up, status. 00:09:26
Status, que es la siguiente más sencilla. 00:09:31
Status indica cuánto espacio libre tiene el móvil y cuántas, 00:09:35
solo cuántas. 00:09:40
¿Cuántas aplicaciones instaladas tiene? 00:09:42
Pues, venga. 00:09:45
Este método status indica, significa que lo muestra por 00:09:47
consola, luego no devuelve nada. 00:09:52
Y, de nuevo, ¿necesita algún parámetro? 00:09:55
No. 00:10:01
Porque toda la información que tiene que mostrar la tienen las 00:10:02
variables. 00:10:05
Es el espacio libre, lo puede sacar a través de las 00:10:06
instaladas, lo que ocupan, restándole la capacidad. 00:10:10
No le hace falta. 00:10:12
¿Vale? 00:10:17
Pues, venga. 00:10:18
Este, status. 00:10:19
Recordad que hay que hacer las 2 cosas. 00:10:21
Mostrar el espacio libre en gigas en el móvil. 00:10:25
Y, luego, decir cuántas tiene instaladas. 00:10:32
En ese orden inverso me da igual. 00:10:36
Instaladas. 00:10:42
¿Vale? 00:10:47
A ver, ¿cuántas apps tiene instaladas? 00:10:48
Esto está claro, ¿no? 00:10:54
Pues, tantas como tamaño tenga la RAI. 00:10:56
¿Sí o no? 00:10:58
Sí. 00:10:59
Tiene instaladas punto lens. 00:11:12
¿Vale? 00:11:29
O sea, las que tiene instaladas, silencio. 00:11:34
Eso es lo más fácil del mundo. 00:11:37
Tantas como tamaño tenga la RAI, no hay más que pensar, ¿no? 00:11:39
Tantas como tamaño tenga. 00:11:42
Tiene esas 7, las que tenga instaladas. 00:11:43
Y, ahora, ¿cuánto espacio libre le queda? 00:11:46
Pues, podemos hacerlo de varias maneras, pero una, 00:11:49
quizá la más estructurada en la que más podemos entenderlo 00:11:52
desde el principio. 00:11:55
Una de las formas que podemos hacer ya está otra parte, 00:11:57
porque esta es inmediata. 00:11:59
Pues, la más estructurada, pues, podría ser. 00:12:01
Primero, hacemos la suma de lo que ocupan las que tiene y, 00:12:03
luego, hacemos la resta. 00:12:07
Bueno, pues, entonces, eso podríamos hacerlo así, ¿no? 00:12:10
Hacemos una suma, pues, lo de siempre, 00:12:14
una suma acumulativa. 00:12:19
Es la misma historia de siempre. 00:12:20
Y, ahora, nos dedicamos a sumar. 00:12:22
Voy a cambiar al forEach para no escribir tanto, 00:12:24
que ya estoy aburrida. 00:12:31
Y, ahora, suma más igual a punto getTamaño. 00:12:35
Ala, con esto haríamos la suma de lo que ocupan todas las que 00:12:42
tiene instaladas, las instaladas. 00:12:45
¿Y cuánta capacidad, entonces, le queda? 00:12:48
Pues, le quedará capacidad menos lo que ocupan las que 00:12:52
tiene. 00:13:03
Esto es lo que le quedará. 00:13:05
¿Vale? 00:13:10
Bueno, esta es la forma más sencilla, a lo mejor, 00:13:11
de hacerlo, más estructurada. 00:13:13
Primero hago la suma y le queda esto menos la suma y ya está. 00:13:15
A ver, también lo podríais haber planteado. 00:13:19
Me hago un bucle for en el que le voy restando a capacidad lo 00:13:21
que ocupa cada aplicación. 00:13:27
Sería otra forma de hacerlo también. 00:13:28
Es decir, podemos hacer esto. 00:13:31
A lo mejor, también, lo digo porque a lo mejor a alguien se 00:13:33
le ha ocurrido hacerlo así. 00:13:37
Voy a llamarlo, pues, yo que sé, cantidad y la inicializo con la 00:13:41
capacidad, la inicializo con la capacidad. 00:13:49
Y ahora recorro de nuevo las instaladas, 00:13:53
las recorro otra vez, instaladas. 00:13:56
Y ahora hago cantidad menos igual a punto de tamaño. 00:14:00
A lo mejor, alguno lo ha visto de esta manera, ¿no? 00:14:09
Yo a una variable la inicializo con la capacidad máxima y le voy 00:14:12
restando lo que ocupa cada aplicación, le voy restando. 00:14:17
Cuando he terminado de restar, cantidad tendrá lo que queda, 00:14:21
¿verdad? 00:14:23
Cantidad tendrá lo que queda. 00:14:24
Entonces, a lo mejor, pues, alguno lo ha visto así en lugar 00:14:26
de esa forma que es como más estructurada, 00:14:29
más adaptada a nuestros patrones de funcionamiento. 00:14:31
Que es, hago la suma primero y luego hago la resta de lo que 00:14:35
tengo menos lo quitado. 00:14:39
Esperamos, debería ser lo mismo. 00:14:41
Debería mostrar lo mismo en las 2 veces. 00:14:43
Le queda cantidad. 00:14:48
Aquí ya los parámetros. 00:14:53
Debería mostrar lo mismo, si lo hemos hecho bien. 00:15:01
Vale, vamos a probar estos 2 métodos primero. 00:15:05
Antes de hacer el otro de get up, que es más extraño, 00:15:08
vamos a, dime, sí, sí, sí. 00:15:12
Bueno, ¿te refieres aquí? 00:15:23
Bueno, es que aquí yo parto, tengo 50. 00:15:26
Y a 50 le voy quitando todo lo que tengo instalado. 00:15:29
Lo que me quede al final será lo que tengo libre, ¿no? 00:15:32
Pues, eso. 00:15:36
Lo que me queda al final, que es cantidad, 00:15:38
es lo que tengo libre. 00:15:40
O sea, me refiero que esto y lo de arriba te conducen al mismo 00:15:41
resultado. 00:15:44
Son 2 formas de hacer lo mismo, ¿no? 00:15:45
¿O lo he pensado mal? 00:15:48
Yo creo que son 2 formas de hacer lo mismo, ¿no? 00:15:49
Lo que queda. 00:15:56
No, devuelve lo que queda. 00:15:57
O sea, igual que arriba, devuelve lo que queda. 00:16:00
O sea, yo tengo, imagínate que mi capacidad son 100. 00:16:02
Y tengo instalado una aplicación de 30 y otra de 20. 00:16:05
Pues, lo que estoy haciendo aquí es hacer 100 menos 30. 00:16:08
Esto de arriba, por ejemplo, está sumando el tamaño de lo 00:16:10
que tengo. 00:16:13
Sí, y aquí le estoy restando el tamaño de lo que tengo 00:16:14
instalado, pero a la capacidad máxima. 00:16:16
Imagínate que mi capacidad es 100. 00:16:20
Y tengo una que tiene 30 y otra 20. 00:16:22
Pues, lo que estoy haciendo es 100 menos 30. 00:16:23
A lo que me queda, ahora le resto 20. 00:16:26
Y ya, lo que me quede será lo libre. 00:16:28
Lo que me quede será lo libre. 00:16:31
Son 2 formas de hacer lo mismo. 00:16:34
La de arriba quizás es más clara, es más intuitiva. 00:16:37
Yo sumo lo que tengo y luego se lo resto a la máxima. 00:16:40
La de arriba es más intuitiva. 00:16:43
Y esta es otra, por si a alguien se le ocurriera hacerlo de esa 00:16:45
manera, ¿vale? 00:16:47
Para ir pensando de formas distintas. 00:16:48
Vamos a hacer ya una clase main en otro paquete aparte para 00:16:54
hacer unas pruebas con esto. 00:16:57
Entonces, nos hacemos otro paquete. 00:17:02
Pues, este paquete ya le llamamos main. 00:17:04
Y este paquete ya es la que va a tener la prueba móvil. 00:17:06
Esta de aquí. 00:17:13
La prueba móvil. 00:17:15
Pues, venga, vamos a ir haciendo ya prueba móvil para ir 00:17:16
probando estas cosas. 00:17:21
Prueba móvil con un main. 00:17:28
Vale. 00:17:30
Entonces, primero, vamos a crear un almacén de 00:17:33
aplicaciones. 00:17:37
Un app store con varias apps dentro. 00:17:38
Vale, pues, lo vamos a hacer con este. 00:17:41
Aquí teníamos ya un main que hicimos de prueba, ¿verdad? 00:17:45
Este main ya que hicimos de prueba que estaba aquí abajo. 00:17:51
Este main que hicimos de prueba. 00:17:54
Lo voy a dejar aquí comentado porque ya este main no lo 00:17:57
quiero, pero no lo borro. 00:18:01
Vale, pues, venga, vamos a, en nuestra clase prueba móvil con 00:18:04
mi main, primero me voy a hacer un almacén de aplicaciones. 00:18:09
Hago el import o pongo model.appstore o hago el import. 00:18:13
Recordad, no olvidéis nunca nada de lo que vamos haciendo. 00:18:17
Vale, podría hacer esto y me quedo tan ancha y no hago ni 00:18:21
import ni hago nada. 00:18:24
Vale. 00:18:26
Pero, bueno, si a alguien no le gusta, le parece feo, 00:18:27
pues, puede quitar esta parte del nombre de la clase, 00:18:31
puede quitar esta parte y poner el import. 00:18:34
Vale, pues, primero nos hacemos el almacén de aplicaciones. 00:18:39
Vale, que luego vamos a hacernos un teléfono, ¿no? 00:18:44
Vamos a crear un móvil con 30 gigas, ¿vale? 00:18:47
Y que tenga este app store, por ahora sin aplicaciones 00:18:52
instaladas. 00:18:56
Venga, pues, entonces, vamos a crearnos un teléfono móvil. 00:18:59
De nuevo hago el import para no importar el model. 00:19:12
Le vamos a poner, ala, venga, 30 gigas. 00:19:16
Aunque igual las quemo 30 gigas, venga. 00:19:20
Pues, le vamos a poner primero 30 gigas. 00:19:25
Ala, capacidad 30. 00:19:27
El móvil ya tiene 30 gigas. 00:19:29
Y ahora vamos a fijar que su almacén de aplicaciones sea el 00:19:32
de aquí arriba. 00:19:35
Solamente va a tener estas 5 aplicaciones instalables, 00:19:36
solo estas 5 por ahora. 00:19:40
Pues, le vamos a fijar a este móvil, 00:19:43
este almacén de aplicaciones. 00:19:50
Ahora mismo no tiene ninguna todavía instalada, 00:19:53
no tiene ninguna. 00:19:55
Porque, de hecho, el método de instalar, que es el get app, 00:19:57
este todavía no lo hemos hecho. 00:20:00
La clase móvil, ¿verdad? 00:20:02
Tiene un método get app que no hemos hecho todavía, 00:20:03
que es precisamente para instalar en el teléfono una 00:20:05
aplicación del almacén y no la hemos hecho. 00:20:09
Luego, este móvil ahora mismo tiene un almacén, 00:20:11
una capacidad, pero sus aplicaciones instaladas ahora 00:20:14
mismo es nul, ahora mismo es nul. 00:20:19
No tiene ninguna, ahora mismo es nul. 00:20:21
Vale, pero, bueno, algo con el teléfono sí podemos hacer. 00:20:23
No podemos instalar, pero tenemos el método hecho. 00:20:26
Pero sí podemos navegar por el app store. 00:20:28
A ver, vamos a navegar por él, a ver qué tiene. 00:20:30
Vamos a navegar, ¿vale? 00:20:34
Y vamos también a mostrar su estatus, ¿vale? 00:20:38
Entonces, espera, primero voy a navegar y luego ya muestro el 00:20:46
otro porque antes os quiero hacer una pregunta, 00:20:49
que supongo que ya sabéis cuál es. 00:20:51
Vamos a navegar a ver qué aplicaciones me dice que tiene. 00:20:52
Venga, venga, vamos a navegar por este móvil. 00:20:55
Le doy al botón de navegar. 00:20:59
Espera, algún error de compilación no he arreglado 00:21:01
porque me, ah, cuando he compilado el main, 00:21:03
cuando he comentado el main, lo he comentado mal. 00:21:07
Ahora, vale. 00:21:10
Venga, vamos a navegar por este teléfono que acabamos de hacer. 00:21:12
Vamos a ver este teléfono que me permite instalar. 00:21:16
Esto es lo que tiene, ¿vale? 00:21:20
Le hemos dado, venga, navega por el app store. 00:21:21
Pues, esto tienes. 00:21:23
Ahora podríamos elegir una aplicación a instalar. 00:21:25
Pero, claro, habría que llamar al método get app es el que 00:21:28
instala, que no lo tenemos hecho. 00:21:30
Luego no vamos a elegir a ninguna aplicación para 00:21:31
instalar todavía. 00:21:33
Pero, venga, vamos a incorporar que mire el estatus, ¿vale? 00:21:35
Vale, entonces, antes de ejecutarlo, 00:21:39
que ya lo habréis ejecutado seguro, pero, pregunto yo, 00:21:43
antes de ejecutarlo, ¿qué va a salir? 00:21:47
Líneas rojas, ¿verdad? 00:21:55
Que sí van a salir líneas rojas antes de ejecutarlo. 00:21:57
No valía que ejecutarais, valía que ya previerais que iban a 00:22:00
salir líneas rojas y me dijerais por qué. 00:22:03
¿Por qué van a salir líneas rojas? 00:22:08
Claro, porque este método, su array de instaladas no es que 00:22:13
esté vacío, peor que eso. 00:22:16
Es null. 00:22:18
Y yo, cuando hice mi método status, claro, 00:22:19
uno hace las cosas y hasta que no hace las pruebas, 00:22:21
hasta que no hace las pruebas, hay detalles de los que no se 00:22:24
das cuenta. 00:22:26
Para eso la fase de pruebas es tan importante y, por eso, 00:22:27
los equipos de desarrollo, pues, la parte de testing es tan 00:22:29
grande y ocupa tanta gente y tiene tanta gente trabajando. 00:22:32
Porque se escapan muchísimas cosas. 00:22:35
Se escapa una cosa tan pequeñita, 00:22:38
¿cómo no se va a escapar una aplicación grande? 00:22:40
Pues, ¿qué se nos ha escapado? 00:22:42
Que cuando yo he dicho así alegremente, 00:22:43
y lo he dicho así alegremente a propósito, 00:22:46
cuando yo he dicho alegremente, hombre, 00:22:49
la parte de las que tenga instaladas es facilísimo. 00:22:51
Le digo punto lente y ya está. 00:22:54
Lo he dicho ahí con toda la alegría del mundo. 00:22:56
Pero, claro, me he pasado de alegría. 00:22:58
¿Qué pasa si el teléfono no tiene ninguna y el array es null? 00:23:00
Pues, que esto es un pedazo null pointer exception. 00:23:04
Porque instaladas es null. 00:23:07
Pero si es un objeto null, tú haces punto algo, 00:23:09
null pointer exception. 00:23:12
¿Vale? 00:23:14
Entonces, eso. 00:23:15
O prevés que va a salir por el incumplimiento ya que te ha dado 00:23:16
la vida, o lo ves en la fase de pruebas y dices, anda, claro, 00:23:20
si es que cómo se me ocurre a mí. 00:23:23
¿Vale? 00:23:25
Pues, entonces, aquí, obviamente, 00:23:27
esto podríamos arreglarlo de esta manera. 00:23:33
Si instaladas es diferente de null y solo si es diferente de 00:23:39
null, entonces, ya sí, muéstrame este mensaje. 00:23:49
Pero si no es diferente de null, dime, 00:23:53
no tiene aplicaciones instaladas. 00:23:55
¿No? 00:24:05
Y además es que ahora ya va a pasar en la parte de arriba, 00:24:07
que hemos hecho al principio. 00:24:09
Claro, si todo esto de aquí, recorrer el array, 00:24:12
todo esto de recorrer el array, solo se puede hacer si 00:24:16
instaladas es diferente de null. 00:24:19
Porque si no es diferente de null, 00:24:21
el for each va a sacar un null pointer exception. 00:24:22
Porque el for each, lo primero que hace es, me cojo instaladas. 00:24:25
Venga, voy a contar cuántos tiene haciendo un len. 00:24:29
En cuanto haga el len, el for each internamente, 00:24:31
que lo hace él, va. 00:24:33
Luego, todo eso, todo este código, 00:24:35
solo tiene sentido que lo hagamos en el caso de que tenga 00:24:39
aplicaciones instaladas. 00:24:43
Luego, cuidadín, aquí vamos a mejor cambiarlo para que quede 00:24:45
más bonito el código. 00:24:49
Si es null, le decimos, no tiene irretun, para que se acabe. 00:24:50
Y nos va a quedar todo mucho más guay, ¿verdad? 00:24:55
¿Vale? 00:24:58
Si es null, le digo, no tiene. 00:25:02
Y entonces ya, mira, retun, fuera, ya está. 00:25:06
La capacidad libre, pues, es la del móvil. 00:25:11
No tiene ninguna. 00:25:13
El señor sabe que, entonces, tiene todo el espacio libre. 00:25:13
Hombre, puede decir, tiene usted todo su espacio libre. 00:25:16
Tiene toda su capacidad que es tanta. 00:25:18
Lo que sea. 00:25:21
Y ahora, aquí ya el else no nos hace falta. 00:25:22
Porque si hemos llegado a este punto, 00:25:25
es porque instaladas es diferente de null. 00:25:27
Si hemos llegado a este punto, es porque instaladas es 00:25:29
diferente de null. 00:25:30
Entonces, ahora ya es cuando tiene sentido mostrar el espacio 00:25:32
libre y hacer todo esto. 00:25:35
Aquí abajo. 00:25:38
¿Vale? 00:25:42
Y de paso, vamos a decir ya de paso las que tiene instaladas. 00:25:43
¿Vale? 00:25:46
Tiene instaladas.leds, aplicaciones. 00:25:52
Aplicaciones, ala. 00:26:09
¿Vale? 00:26:12
Vale, este status ya parece que está un poquito a prueba ya de 00:26:14
null pointer exception. 00:26:18
Ya está a prueba de null pointer exception. 00:26:20
Porque si es null, me dice, no tiene aplicaciones y fuera. 00:26:22
Y si ha llegado a este punto, es porque no ha terminado. 00:26:26
Luego tiene aplicaciones. 00:26:29
Me dice las que tiene y ahora ya me muestra el espacio libre en 00:26:31
el móvil. 00:26:35
Y esto lo voy a, a ver, esto nunca me acuerdo cómo, ah, sí. 00:26:36
Vale, para devolverle el formato. 00:26:50
Ala, ya está. 00:26:54
¿Vale? 00:26:56
Venga, pues vamos ahora sí a hacer el status que me va a 00:26:57
salir, no tiene aplicaciones instaladas. 00:27:00
Si es que está bien, claro. 00:27:02
Efectivamente, no tiene aplicaciones instaladas porque no 00:27:07
tengo la opción de instalarlas todavía, no he hecho el método. 00:27:10
Ese es el método que nos falta por hacer. 00:27:14
Bueno, nos falta también el de borrar una aplicación, 00:27:16
que es este, que es el largo y el más largo y el más raro. 00:27:19
¿Vale? 00:27:23
Este de aquí, que es, te doy el nombre de una aplicación y la 00:27:23
tienes que instalar. 00:27:29
Venga, vamos a escribirlo. 00:27:31
A ver, este método, public void, get app, 00:27:33
te doy el nombre de una app. 00:27:42
Esto es lo que te doy. 00:27:45
Te doy el nombre de una app. 00:27:49
Entonces, vamos a entender qué tiene que hacer este método. 00:27:50
Yo te doy el nombre. 00:27:52
Entonces, habrá que buscar la aplicación con ese nombre en el 00:27:53
almacén de aplicaciones, en el store del móvil, 00:28:00
en el store. 00:28:02
Y esa aplicación, una copia de ella, 00:28:04
llevarla a este array, llevarla a este array. 00:28:10
Si es que no está, porque podría estar. 00:28:16
Si es que no hay ninguna que se llame así. 00:28:20
En el caso de que esté, en el caso de que esté, 00:28:22
entonces, lo que dice es, oye, pues, 00:28:25
entonces, guarda en la de instaladas una actualizada. 00:28:27
Entonces, para hacer este método es, 00:28:33
para lo que tendríamos que usar, 00:28:35
install, que es ya de paso el que nos da una copia, 00:28:37
que vamos a necesitar, y comprobar actualización, 00:28:41
que nos da una copia de la actualizada. 00:28:44
Entonces, este método hay que hacerlo usando, 00:28:46
porque si no, usando, que para eso lo tenemos, 00:28:53
install de AppStore y CheckUpdate son los que hay que 00:28:57
usar, porque si no, ¿para qué las hemos hecho? 00:29:05
Hay que usar estos métodos de la clase AppStore para hacer 00:29:11
esto. 00:29:13
Entonces, la idea es que entendáis lo que tiene que 00:29:15
hacer y luego ya ver cómo lo construís, 00:29:17
cómo lo hacéis usando esos métodos. 00:29:19
Lo que tiene que hacer es, se le da el nombre de una 00:29:21
aplicación, un nombre, WhatsApp, por ejemplo. 00:29:24
Pues, se va al almacén para ver si hay alguna aplicación, 00:29:27
para coger la aplicación que tenga ese nombre y conseguir 00:29:32
que una copia de esa aplicación se vaya a este array, 00:29:38
expandiéndolo, como siempre, una copia se vaya a este array. 00:29:43
Recordad que para hacer una copia de una aplicación que hay 00:29:46
en el AppStore, teníamos el método install, 00:29:48
que install desacaba una copia de la que hay en el AppStore 00:29:50
con un nombre. 00:29:52
Pues, ya tenemos el método install para eso. 00:29:53
Hay que usar el método install para sacar esa copia y 00:29:55
llevarla aquí. 00:30:00
¿Qué puede ocurrir? 00:30:02
Que la aplicación ya exista con ese nombre en ese array. 00:30:04
Si ya existe, entonces hay que verificar que la versión de la 00:30:10
que existe es inferior de la del AppStore. 00:30:15
Porque si es inferior, guardo una copia de la actualizada. 00:30:22
Y para eso estaba el método checkUpdate, 00:30:26
que te devolvía una copia de la actualizada. 00:30:28
Bueno, pues, esa es la idea, que uséis esos 2 métodos para hacer 00:30:31
eso, ¿vale? 00:30:33
Pues, venga, tenéis trabajo de aquí a mañana, entonces. 00:30:36
Completar ese método y el otro que queda. 00:30:39
Este, el de remove. 00:30:43
Y ya está. 00:30:46
Y luego ya, ya se pueden hacer las pruebas con un teléfono en 00:30:47
concreto y instalar aplicaciones, 00:30:49
ver las que tiene, ver capacidad, etcétera, etcétera. 00:30:50
¿Vale? 00:30:53
Un segundo. 00:30:54
Subido por:
Raquel G.
Licencia:
Todos los derechos reservados
Visualizaciones:
7
Fecha:
29 de enero de 2024 - 17:56
Visibilidad:
Público
Centro:
IES ROSA CHACEL
Duración:
30′ 55″
Relación de aspecto:
1.78:1
Resolución:
1920x1080 píxeles
Tamaño:
147.33 MBytes

Del mismo autor…

Ver más del mismo autor


EducaMadrid, Plataforma Educativa de la Comunidad de Madrid

Plataforma Educativa EducaMadrid