1 00:00:00,000 --> 00:00:03,240 Bueno, pues, entonces, volvemos a nuestro get up, 2 00:00:03,240 --> 00:00:06,120 este de aquí, este get up. 3 00:00:06,120 --> 00:00:09,520 Entonces, la parte de instalarla es esta de aquí. 4 00:00:09,520 --> 00:00:11,320 Entonces, antes de hacer todo esto, 5 00:00:11,320 --> 00:00:15,360 vamos a mirar que tenga espacio suficiente, ¿verdad? 6 00:00:15,360 --> 00:00:22,360 Entonces, ¿cómo os gustaría hacer esto? 7 00:00:22,360 --> 00:00:25,640 ¿Dónde lo meteríamos? 8 00:00:25,640 --> 00:00:26,160 ¿Vale? 9 00:00:26,160 --> 00:00:30,560 O sea, esta copia de aquí, la idea es mirar de esta 10 00:00:30,560 --> 00:00:33,120 aplicación, la que me saca la copia, 11 00:00:33,120 --> 00:00:35,920 mirar su tamaño y ver que su tamaño es menor o igual que el 12 00:00:35,920 --> 00:00:36,920 que queda en el móvil. 13 00:00:36,920 --> 00:00:38,000 Ya está, simplemente. 14 00:00:38,000 --> 00:00:45,080 ¿Tiene sentido anidar el form de comprobar si está instalada? 15 00:00:45,080 --> 00:00:46,120 A ver, es meter esto en. 16 00:00:46,120 --> 00:00:48,040 ¿Anidarlo dentro de otro para comprobar si hay espacio? 17 00:00:48,040 --> 00:00:48,840 A ver, no, no. 18 00:00:48,840 --> 00:00:49,920 No hace falta anidar form. 19 00:00:49,920 --> 00:00:52,040 O sea, es meter esto en un if. 20 00:00:52,040 --> 00:00:54,240 O sea, eso se hace si hay espacio. 21 00:00:54,280 --> 00:00:56,240 Si no lo hay, no se hace, ¿no? 22 00:00:56,240 --> 00:00:56,720 Ya está. 23 00:00:56,720 --> 00:00:58,480 Es meter eso en un if y se acabó. 24 00:00:58,480 --> 00:01:01,960 Esa es la parte, toda esa parte que me instala la aplicación. 25 00:01:01,960 --> 00:01:04,760 Esa parte solo la hago si hay espacio disponible. 26 00:01:04,760 --> 00:01:06,320 Y ya está, ¿vale? 27 00:01:06,320 --> 00:01:11,320 Entonces, esto yo lo puedo meter en un if. 28 00:01:11,320 --> 00:01:16,400 Podemos recoger la condición en un boolean o ver si podemos 29 00:01:16,400 --> 00:01:18,360 aquí directamente expresar la condición. 30 00:01:18,360 --> 00:01:20,000 ¿Hay espacio disponible? 31 00:01:20,000 --> 00:01:23,920 Vamos a, entonces, la idea es que esto tiene que ir en un if. 32 00:01:25,240 --> 00:01:28,360 O sea, es una forma de plantearlo, ¿no? 33 00:01:28,360 --> 00:01:37,080 Esto efectivamente, esto se va a hacer solo si hay espacio 34 00:01:37,080 --> 00:01:38,320 disponible, ¿vale? 35 00:01:38,320 --> 00:01:40,800 Entonces, ahora ya la siguiente pregunta es, 36 00:01:40,800 --> 00:01:42,680 aquí no hemos perdido la idea de siempre. 37 00:01:42,680 --> 00:01:49,040 Y es que siempre tenemos que ir pensando en cajas negras. 38 00:01:49,040 --> 00:01:50,600 Lo que decía desde el principio, pues, 39 00:01:50,600 --> 00:01:53,040 es que sigue aplicable. 40 00:01:53,040 --> 00:01:56,480 Aquí tengo ya una caja negra, que ahora ya es blanca porque ya 41 00:01:56,480 --> 00:01:59,520 sé lo que contiene, ya hecha, que es instalarla. 42 00:01:59,520 --> 00:02:01,160 Esta es la caja negra. 43 00:02:01,160 --> 00:02:03,800 A ver, que me gusta más sacar esto a un método porque queda 44 00:02:03,800 --> 00:02:06,640 más bonito, lo saco a un método, pero eso ya es lo de menos. 45 00:02:06,640 --> 00:02:12,040 Y ahora, esta caja negra de instalar la tendré que meter 46 00:02:12,040 --> 00:02:15,880 en una condición, ¿vale? 47 00:02:15,880 --> 00:02:19,200 Bueno, pues, ahora es lo mismo que íbamos trabajando al 48 00:02:19,200 --> 00:02:19,720 principio. 49 00:02:19,720 --> 00:02:22,160 Y ahora, esa condición, ¿cómo la saco? 50 00:02:22,160 --> 00:02:22,880 ¿Cómo la expreso? 51 00:02:22,880 --> 00:02:24,160 Pues, inmediata. 52 00:02:24,160 --> 00:02:26,720 Yo puedo directamente poner, ¿cómo averiguo si hay espacio 53 00:02:26,720 --> 00:02:27,840 disponible? 54 00:02:27,840 --> 00:02:31,440 Pues, hay espacio disponible, perdón. 55 00:02:31,440 --> 00:02:34,160 Sí, lo que pasa es que el estatus no te devuelve el 56 00:02:34,160 --> 00:02:37,600 disponible de retorno. 57 00:02:37,600 --> 00:02:38,880 Te lo muestro por consola. 58 00:02:38,880 --> 00:02:41,120 Entonces, podríamos, claro, podríamos modificarlo, 59 00:02:41,120 --> 00:02:42,080 hacer otro. 60 00:02:42,080 --> 00:02:46,760 La idea sería comparar el tamaño de la aplicación esta, 61 00:02:46,760 --> 00:02:49,760 que es la que se va a instalar, comparar el tamaño de esta, 62 00:02:49,760 --> 00:02:52,680 que es la que se va a instalar, compararlo con el que queda. 63 00:02:52,680 --> 00:02:54,520 A ver si es menor que el que queda. 64 00:02:54,520 --> 00:02:56,880 Entonces, el problema es que el método de estatus, 65 00:02:56,880 --> 00:02:59,360 que te mira el que queda, no te lo devuelve el valor de 66 00:02:59,360 --> 00:02:59,860 retorno. 67 00:02:59,860 --> 00:03:01,040 Es una pena. 68 00:03:01,040 --> 00:03:09,240 Entonces, bueno, pues, pero, ¿esto cómo podríamos trabajar? 69 00:03:09,240 --> 00:03:12,720 Pues, mira, podemos hacer, sí, el tamaño de la aplicación que 70 00:03:12,720 --> 00:03:16,320 yo voy a instalar, que es esta. 71 00:03:16,320 --> 00:03:20,200 Esta es la copia que yo voy a instalar. 72 00:03:20,200 --> 00:03:24,600 Pues, si esta aplicación punto getTamaño, 73 00:03:24,600 --> 00:03:32,800 ups, punto getTamaño, si esta resulta que es menor que qué? 74 00:03:32,800 --> 00:03:35,240 Que el espacio disponible. 75 00:03:35,240 --> 00:03:37,000 Aquí nos viene el espacio disponible. 76 00:03:37,000 --> 00:03:39,000 ¿Y cómo hago yo el espacio disponible? 77 00:03:39,000 --> 00:03:40,520 Pues, mira, hace una cosa. 78 00:03:40,520 --> 00:03:42,640 Ojalá tuviera yo un método que me devuelva el espacio 79 00:03:42,640 --> 00:03:43,280 disponible. 80 00:03:43,280 --> 00:03:46,720 Pues, venga, voy a soñar y digo que sí, 81 00:03:46,720 --> 00:03:50,240 que hay un método que me devuelve el espacio disponible 82 00:03:50,240 --> 00:03:51,840 en el telefonito. 83 00:03:51,840 --> 00:03:52,640 Ya está. 84 00:03:52,640 --> 00:03:55,320 Porque si hay ese método, estupendo. 85 00:03:55,320 --> 00:04:00,360 Si el tamaño de la aplicación es menor que el espacio disponible, 86 00:04:00,360 --> 00:04:01,840 ya hago esto. 87 00:04:01,840 --> 00:04:06,760 Ahora ya simplemente me hago un método auxiliar que me devuelva 88 00:04:06,760 --> 00:04:09,400 el espacio disponible de mi teléfono, 89 00:04:09,400 --> 00:04:11,760 que es lo mismo que hace status, pero en lugar de mostrarlo en 90 00:04:11,760 --> 00:04:13,520 consola, devolverlo. 91 00:04:13,520 --> 00:04:15,080 Y tan ricamente. 92 00:04:15,080 --> 00:04:18,960 Pues, venga, vamos a hacernos ese método. 93 00:04:18,960 --> 00:04:19,460 Este. 94 00:04:22,160 --> 00:04:23,120 ¿Dónde me lo ha puesto? 95 00:04:23,120 --> 00:04:23,600 Aquí. 96 00:04:23,600 --> 00:04:26,640 Vamos a hacérnoslo. 97 00:04:26,640 --> 00:04:29,200 Lo tengo tan fácil como copiar y pegar lo que había en status. 98 00:04:34,040 --> 00:04:34,720 ¿Qué era esto? 99 00:04:40,280 --> 00:04:41,080 Así, por ejemplo. 100 00:04:44,520 --> 00:04:46,000 Control-V y retún cantidad. 101 00:04:46,000 --> 00:04:47,000 Ala, ya tengo. 102 00:04:47,000 --> 00:04:56,840 Ya tengo un método que me devuelve el espacio que queda 103 00:04:56,840 --> 00:04:58,800 en mi móvil. 104 00:04:58,800 --> 00:05:01,600 Este método me devuelve el espacio que queda en mi móvil. 105 00:05:01,600 --> 00:05:04,320 Le pongo privado porque es un método auxiliar que yo me lo 106 00:05:04,320 --> 00:05:07,600 he hecho para facilitarme el código y que quede más bonito. 107 00:05:07,600 --> 00:05:10,040 Y le llamo solo desde esa clase. 108 00:05:10,040 --> 00:05:14,040 Entonces, todo lo que hemos hecho para uso nuestro, 109 00:05:14,040 --> 00:05:16,000 uso y disfrute nuestro de nuestra clase, 110 00:05:16,000 --> 00:05:18,320 para organizar el código, todo privado, 111 00:05:18,320 --> 00:05:22,040 solo se hace público lo que realmente queremos ofrecer al 112 00:05:22,040 --> 00:05:23,160 exterior, solo. 113 00:05:23,160 --> 00:05:25,200 Esto no lo queremos ofrecer al exterior. 114 00:05:25,200 --> 00:05:27,800 Esto lo hemos hecho para facilitar nuestro código. 115 00:05:27,800 --> 00:05:28,640 Vale. 116 00:05:28,640 --> 00:05:29,160 Pues, ya está. 117 00:05:29,160 --> 00:05:32,000 Este método nos va a devolver el espacio disponible. 118 00:05:32,000 --> 00:05:35,480 Pues, esto me facilita ya mi condición. 119 00:05:35,480 --> 00:05:39,640 Si el tamaño de la aplicación que yo voy a instalar resulta 120 00:05:39,640 --> 00:05:44,240 que es más pequeñito, bueno, estoy poniendo la condición muy 121 00:05:44,240 --> 00:05:44,740 tonta. 122 00:05:47,920 --> 00:05:49,760 Sí, perdón, no, la estoy poniendo bien, ¿no? 123 00:05:49,760 --> 00:05:51,120 Ya se me va la cabeza. 124 00:05:51,120 --> 00:05:54,920 Es más pequeño que el que me queda, que el que me queda. 125 00:05:54,920 --> 00:05:55,880 Pues, ya está. 126 00:05:55,880 --> 00:05:59,120 Procedo a instalar. 127 00:05:59,120 --> 00:06:01,080 Ala. 128 00:06:01,080 --> 00:06:03,640 Y ya, en principio, lo tengo. 129 00:06:03,640 --> 00:06:05,720 Entonces, lo que nos faltaba era, efectivamente, 130 00:06:05,720 --> 00:06:08,600 esta parte meterla en una condición. 131 00:06:08,600 --> 00:06:10,480 Entonces, cuando el programa está estructurado, 132 00:06:10,480 --> 00:06:13,320 es más fácil ampliarle funcionalidades. 133 00:06:13,320 --> 00:06:17,040 Como sea una cosa, no es por faltar. 134 00:06:17,040 --> 00:06:21,000 Como tu mogollón, cualquier pequeño cambio que le quieras 135 00:06:21,000 --> 00:06:22,960 hacer, te has vuelto loco. 136 00:06:22,960 --> 00:06:24,760 Y ese es el problema de una aplicación, 137 00:06:24,760 --> 00:06:26,520 que no la puedas mantener. 138 00:06:26,520 --> 00:06:29,680 Entonces, si más o menos está bien estructurada, pues, 139 00:06:29,680 --> 00:06:32,800 nosotros, ah, que se nos ha olvidado añadir esto. 140 00:06:32,800 --> 00:06:35,680 ¿Un mogollón como ese harías un diorame? 141 00:06:35,680 --> 00:06:36,240 ¿Perdón? 142 00:06:36,240 --> 00:06:38,320 ¿Harías un diorame? 143 00:06:38,320 --> 00:06:42,720 Bueno, a ver, más que un diorame, lo que harías, 144 00:06:42,720 --> 00:06:45,280 o sea, más que eso, lo que harías, yo creo, 145 00:06:45,280 --> 00:06:47,160 es hacerla desde el principio otra vez. 146 00:06:49,960 --> 00:06:52,800 Pero todo lo que has hecho, desde luego, 147 00:06:52,800 --> 00:06:56,520 está muy bien porque te ha ayudado a aprender. 148 00:06:56,520 --> 00:07:00,760 Claro, que sí, sí, sí, todo ese proceso está fenomenal. 149 00:07:00,760 --> 00:07:01,260 ¿Vale? 150 00:07:01,260 --> 00:07:08,140 ¿El método de espacio disponible? 151 00:07:08,140 --> 00:07:11,780 Pues, es el mismo que hicimos en status. 152 00:07:11,780 --> 00:07:15,020 Es lo mismo, pero que te lo devuelve con ahorro de retorno, 153 00:07:15,020 --> 00:07:16,460 en lugar de mostrarlo por consola. 154 00:07:19,060 --> 00:07:20,020 ¿Vale? 155 00:07:20,020 --> 00:07:21,140 Pues, nada. 156 00:07:21,140 --> 00:07:23,660 Entonces, nosotros aquí, como teníamos clara la estructura de 157 00:07:23,660 --> 00:07:26,180 nuestro método, lo teníamos ahí todo marcado, 158 00:07:26,180 --> 00:07:28,140 ¿qué hemos tenido que añadir? ¿Algo? 159 00:07:28,140 --> 00:07:31,500 Ha sido una línea, ya está, ha sido una línea. 160 00:07:31,500 --> 00:07:31,980 ¿Vale? 161 00:07:31,980 --> 00:07:34,060 Entonces, cuando hay una estructura en el código, 162 00:07:34,060 --> 00:07:37,420 añadir cosas es sencillo. 163 00:07:37,420 --> 00:07:37,920 ¿Vale? 164 00:07:37,920 --> 00:07:39,700 Es sencillo. 165 00:07:39,700 --> 00:07:50,740 Bueno, pues, esto no sabemos si funciona o no, pero, bueno, 166 00:07:50,740 --> 00:07:53,580 vamos a hacer el método que queda y ya hacemos la prueba de 167 00:07:53,580 --> 00:07:56,540 todo ahí a mogollón y ya está. 168 00:07:56,540 --> 00:08:02,100 Y el método que queda es el de eliminar una aplicación. 169 00:08:02,100 --> 00:08:04,180 Eliminarla, que es quitarla del array. 170 00:08:04,180 --> 00:08:06,580 Pues, nada, eso es quitar una cosa del array y se acabó. 171 00:08:06,580 --> 00:08:09,460 No, es más historia. 172 00:08:09,460 --> 00:08:15,380 Pues, venga, vamos a hacer, este ya sí que es público, 173 00:08:15,380 --> 00:08:20,140 public void removeApp. 174 00:08:20,140 --> 00:08:23,060 Y se le daba el nombre, ¿verdad? 175 00:08:23,060 --> 00:08:26,460 RemoveApp, se le daba el nombre de la aplicación a eliminar. 176 00:08:33,940 --> 00:08:36,700 Vale. 177 00:08:36,700 --> 00:08:37,940 Pues, ala, eliminar. 178 00:08:48,260 --> 00:08:49,900 Bueno, pues, eliminar. 179 00:08:49,900 --> 00:08:53,660 Hombre, lo ideal sería primero verificar a ver si está, 180 00:08:53,660 --> 00:08:55,700 porque si no está, no hay nada que eliminar. 181 00:08:55,700 --> 00:08:57,900 Y tenemos la seguridad de que está, pues, entonces, 182 00:08:57,900 --> 00:09:01,820 ahora ya sí que hacemos un array con una posición menos y 183 00:09:01,820 --> 00:09:04,380 copiamos del viejo en el nuevo, saltándonos la que hay que 184 00:09:04,380 --> 00:09:06,260 eliminar. 185 00:09:06,260 --> 00:09:08,420 Pero cuidado antes de hacerlo, de hacer un array con una 186 00:09:08,420 --> 00:09:11,060 posición menos y copiar viejo en el nuevo, 187 00:09:11,060 --> 00:09:14,900 porque si la aplicación no está, algo no va a fallar en los 188 00:09:14,900 --> 00:09:16,860 límites. 189 00:09:16,860 --> 00:09:18,540 Entonces, pues, bueno, podríamos a ver, 190 00:09:18,540 --> 00:09:20,740 vamos a ver primero, vamos a verificar si la aplicación 191 00:09:20,740 --> 00:09:21,240 está. 192 00:09:29,260 --> 00:09:29,760 Vale. 193 00:09:29,760 --> 00:09:37,540 Entonces, vamos a, para cada aplicación en instaladas, 194 00:09:37,540 --> 00:09:46,260 sí, a.getNombre, equals al nombre que me han dado. 195 00:09:46,260 --> 00:09:49,740 Entonces, está, ala. 196 00:09:49,740 --> 00:09:52,900 La aplicación está igual a true. 197 00:09:52,900 --> 00:09:54,220 Está igual a true. 198 00:09:54,220 --> 00:09:55,660 Listo. 199 00:09:55,660 --> 00:09:58,940 Y ahora ya, ¿que la aplicación está? 200 00:09:58,940 --> 00:10:02,500 Pues, entonces, es cuando ya tengo que hacer todo el rollo, 201 00:10:02,500 --> 00:10:05,740 porque si no está, no hago nada. 202 00:10:05,740 --> 00:10:08,260 ¿Que la aplicación está? 203 00:10:08,260 --> 00:10:12,300 Pues, entonces, me hago un array con una posición menos y copio 204 00:10:12,300 --> 00:10:17,620 el viejo en el nuevo, saltándome la que se llame así. 205 00:10:17,620 --> 00:10:23,140 Pues, entonces, ahora ya nos hacemos el array auxiliar, 206 00:10:23,140 --> 00:10:28,380 un array auxiliar de aplicaciones que tiene el tamaño de los 207 00:10:28,380 --> 00:10:37,020 instaladas menos 1, porque vamos a quitar 1. 208 00:10:37,020 --> 00:10:41,100 Ahora no vamos a ampliar 1, vamos a quitar 1, luego menos 1. 209 00:10:41,100 --> 00:10:47,620 Y ahora ya copiamos viejo en nuevo, 210 00:10:47,620 --> 00:10:58,700 sea menor que instaladas.length, incrementando i. 211 00:10:58,700 --> 00:11:01,580 Ahora, el viejo y el nuevo, esto ya lo he hecho otras veces, 212 00:11:01,580 --> 00:11:03,620 pero, bueno, es un poco más raro. 213 00:11:03,620 --> 00:11:07,580 El viejo y el nuevo van con índices distintos. 214 00:11:07,580 --> 00:11:14,140 Porque, entonces, i va a ser para el índice de instaladas y 215 00:11:14,140 --> 00:11:22,620 j va a ser para el índice de nuevo. 216 00:11:22,620 --> 00:11:25,580 Empiezan en 0, se van incrementando, 217 00:11:25,580 --> 00:11:27,460 ¿pero qué hacemos ahora? 218 00:11:27,460 --> 00:11:40,700 Si instaladas de i.getNombre es distinto del nombre, 219 00:11:40,700 --> 00:11:45,100 en ese caso copio un no aquí delante. 220 00:11:45,100 --> 00:11:52,060 En ese caso, perdón, me pasa de lista, este aquí no. 221 00:11:52,060 --> 00:12:04,700 En ese caso, aux de j igual a instaladas de i, 222 00:12:04,700 --> 00:12:10,540 y j lo incremento, y ya está. 223 00:12:14,060 --> 00:12:16,780 Bueno, y me faltaría, una vez que ya he hecho la copia, 224 00:12:16,780 --> 00:12:25,780 actualizar y que instaladas pase a ser aux, así. 225 00:12:25,780 --> 00:12:29,780 Vale, pues esto, creamos un array con una posición menos. 226 00:12:29,780 --> 00:12:31,580 Vamos recorriendo el array. 227 00:12:31,580 --> 00:12:34,820 Todas las aplicaciones que no estén se van guardando en 228 00:12:34,820 --> 00:12:39,740 posiciones consecutivas de j, donde j ha empezado en 0. 229 00:12:39,740 --> 00:12:43,180 Luego habrá solo una vez en la cual no entremos en este if, 230 00:12:43,180 --> 00:12:47,500 solo una vez no entremos en este if. 231 00:12:47,500 --> 00:12:51,620 O sea, j porque j es el índice de aux, 232 00:12:51,620 --> 00:12:55,220 que es que ese índice va a haber una vez que no tenga que 233 00:12:55,220 --> 00:12:57,900 saltar, que no salte, porque va a haber una vez que el if sea 234 00:12:57,900 --> 00:12:58,420 falso. 235 00:13:06,980 --> 00:13:12,260 Entonces, vamos a ir copiando todas, pero saltándonos una, 236 00:13:12,300 --> 00:13:15,540 solo saltándonos una, y en la que no saltamos el j no avanza. 237 00:13:15,540 --> 00:13:18,140 Claro, se queda ahí parado, el j no avanza. 238 00:13:18,140 --> 00:13:19,900 Por eso aquí no hemos puesto j más más, 239 00:13:19,900 --> 00:13:21,700 porque j no avanza siempre. 240 00:13:21,700 --> 00:13:25,140 J avanza solo cuando escribimos en ella, solo. 241 00:13:25,140 --> 00:13:27,340 El j no avanza en cada iteración. 242 00:13:27,340 --> 00:13:28,940 El j avanza solo cuando escribimos. 243 00:13:43,260 --> 00:13:46,660 Y, hombre, a ver, para que la aplicación no fuera tan coja, 244 00:13:46,660 --> 00:13:52,500 podríamos ponerle un System.out que en el caso de que no 245 00:13:52,500 --> 00:13:56,820 estuviera, me diga la aplicación no está. 246 00:13:56,820 --> 00:13:57,420 Algo, ¿no? 247 00:13:57,420 --> 00:14:01,700 Hombre, que saber si lo ha hecho o no lo ha hecho. 248 00:14:01,700 --> 00:14:07,100 La aplicación, si no está, perdón. 249 00:14:07,100 --> 00:14:08,100 O sea, esto en un lcd. 250 00:14:08,100 --> 00:14:16,900 Si no está, la aplicación no existe en el teléfono. 251 00:14:16,900 --> 00:14:18,860 Bueno, no está instalada, más que no existe. 252 00:14:24,860 --> 00:14:29,860 Y ya que nos ponemos, aquí, cuando ha terminado de borrarla, 253 00:14:29,860 --> 00:14:34,860 un siso que diga, ¿cuándo ha terminado de borrar la aplicación? 254 00:14:35,380 --> 00:14:36,940 Aquí, cuando ha terminado de borrarla, 255 00:14:36,940 --> 00:14:41,740 un siso que diga, uy, la aplicación se eliminó. 256 00:14:44,980 --> 00:14:46,740 La aplicación se desinstaló. 257 00:15:05,100 --> 00:15:08,020 Ala, pues ya está. 258 00:15:08,020 --> 00:15:10,660 Y así, hombre, siempre que una aplicación te dé información de 259 00:15:10,660 --> 00:15:15,140 lo que hace, pero cuando tú das una acción y se queda callado, 260 00:15:15,140 --> 00:15:17,860 pues, hombre, asumes que ha hecho lo que tenía que hacer. 261 00:15:17,860 --> 00:15:20,500 Pero, hombre, si te da una realimentación, mejor, ¿no? 262 00:15:20,500 --> 00:15:21,940 Que no que si se queda ahí callado. 263 00:15:25,140 --> 00:15:28,300 Igual, ya que nos ponemos, igual que en el de instalar 264 00:15:28,300 --> 00:15:32,420 aplicaciones, pues, en este de get up podríamos ponerle 265 00:15:32,460 --> 00:15:35,620 también system out que nos digan, ¿se ha instalado? 266 00:15:35,620 --> 00:15:36,980 ¿No se ha actualizado? 267 00:15:36,980 --> 00:15:39,380 Etcétera. 268 00:15:39,380 --> 00:15:41,700 Vamos a ponerlo rápidamente. 269 00:15:41,700 --> 00:15:42,220 Aquí. 270 00:15:46,300 --> 00:15:47,500 No voy a meter más basurilla. 271 00:15:47,500 --> 00:15:49,140 Como luego la vamos a ir comprobando. 272 00:15:49,140 --> 00:15:50,900 Vale, pues ya tenemos todos los métodos. 273 00:15:50,900 --> 00:15:53,100 Todos. 274 00:15:53,100 --> 00:15:55,540 Hemos trabajado directamente, hemos soltado el código allá a 275 00:15:55,540 --> 00:15:58,020 lo bestia, según se nos ha ido ocurriendo. 276 00:15:58,020 --> 00:16:03,780 Hombre, conviene siempre en un procedimiento de trabajo 277 00:16:03,780 --> 00:16:08,380 habitual, que luego nunca se hace así, nunca. 278 00:16:08,380 --> 00:16:10,700 Pero, si se trabaja en condiciones, 279 00:16:10,700 --> 00:16:12,900 en un equipo de trabajo que siga los protocolos, 280 00:16:12,900 --> 00:16:15,580 en una empresa que los siga, los tenga establecidos, 281 00:16:15,580 --> 00:16:18,220 lo normal es que a la vez que se hacen clases, 282 00:16:18,220 --> 00:16:19,900 se hagan clases de prueba en paralelo, 283 00:16:19,900 --> 00:16:22,020 que son las clases de test. 284 00:16:22,020 --> 00:16:24,140 Entonces, tú a la vez que haces una clase, 285 00:16:24,140 --> 00:16:27,140 pasas la clase de prueba, que está hecha exclusivamente para 286 00:16:27,220 --> 00:16:29,020 pasar la prueba. 287 00:16:29,020 --> 00:16:31,500 Entonces, todo eso implica que hay un equipo de pruebas que 288 00:16:31,500 --> 00:16:35,380 verifique que las clases de pruebas pasan todas las pruebas 289 00:16:35,380 --> 00:16:36,940 necesarias. 290 00:16:36,940 --> 00:16:39,660 Entonces, en un sitio en el que haya unos protocolos 291 00:16:39,660 --> 00:16:42,540 establecidos, pues, no se suelta todo el código. 292 00:16:42,540 --> 00:16:44,780 Muchos de nosotros, hemos hecho todas las clases a mogollón y 293 00:16:44,780 --> 00:16:46,900 ahora vamos a empezar a probar la aplicación. 294 00:16:46,900 --> 00:16:48,700 Pues, hombre, no. 295 00:16:48,700 --> 00:16:49,980 ¿Vale? 296 00:16:49,980 --> 00:16:53,060 Pero, luego, en la realidad, la mayoría de las veces, 297 00:16:53,060 --> 00:16:56,060 se trabaja así porque está solo uno ante el peligro. 298 00:16:56,260 --> 00:16:59,220 Hace esto y tú lo haces como te da la gana porque estás solo en 299 00:16:59,220 --> 00:17:01,380 todo el mogollón y haces lo que quieres. 300 00:17:01,380 --> 00:17:04,980 Más en las empresas pequeñas que en las grandes, claro. 301 00:17:04,980 --> 00:17:06,580 Bueno, pues, nosotros nos hemos lanzado, 302 00:17:06,580 --> 00:17:08,700 hemos soltado todas las clases y ahora vamos a probar a ver si 303 00:17:08,700 --> 00:17:10,740 esto nos salen errores por todos lados. 304 00:17:13,220 --> 00:17:19,340 En el else de abajo, en este, simplemente esto. 305 00:17:19,340 --> 00:17:22,500 Vale, y ahora ya sí que nos vamos a hacer un main. 306 00:17:22,500 --> 00:17:25,180 Venga, un main. 307 00:17:25,180 --> 00:17:28,380 Vamos a hacernos un móvil, perdón, 308 00:17:28,380 --> 00:17:30,860 un almacén con esas aplicaciones. 309 00:17:30,860 --> 00:17:34,100 Ahora vamos a crearnos un móvil de 30 gigas. 310 00:17:34,100 --> 00:17:36,300 Ala. 311 00:17:36,300 --> 00:17:39,100 El móvil de 30 gigas ya está creado. 312 00:17:39,100 --> 00:17:42,820 Le vamos a fijar a ese móvil este almacén. 313 00:17:42,820 --> 00:17:45,780 Vamos a ver ahora que esto ya comprobamos que sí, 314 00:17:45,780 --> 00:17:50,060 que navegábamos bien por el, veíamos el estatus, 315 00:17:50,060 --> 00:17:52,740 todo esto lo hicimos, pero, bueno, lo vamos a dejar, 316 00:17:52,740 --> 00:17:56,620 lo vamos a seguir manteniendo, que nos muestre el estatus del 317 00:17:56,620 --> 00:18:00,860 móvil y las aplicaciones que tiene. 318 00:18:00,860 --> 00:18:02,740 Ahora, ¿qué vamos a hacer? 319 00:18:02,740 --> 00:18:06,620 Vamos a instalar en nuestro móvil, por ejemplo, esta. 320 00:18:06,620 --> 00:18:07,700 Vamos a instalar esta. 321 00:18:07,700 --> 00:18:09,500 Es lo siguiente que vamos a hacer. 322 00:18:09,500 --> 00:18:16,340 Pues, venga, móvil.getApp, esta de aquí, 323 00:18:16,340 --> 00:18:17,740 que es la que está en el almacén. 324 00:18:17,740 --> 00:18:18,820 Vamos a instalarle esta. 325 00:18:22,740 --> 00:18:23,740 Vídeo. 326 00:18:23,740 --> 00:18:24,740 Pesadilla. 327 00:18:24,740 --> 00:18:25,740 Pesadilla. 328 00:18:25,740 --> 00:18:26,740 Pesadilla. 329 00:18:26,740 --> 00:18:27,740 Pesadilla. 330 00:18:27,740 --> 00:18:28,740 Pesadilla. 331 00:18:28,740 --> 00:18:29,740 Pesadilla. 332 00:18:29,740 --> 00:18:30,740 Pesadilla. 333 00:18:30,740 --> 00:18:31,740 Pesadilla. 334 00:18:31,740 --> 00:18:34,340 Me voy a morir porque tiene más tamaño que él. 335 00:18:34,340 --> 00:18:36,500 Efectivamente, elegido a lo mejor de todas. 336 00:18:36,500 --> 00:18:39,540 Venga, pues, vamos a ponerle 100. 337 00:18:39,540 --> 00:18:41,100 Vamos a ponerle 100. 338 00:18:41,100 --> 00:18:43,500 ¿Vale? 339 00:18:43,500 --> 00:18:48,620 Vale, entonces, va a poder hacerlo, se supone. 340 00:18:48,620 --> 00:18:53,540 Y instalamos aplicación. 341 00:18:53,540 --> 00:18:54,020 ¿Vale? 342 00:18:54,020 --> 00:18:55,940 ¿Qué más cosas podemos hacer después de haber instalado la 343 00:18:55,940 --> 00:18:56,460 aplicación? 344 00:18:56,460 --> 00:18:58,180 A ver si nos funciona. 345 00:18:58,180 --> 00:18:58,700 Móvil. 346 00:19:02,420 --> 00:19:03,180 Sí, sí, sí. 347 00:19:03,180 --> 00:19:04,060 Pero yo soy muy vaga. 348 00:19:04,060 --> 00:19:05,740 Creadlo vosotros y lo hacéis muy bonito. 349 00:19:05,740 --> 00:19:07,780 Yo quiero probar que lo que me he hecho funciona. 350 00:19:07,780 --> 00:19:10,580 Luego ya el menú y todo eso es hacer Shotakoy y Ray de 351 00:19:10,580 --> 00:19:12,540 siempre. 352 00:19:12,540 --> 00:19:14,340 Como me ponga yo a hacer a qué hora un menú, 353 00:19:14,340 --> 00:19:15,220 estamos hasta las 3. 354 00:19:15,220 --> 00:19:17,100 Entonces, vamos a probar que los métodos funcionan. 355 00:19:17,100 --> 00:19:19,420 Y luego ya si uno crea una interfaz bonita y todo eso, 356 00:19:19,420 --> 00:19:21,100 pues, fenomenal. 357 00:19:21,100 --> 00:19:21,580 ¿Vale? 358 00:19:21,580 --> 00:19:23,540 A ver qué más métodos podemos probar de móvil. 359 00:19:23,540 --> 00:19:33,460 Vamos a, venga, vamos a ahora hacerle el status. 360 00:19:33,460 --> 00:19:34,860 ¿Qué información nos saca? 361 00:19:34,860 --> 00:19:37,100 Interesante. 362 00:19:37,100 --> 00:19:39,660 Que podamos volver a comprobar. 363 00:19:39,660 --> 00:19:40,860 Ah, nos dicen las que tiene. 364 00:19:40,860 --> 00:19:42,260 Vamos a volver a mirar el status. 365 00:19:42,260 --> 00:19:43,300 Una vez que ya lo hemos instalado. 366 00:19:43,300 --> 00:19:44,380 A ver si lo ha hecho bien. 367 00:19:47,780 --> 00:19:50,220 Venga. 368 00:19:50,220 --> 00:19:52,980 Instalamos y miramos en qué estado se ha quedado. 369 00:19:52,980 --> 00:19:56,460 A ver si es verdad que lo ha hecho bien o mal. 370 00:19:56,460 --> 00:19:57,060 Vale. 371 00:19:57,060 --> 00:19:59,100 Ahora vamos a intentar instalar una que no quepa. 372 00:19:59,100 --> 00:20:00,620 Bueno, vamos a probar esto primero. 373 00:20:00,620 --> 00:20:04,020 Porque si esto ya no funciona, ya no vamos a volver locos. 374 00:20:04,020 --> 00:20:07,060 Venga, vamos a probarlo. 375 00:20:07,060 --> 00:20:09,220 Que esta es la parte más divertida. 376 00:20:12,700 --> 00:20:13,900 Vale. 377 00:20:13,900 --> 00:20:14,740 Este es el almacén. 378 00:20:14,740 --> 00:20:16,220 Tiene 0 aplicaciones. 379 00:20:16,260 --> 00:20:17,460 Estupendo. 380 00:20:17,460 --> 00:20:19,300 Y le quedan 100 gigas. 381 00:20:19,300 --> 00:20:22,860 Ahora, me saca 2 veces el mensaje, 382 00:20:22,860 --> 00:20:25,940 porque en status lo hicimos de 2 maneras distintas. 383 00:20:25,940 --> 00:20:27,340 Lo de la capacidad, ¿os acordáis? 384 00:20:27,340 --> 00:20:29,740 Por eso, mire, instalamos aplicación. 385 00:20:29,740 --> 00:20:32,300 Tiene 1 y le quedan 67. 386 00:20:32,300 --> 00:20:34,420 Muy bien, porque tenía 33. 387 00:20:34,420 --> 00:20:37,500 Bueno, oye, parece que lo de instalar aplicaciones está 388 00:20:37,500 --> 00:20:39,100 funcionando. 389 00:20:39,100 --> 00:20:41,740 Le queda 67. 390 00:20:41,740 --> 00:20:44,020 Vale, voy a comentar en el status, 391 00:20:44,020 --> 00:20:47,140 en el método de status, lo de que me, 392 00:20:47,140 --> 00:20:49,420 porque para que no me lo muestre 2 veces todo el rato. 393 00:20:51,980 --> 00:20:57,580 Como lo hicimos 2 veces distinto, de 2 maneras diferentes, 394 00:20:57,580 --> 00:21:02,140 status, pues, aquí lo comento para que no me lo muestre 2 395 00:21:02,140 --> 00:21:02,640 veces. 396 00:21:05,780 --> 00:21:07,460 Vale, pues, hasta aquí lo hace. 397 00:21:07,460 --> 00:21:11,900 Vamos a probar ahora a ponerle una que no quepa. 398 00:21:15,020 --> 00:21:26,140 A ver si de error o, pues, venga, 399 00:21:26,140 --> 00:21:29,260 a WhatsApp la vamos a cambiar para que tenga 90. 400 00:21:29,260 --> 00:21:32,020 Y así WhatsApp no va a caber. 401 00:21:32,020 --> 00:21:35,380 90, vale. 402 00:21:44,780 --> 00:21:47,380 Vamos a intentar meterle WhatsApp, que no le va a caber. 403 00:22:02,260 --> 00:22:04,260 Y vamos a volver a que me muestre su status. 404 00:22:08,540 --> 00:22:11,220 Y vuelvo a poner aquí, instalamos aplicación otra vez. 405 00:22:15,020 --> 00:22:16,020 Vale. 406 00:22:16,020 --> 00:22:17,500 A ver qué hace. 407 00:22:17,500 --> 00:22:20,460 Porque esto sí que ya puede ser más peligroso. 408 00:22:24,140 --> 00:22:25,580 Vale, pues, lo ha hecho bien. 409 00:22:25,580 --> 00:22:26,780 Tiene 0. 410 00:22:26,780 --> 00:22:27,860 Instalamos una. 411 00:22:27,860 --> 00:22:29,780 Ahora le quedan 67. 412 00:22:29,780 --> 00:22:33,420 Hemos instalado, intentado instalar la otra, 413 00:22:33,420 --> 00:22:34,900 pero lo ha hecho porque no le cabe. 414 00:22:34,900 --> 00:22:36,780 Entonces, sigue igual con una. 415 00:22:36,780 --> 00:22:39,540 Claro, por eso en el método getApp es el que yo dije, 416 00:22:39,540 --> 00:22:42,060 mejor si ponemos mensajitos de no se pudo instalar porque no 417 00:22:42,060 --> 00:22:43,260 cabía, no sé qué. 418 00:22:43,300 --> 00:22:46,420 Pero, bueno, hacerlo lo ha hecho bien. 419 00:22:46,420 --> 00:22:52,300 Vamos ahora a instalar una con una, claro, 420 00:22:52,300 --> 00:22:55,020 es una versión actualizada. 421 00:22:55,020 --> 00:23:01,940 Habría que cambiar el App Store otra vez. 422 00:23:01,940 --> 00:23:02,580 Vamos a ver. 423 00:23:06,460 --> 00:23:08,580 Vale, vamos ahora a este móvil. 424 00:23:13,380 --> 00:23:17,340 Móvil.getStore. 425 00:23:17,340 --> 00:23:20,380 Nos quedamos con sus aplicaciones. 426 00:23:24,260 --> 00:23:26,540 Lo digo porque voy a cambiar la versión de una para ponerla 427 00:23:26,540 --> 00:23:27,900 más actualizada. 428 00:23:27,900 --> 00:23:31,020 Entonces, por ejemplo, la de los OX Legends, 429 00:23:31,020 --> 00:23:32,700 que es la que habíamos instalado, ¿no? 430 00:23:32,700 --> 00:23:33,860 Ahí. 431 00:23:33,860 --> 00:23:38,460 Pues, le voy a poner luego una versión de 8. 432 00:23:38,460 --> 00:23:40,820 Le voy a poner una versión de 8. 433 00:23:40,820 --> 00:23:41,540 A ver. 434 00:23:41,540 --> 00:23:44,500 Entonces, a getStore. 435 00:23:44,500 --> 00:23:48,700 Los OX Legends es la 0 y la 1, la que está en la posición 1. 436 00:23:48,700 --> 00:23:50,420 Pues, esta que es los OX Legends, 437 00:23:50,420 --> 00:23:57,540 esta la voy a cambiar a la versión y le voy a poner la 8. 438 00:23:57,540 --> 00:23:59,860 La 8. 439 00:23:59,860 --> 00:24:02,420 Vale, luego he actualizado a lo bestia. 440 00:24:02,420 --> 00:24:05,780 He actualizado yo directamente a Capone, he actualizado. 441 00:24:05,780 --> 00:24:12,900 He simulado que en el almacén la aplicación 1, 442 00:24:12,900 --> 00:24:16,500 que es la de los OX Legends esa, la he puesto la versión 8. 443 00:24:16,500 --> 00:24:18,380 Y ahora voy a intentar instalarla otra vez en el 444 00:24:18,380 --> 00:24:18,880 móvil. 445 00:24:28,580 --> 00:24:30,860 Perdón, dices el enunciado. 446 00:24:30,860 --> 00:24:32,900 Sí, a ver, es que estoy pasando de enunciado. 447 00:24:32,900 --> 00:24:34,380 Estoy probando en un main. 448 00:24:34,380 --> 00:24:44,620 Estoy probando nuestras, como en todos los queis. 449 00:24:44,620 --> 00:24:47,540 A ver, queréis que hagamos el menú aquí tal cual. 450 00:24:53,580 --> 00:24:57,300 Claro, lo que pasa es que yo aquí me he ido directamente. 451 00:24:57,300 --> 00:24:58,780 Claro, yo es que me he ido a la 1. 452 00:24:58,780 --> 00:25:00,300 Tú tendrías que buscarla. 453 00:25:00,300 --> 00:25:01,860 Claro, tendrías que buscar, dijo, a las 4. 454 00:25:01,860 --> 00:25:04,020 Pues, en lugar de poner aquí el 1 a Capone que yo he puesto, 455 00:25:04,060 --> 00:25:06,380 actualiza la versión de la que está en posición 1. 456 00:25:06,380 --> 00:25:09,540 Pues, hombre, tendrías que buscarla para cambiar la versión 457 00:25:09,540 --> 00:25:10,580 de la que sea. 458 00:25:10,580 --> 00:25:11,700 Yo es que aquí he dicho. 459 00:25:11,700 --> 00:25:16,140 Pues, tendrías que hacer un pop en todos los queis. 460 00:25:16,140 --> 00:25:17,860 En el caso de mi de las 4. 461 00:25:17,860 --> 00:25:19,780 A ver, ¿en qué queis en concreto estás pensando? 462 00:25:19,780 --> 00:25:21,500 Es en cualquiera de los 4. 463 00:25:21,500 --> 00:25:24,220 Bueno, es que cada uno hará una cosa diferente. 464 00:25:24,220 --> 00:25:25,540 Ver las apps disponibles. 465 00:25:25,540 --> 00:25:28,940 Pues, recorrer de ese móvil su for de instaladas. 466 00:25:28,940 --> 00:25:29,940 Ya está. 467 00:25:29,940 --> 00:25:31,380 No, pero no te estoy diciendo eso. 468 00:25:31,380 --> 00:25:32,780 Entonces, es que no te entiendo. 469 00:25:32,980 --> 00:25:35,380 Cualquiera de las 4, si tú eliges cualquiera de las 4, 470 00:25:35,380 --> 00:25:40,100 eliges ver las apps disponibles o meter una o borrar una. 471 00:25:40,100 --> 00:25:42,660 Que cuando tú elijas cualquiera de esas 4. 472 00:25:42,660 --> 00:25:44,220 Esas 4 opciones del menú. 473 00:25:44,220 --> 00:25:44,720 Sí. 474 00:25:44,720 --> 00:25:45,220 Sí. 475 00:25:45,220 --> 00:25:49,860 Si yo sí, tiene que coger una rando, una aplicación rando, 476 00:25:49,860 --> 00:25:51,460 e incrementar la versión en el móvil. 477 00:25:51,460 --> 00:25:54,060 Eso es lo que dice. 478 00:25:54,060 --> 00:25:58,380 Entonces, mi pregunta es, ¿tienes que hacer ese for en busca 479 00:25:58,380 --> 00:26:02,740 de todas las aplicaciones para aumentarla en 1 alternamente 480 00:26:03,540 --> 00:26:04,780 en todos los cases? 481 00:26:08,060 --> 00:26:09,340 A ver, es que no te entiendo. 482 00:26:09,340 --> 00:26:09,860 Vamos a ver. 483 00:26:09,860 --> 00:26:11,660 Cada vez que el usuario hace una operación. 484 00:26:11,660 --> 00:26:13,340 Ya. 485 00:26:13,340 --> 00:26:15,100 A ver, lo que pasa es que Estefano nos explica como un 486 00:26:15,100 --> 00:26:15,660 libro abierto. 487 00:26:15,660 --> 00:26:16,820 Vamos a ver. 488 00:26:16,820 --> 00:26:19,020 Cada vez que el usuario hace una operación cualquiera de estas 489 00:26:19,020 --> 00:26:20,780 4, el programa debe elegir una. 490 00:26:20,780 --> 00:26:21,300 Ah, vale. 491 00:26:21,300 --> 00:26:23,300 Te refieres a esto de este párrafo de abajo. 492 00:26:23,300 --> 00:26:24,860 Vale, vale. 493 00:26:24,860 --> 00:26:26,860 El programa debe elegir unas aplicaciones aleatoriamente. 494 00:26:26,860 --> 00:26:27,820 Efectivamente. 495 00:26:27,820 --> 00:26:28,580 Claro. 496 00:26:28,580 --> 00:26:29,780 Sí. 497 00:26:29,780 --> 00:26:30,620 Eso es lo que pide. 498 00:26:30,940 --> 00:26:33,460 Tienes que hacer un for que recorra todas las aplicaciones 499 00:26:33,460 --> 00:26:35,540 de la App Store y elegir alternamente una e 500 00:26:35,540 --> 00:26:36,340 incrementarla. 501 00:26:36,340 --> 00:26:37,620 Bueno, no que las recorra. 502 00:26:37,620 --> 00:26:40,220 Tú eliges aleatoriamente una generándola con el random. 503 00:26:40,220 --> 00:26:42,940 Y te vas a esa tal cual. 504 00:26:42,940 --> 00:26:45,020 Pero no es que tengas que recogerlo antes. 505 00:26:45,020 --> 00:26:47,380 O sea, este 1, yo he puesto 1 tal cual, 506 00:26:47,380 --> 00:26:49,380 pero podía haber puesto un más random delante. 507 00:26:49,380 --> 00:26:50,020 Y ya está. 508 00:26:50,020 --> 00:26:50,520 Nada más. 509 00:26:53,220 --> 00:26:53,720 ¿Vale? 510 00:26:54,720 --> 00:26:57,520 A ver, que si queréis, hacemos esto tal cual está. 511 00:26:57,520 --> 00:27:01,520 Si nos da tiempo, eso es las 13 y 11. 512 00:27:01,520 --> 00:27:03,680 A ver, que a mí lo que me parecía interesante es probar 513 00:27:03,680 --> 00:27:06,320 los métodos que hemos hecho para ver qué funcionan esos métodos. 514 00:27:06,320 --> 00:27:10,080 Pero si queréis, hacemos esta interfaz así tal cual. 515 00:27:10,080 --> 00:27:11,400 Venga, vamos a hacerla. 516 00:27:11,400 --> 00:27:13,640 Vamos a hacerla así tal cual la pide. 517 00:27:13,640 --> 00:27:14,360 Vamos a ver. 518 00:27:16,920 --> 00:27:17,720 Si tiempo tenemos. 519 00:27:18,080 --> 00:27:18,920 Si tiempo tenemos. 520 00:27:22,080 --> 00:27:22,580 Vale. 521 00:27:22,580 --> 00:27:24,520 Nuestro main. 522 00:27:24,520 --> 00:27:27,920 Vamos a la clase prueba, crea un app store con varias apps 523 00:27:27,920 --> 00:27:28,420 dentro. 524 00:27:28,420 --> 00:27:28,920 Vale. 525 00:27:28,920 --> 00:27:35,920 Esa parte ya la teníamos hecha, que es esta. 526 00:27:35,920 --> 00:27:39,520 Esa parte ya la tenemos. 527 00:27:39,520 --> 00:27:43,120 Siguiente, crea un móvil con 30 gigas. 528 00:27:43,120 --> 00:27:44,520 Esa parte también la teníamos. 529 00:27:48,240 --> 00:27:53,520 Siguiente, crea un móvil con 30. 530 00:27:53,520 --> 00:27:55,600 Luego, si tenemos que cambiarlo, pues lo cambiamos. 531 00:27:55,600 --> 00:27:57,480 Venga, crea un móvil con 30. 532 00:27:57,480 --> 00:27:58,840 Esa parte ya la tenemos. 533 00:27:58,840 --> 00:28:00,320 Vale. 534 00:28:00,320 --> 00:28:03,640 Y ahora, crea un móvil con 30 gigas. 535 00:28:03,640 --> 00:28:04,140 Vale. 536 00:28:04,140 --> 00:28:05,160 Y ahora, hacemos el menú. 537 00:28:05,160 --> 00:28:07,800 Venga, vamos a hacer el menú y a ver qué interpretamos de este 538 00:28:07,800 --> 00:28:08,360 menú. 539 00:28:08,360 --> 00:28:11,480 Tenemos nuestro móvil de 30 gigas y un almacén. 540 00:28:11,480 --> 00:28:14,560 Pues, venga. 541 00:28:14,560 --> 00:28:17,120 La opción del menú va a tener que estar declarada afuera. 542 00:28:17,120 --> 00:28:20,120 Eso ya lo sabemos. 543 00:28:20,120 --> 00:28:24,960 Entonces, ya aprovechamos y la declaramos fuera. 544 00:28:24,960 --> 00:28:32,760 Y ahora ya, las opciones van a ser, opción 1, 545 00:28:32,760 --> 00:28:35,200 ver apps disponibles del móvil. 546 00:28:35,200 --> 00:28:38,320 Pues, bueno, esa va a ser sencilla. 547 00:28:38,320 --> 00:28:40,560 Ver apps disponibles en el teléfono. 548 00:28:40,560 --> 00:28:41,280 Vale. 549 00:28:41,280 --> 00:28:41,960 Opción 2. 550 00:28:47,640 --> 00:28:51,840 Meter una app en un teléfono. 551 00:28:51,840 --> 00:28:54,280 Que aquí es donde habrá que generar aleatoriamente cuál de 552 00:28:54,280 --> 00:28:55,040 ellas. 553 00:28:55,040 --> 00:28:56,760 Vale. 554 00:28:56,760 --> 00:28:58,680 En lugar de una capón, que yo he dicho la 1, 555 00:28:58,680 --> 00:28:59,920 pues generamos una aleatoria. 556 00:28:59,920 --> 00:29:02,600 Ya está. 557 00:29:02,600 --> 00:29:04,560 Ver apps disponibles. 558 00:29:04,560 --> 00:29:07,480 Pues, instalar app. 559 00:29:07,480 --> 00:29:09,360 Queda más bonito. 560 00:29:09,360 --> 00:29:11,920 Instalar app en teléfono. 561 00:29:12,320 --> 00:29:13,120 Opción 3. 562 00:29:24,280 --> 00:29:26,040 Opción 3. 563 00:29:26,040 --> 00:29:27,920 Borrar una. 564 00:29:27,920 --> 00:29:31,040 Que de nuevo habrá que generar aleatoriamente cuál. 565 00:29:31,040 --> 00:29:32,360 Parece ser que era la intención. 566 00:29:32,360 --> 00:29:34,920 En lugar de pedirla por teclado, para que fuera más cómoda la 567 00:29:34,920 --> 00:29:36,880 prueba. 568 00:29:36,880 --> 00:29:39,320 Eliminar app. 569 00:29:39,320 --> 00:29:44,080 Y ahora, la opción 4. 570 00:29:44,080 --> 00:29:46,400 Eliminar una app del teléfono. 571 00:29:46,400 --> 00:29:49,680 La opción 4 va a ser comprobar el estado del móvil. 572 00:29:54,760 --> 00:29:59,360 Que es comprobar status. 573 00:29:59,360 --> 00:29:59,840 Vale. 574 00:29:59,840 --> 00:30:04,240 Entonces, ver apps disponibles y comprobar status, no hay duda. 575 00:30:04,240 --> 00:30:05,760 Se hace y ya está. 576 00:30:05,760 --> 00:30:07,880 Entonces, instalar app y eliminar app, 577 00:30:07,880 --> 00:30:09,720 viene la pregunta, ¿vale? 578 00:30:09,720 --> 00:30:10,720 Pero, ¿cuál? 579 00:30:10,720 --> 00:30:12,240 ¿Cuál instalo de todas las que tengo? 580 00:30:12,240 --> 00:30:13,880 ¿O cuál elimino de todas las que tengo? 581 00:30:13,880 --> 00:30:16,280 Ahí es por lo que aporta en el párrafo siguiente. 582 00:30:16,280 --> 00:30:19,280 Dice, en lugar de pedir por teclado, ¿qué app quieres 583 00:30:19,280 --> 00:30:20,240 instalar? 584 00:30:20,240 --> 00:30:21,280 ¿Qué app quieres borrar? 585 00:30:21,280 --> 00:30:24,920 En lugar de pedirlo, genera aleatoriamente un número y es. 586 00:30:24,920 --> 00:30:26,200 ¿Vale? 587 00:30:26,200 --> 00:30:28,920 Simplemente para hacer la interfaz, la prueba más cómoda, 588 00:30:28,920 --> 00:30:30,520 y no tener que meterla por teclado. 589 00:30:30,520 --> 00:30:31,000 ¿Vale? 590 00:30:31,000 --> 00:30:34,000 Por eso es por lo que incorpora el texto que está después. 591 00:30:34,000 --> 00:30:34,500 ¿Verdad? 592 00:30:37,640 --> 00:30:38,560 A ver, espera. 593 00:30:38,560 --> 00:30:40,840 El programa debe elegir una de las 4 aleatoriamente. 594 00:30:48,000 --> 00:30:49,200 Vale. 595 00:30:49,200 --> 00:30:53,600 Y luego, además, cada vez que se elija una cualquiera de las 4, 596 00:30:53,600 --> 00:30:58,080 entonces, el programa incrementa. 597 00:30:58,080 --> 00:30:59,080 ¿Son de 1? 598 00:30:59,080 --> 00:31:00,040 A ver qué tal está. 599 00:31:00,040 --> 00:31:03,040 ¿Vale? 600 00:31:03,040 --> 00:31:03,520 Vale. 601 00:31:03,520 --> 00:31:07,800 Entonces, interpreto de este enunciado que todas las, 602 00:31:07,800 --> 00:31:09,240 incrementar su versión de 1. 603 00:31:09,240 --> 00:31:10,720 Pero, ¿la versión de quién? 604 00:31:10,720 --> 00:31:11,840 ¿De cualquiera? 605 00:31:11,840 --> 00:31:13,120 No, es decir, aleatoriamente. 606 00:31:13,120 --> 00:31:13,600 Ah, vale. 607 00:31:13,600 --> 00:31:16,000 De una cualquiera, elegida aleatoriamente, 608 00:31:16,000 --> 00:31:18,840 incrementa su versión en 1, no de 1. 609 00:31:18,840 --> 00:31:19,520 Vale, vale, vale. 610 00:31:19,520 --> 00:31:20,520 Es que eso está en italiano. 611 00:31:20,520 --> 00:31:21,000 Un momento. 612 00:31:21,000 --> 00:31:23,480 Incrementa su versión en 1. 613 00:31:23,480 --> 00:31:24,880 Vale, vale. 614 00:31:24,880 --> 00:31:27,600 Elige aleatoriamente una versión y la incrementa en 1 unidad. 615 00:31:27,600 --> 00:31:28,800 Ahora ya lo entendemos mejor. 616 00:31:28,800 --> 00:31:29,960 Actuando en el objeto visto. 617 00:31:29,960 --> 00:31:31,160 Vale, eso está claro. 618 00:31:31,160 --> 00:31:34,000 Esa no la pide, se ejecuta secretamente patatín. 619 00:31:34,000 --> 00:31:34,680 Vale, ya está. 620 00:31:34,680 --> 00:31:35,520 Ya está entendido. 621 00:31:35,520 --> 00:31:36,020 Vale. 622 00:31:36,020 --> 00:31:39,400 INTERLOCUTOR 1 Sí, sí, sí, sí. 623 00:31:39,400 --> 00:31:40,040 Tiene razón. 624 00:31:40,040 --> 00:31:40,520 Sí, sí. 625 00:31:40,520 --> 00:31:41,640 Vale. 626 00:31:41,640 --> 00:31:45,080 Vale, entonces, meter y borrar, hay que pedírselo al usuario, 627 00:31:45,080 --> 00:31:46,680 hay que pedírselo a cualquiera. 628 00:31:46,680 --> 00:31:49,760 Y el aleatorio es, cada vez que das a una opción, 629 00:31:49,760 --> 00:31:53,000 incrementas una cualquiera aleatoriamente en 1 unidad. 630 00:31:53,000 --> 00:31:55,280 Vale, vale, vale. 631 00:31:55,280 --> 00:31:56,720 He entendido el enunciado. 632 00:31:56,720 --> 00:31:57,240 Vale, bueno. 633 00:31:57,240 --> 00:32:02,640 Pues, entonces, a ver, esto ya se nos queda. 634 00:32:02,640 --> 00:32:05,400 Yo voy a importar la clase teclado para olvidarme de los 635 00:32:05,400 --> 00:32:07,800 next line, etcétera, etcétera. 636 00:32:07,800 --> 00:32:19,680 Entonces, me voy a mi proyecto, ejercicio móviles, buildpad, 637 00:32:19,680 --> 00:32:21,480 configure buildpad, ¿vale? 638 00:32:21,480 --> 00:32:26,200 Y aquí en el classpad le añado un jar externo que lo tengo en 639 00:32:26,200 --> 00:32:30,440 el escritorio y que es este. 640 00:32:30,440 --> 00:32:33,160 Y así, mucho más fácil, todo y más bonito. 641 00:32:36,480 --> 00:32:38,640 Vale, porque para eso hicimos esa clase. 642 00:32:38,640 --> 00:32:42,320 El que quiera usar el escáner, pues, bueno, pero. 643 00:32:42,320 --> 00:32:45,720 Venga, pues, hala, leemos opción. 644 00:32:45,720 --> 00:32:52,960 Opción igual a teclado punto leer entero. 645 00:32:56,960 --> 00:33:03,160 A ver, libraries, teclado, utilidades, teclado. 646 00:33:03,160 --> 00:33:05,920 Vale. 647 00:33:05,920 --> 00:33:07,440 Import. 648 00:33:07,440 --> 00:33:08,840 Voy a importarla. 649 00:33:09,840 --> 00:33:25,240 Import utilidades, teclado punto utilidades. 650 00:33:31,640 --> 00:33:33,120 ¿Por qué no me deja importarla? 651 00:33:39,840 --> 00:33:41,920 No, es nota accesible. 652 00:33:46,440 --> 00:33:51,640 Un teclado, public teclado, si está aquí. 653 00:33:51,640 --> 00:33:52,520 Y leer entero. 654 00:34:05,000 --> 00:34:05,920 Sí, lo acabo de hacer. 655 00:34:05,920 --> 00:34:08,360 Si es que, de hecho, está ya ahí en referencias librarias, 656 00:34:08,360 --> 00:34:08,860 ahí. 657 00:34:14,320 --> 00:34:17,720 Si es que, está igual que aquí. 658 00:34:17,720 --> 00:34:21,320 Y aquí la podíamos usar sin problema. 659 00:34:21,320 --> 00:34:25,240 En el main, veis, la estábamos usando exactamente igual. 660 00:34:25,240 --> 00:34:27,400 En el proyecto de arriba, en el de clientes pedidos. 661 00:34:37,520 --> 00:34:38,000 Sí, sí, sí. 662 00:34:38,000 --> 00:34:39,560 Si es que me la ha añadido ya el pad. 663 00:34:39,560 --> 00:34:44,520 Se ve aquí, que ya está con el simbolito de alumno de esto. 664 00:34:44,520 --> 00:34:47,080 Pero vamos a ver, la voy a quitar. 665 00:34:47,080 --> 00:34:47,960 La quito de ahí. 666 00:34:54,080 --> 00:34:59,040 A ver si va a ser porque tengo el módule info. 667 00:34:59,040 --> 00:35:06,040 Y esto no lo he metido en la estructura de, vamos a ver, 668 00:35:06,080 --> 00:35:06,600 configuré. 669 00:35:19,840 --> 00:35:26,360 Vale, entonces, teclado ahí, apply and close. 670 00:35:26,360 --> 00:35:28,600 Y ahora me voy a prueba móvil. 671 00:35:28,600 --> 00:35:32,040 Ah, vale, vale, no, es que no. 672 00:35:32,040 --> 00:35:34,000 Cuidado con lo del módule info, ¿eh? 673 00:35:34,000 --> 00:35:36,640 Que es que no, yo no había acordado de que lo había 674 00:35:36,640 --> 00:35:37,760 creado. 675 00:35:37,760 --> 00:35:42,800 A ver, cuando hacéis aquí el añadir hearts a un buildpad, 676 00:35:42,800 --> 00:35:43,280 ¿vale? 677 00:35:45,920 --> 00:35:48,400 Aquí en configure buildpad, ¿vale? 678 00:35:48,400 --> 00:35:57,280 Veis que os aparecen, cuidado, un momentito, aquí. 679 00:35:57,280 --> 00:36:04,640 Vale, ¿veis que aquí os aparecen dos cosas? 680 00:36:04,640 --> 00:36:08,480 ClassPath, que es la variable de entorno que tiene todas las 681 00:36:08,480 --> 00:36:12,520 rutas donde hay heart accesibles por defecto de toda la vida. 682 00:36:12,520 --> 00:36:16,360 Y el módule path, que es otra que se ha incorporado a partir 683 00:36:16,360 --> 00:36:19,440 de la versión Java 10, que incorpora una posibilidad que 684 00:36:19,440 --> 00:36:23,920 es de identificar paquetes a través de módulos, 685 00:36:23,920 --> 00:36:26,680 o tienes una aplicación con muchos paquetes, ¿vale? 686 00:36:26,680 --> 00:36:29,160 Nosotros no estamos usando ese formato, 687 00:36:29,160 --> 00:36:30,920 no lo estamos usando, ¿vale? 688 00:36:30,920 --> 00:36:33,080 Porque es una cosa que para empezar no se usa prácticamente, 689 00:36:33,080 --> 00:36:34,920 que se incorporó en Java 10 como marketing, 690 00:36:34,920 --> 00:36:37,760 como muchas otras cosas, y luego no se está usando mucho. 691 00:36:37,760 --> 00:36:39,440 Entonces, no lo estamos usando. 692 00:36:39,440 --> 00:36:42,920 Entonces, cuidado, porque si no lo estamos usando y lo metemos 693 00:36:42,920 --> 00:36:47,400 todo aquí en ClassPath, aseguraos de que vuestro proyecto 694 00:36:47,400 --> 00:36:49,760 no tiene el fichero módule info. 695 00:36:49,760 --> 00:36:52,600 Porque si lo tiene, él entonces va a esperar que esto esté aquí 696 00:36:52,600 --> 00:36:53,840 arriba. 697 00:36:53,840 --> 00:36:55,800 Y si no está aquí arriba, no lo encuentra, 698 00:36:55,800 --> 00:36:57,080 que es lo que me ha pasado a mí. 699 00:36:57,080 --> 00:37:01,040 Yo he hecho el proyecto rápidamente y lo he hecho con 700 00:37:01,040 --> 00:37:02,640 el módule info. 701 00:37:02,640 --> 00:37:05,200 Y al hacerlo así, al estar esto aquí abajo, no lo encuentra. 702 00:37:05,200 --> 00:37:06,480 Tenía que haberlo metido aquí arriba. 703 00:37:06,480 --> 00:37:08,160 Pero en lugar de meterlo aquí arriba, no. 704 00:37:08,160 --> 00:37:10,280 He quitado el módule info y listo. 705 00:37:10,280 --> 00:37:13,280 Cuidado con eso porque a veces da problemas. 706 00:37:13,280 --> 00:37:16,480 Aseguraos por ahora, y por ahora y casi siempre, 707 00:37:16,480 --> 00:37:19,040 porque no creo que trabajéis mucho con el módule ese en 708 00:37:19,040 --> 00:37:21,200 vuestra vida. 709 00:37:21,200 --> 00:37:24,200 Pues, cuando uno crea un proyecto a, 710 00:37:24,320 --> 00:37:25,960 vale, sí, ya me acuerdo. 711 00:37:25,960 --> 00:37:27,800 Claro, te da la opción de crear módule info. 712 00:37:27,800 --> 00:37:29,000 Nosotros la desmarcamos. 713 00:37:29,000 --> 00:37:30,840 Si no la desmarcas, te lo crea. 714 00:37:30,840 --> 00:37:33,320 Y puede tener problemas entonces para encontrar rutas. 715 00:37:33,320 --> 00:37:36,480 Puede tenerlo porque las va a buscar en el módule de path. 716 00:37:36,480 --> 00:37:38,120 Que verá lo que me pasaba a mí. 717 00:37:38,120 --> 00:37:42,120 Vale, pues, entonces, nos vamos a nuestro menú este de aquí. 718 00:37:42,120 --> 00:37:45,840 Entonces, este ya me encuentra. 719 00:37:45,840 --> 00:37:49,280 Teclado, punto, leer entero, ala. 720 00:37:49,280 --> 00:37:53,480 Y ahora ya sí hacemos el switch case. 721 00:37:53,480 --> 00:38:04,400 Vale, en el caso de que la opción sea patatín en el caso 1, 722 00:38:04,400 --> 00:38:05,400 hacemos lo que sea. 723 00:38:08,400 --> 00:38:12,840 En el caso 2, hacemos lo que sea. 724 00:38:16,160 --> 00:38:21,640 En el caso 3, hacemos lo que sea. 725 00:38:21,640 --> 00:38:25,400 Y en el caso 4, hacemos lo que sea. 726 00:38:27,960 --> 00:38:32,440 Vale, entonces, vamos a hacer un salir, 727 00:38:32,440 --> 00:38:34,880 que siempre es buena idea. 728 00:38:34,880 --> 00:38:37,240 Y un default, que siempre es buena idea también. 729 00:38:44,400 --> 00:38:46,680 Y aquí, este es el fin del switch. 730 00:38:52,640 --> 00:38:55,400 Y este es el fin del do, que va con el while. 731 00:38:55,400 --> 00:39:05,480 Mientras la opción sea distinta de la de salir, que es la 5. 732 00:39:05,480 --> 00:39:07,040 ¿Por qué me ha puesto ahí unas llaves? 733 00:39:07,040 --> 00:39:09,680 Yo quiero esto. 734 00:39:09,680 --> 00:39:11,080 Esto. 735 00:39:11,080 --> 00:39:14,320 Mientras la opción sea diferente de la 5, que es la de salir. 736 00:39:14,320 --> 00:39:16,320 Y mi opción 5, pues, lo único que va a hacer, 737 00:39:16,320 --> 00:39:18,680 va a ser un cerrar programa. 738 00:39:22,200 --> 00:39:23,720 Cerrar programa. 739 00:39:23,720 --> 00:39:25,360 Vale. 740 00:39:25,360 --> 00:39:26,440 Pues, ala, ya está. 741 00:39:26,440 --> 00:39:30,320 Entonces, ahora, uno podría ir parte por parte. 742 00:39:30,320 --> 00:39:32,760 El caso 1 y el 4 son los más sencillos. 743 00:39:32,760 --> 00:39:34,520 El caso 1 y el 4 son los más fáciles, 744 00:39:34,520 --> 00:39:38,640 que es ver las que tiene y hacer el status. 745 00:39:38,640 --> 00:39:41,400 Y luego, aquí, habría que pedir el dato al usuario y hacer lo 746 00:39:41,400 --> 00:39:42,160 que fuera. 747 00:39:42,160 --> 00:39:44,400 Entonces, luego, aparte de esa opción en concreto, 748 00:39:44,400 --> 00:39:47,280 que es llamar a los métodos correspondientes, sin más, 749 00:39:47,280 --> 00:39:49,680 llamar a los métodos, dice, además de eso, 750 00:39:49,680 --> 00:39:52,920 vamos a meterle que haga una cosa rara adicional. 751 00:39:52,920 --> 00:40:01,000 Vamos a meterle, sea cual sea la opción que tú le des, 752 00:40:01,000 --> 00:40:04,720 vamos a elegir una de las aplicaciones del almacén y 753 00:40:04,720 --> 00:40:06,960 vamos a incrementar su versión. 754 00:40:06,960 --> 00:40:09,840 Sea cual sea la que elijamos. 755 00:40:09,840 --> 00:40:13,200 Pues, entonces, ¿cómo podríamos programar eso? 756 00:40:13,200 --> 00:40:14,360 ¿Cómo podríamos programarlo? 757 00:40:20,460 --> 00:40:20,960 ¿Vale? 758 00:40:20,960 --> 00:40:25,080 Podemos hacer, efectivamente, una función aparte a la que 759 00:40:25,080 --> 00:40:28,040 llamamos dentro de cada uno de ellos, ¿verdad? 760 00:40:28,040 --> 00:40:30,520 Y esa función elige número aleatorio, 761 00:40:30,520 --> 00:40:33,680 se va al Stories y le cambia la versión. 762 00:40:33,680 --> 00:40:36,120 No tiene más que hacer, le suma 1 a la que hubiera. 763 00:40:36,120 --> 00:40:36,600 ¿Vale? 764 00:40:36,600 --> 00:40:38,080 Es una forma de hacerlo. 765 00:40:38,080 --> 00:40:40,760 Es simplemente eso. 766 00:40:40,760 --> 00:40:41,260 ¿Vale? 767 00:40:41,260 --> 00:40:53,660 Entonces, eso podríamos hacer en el caso 1. 768 00:41:02,540 --> 00:41:03,040 ¿Vale? 769 00:41:06,580 --> 00:41:11,020 Entonces, lo ideal sería, uno dice, uy, qué bien, a ver si, 770 00:41:11,020 --> 00:41:17,220 ojalá yo tuviera aquí un método que me hiciera esto, ¿vale? 771 00:41:17,220 --> 00:41:19,780 Sea cual sea de las 4 opciones. 772 00:41:19,780 --> 00:41:23,460 En la 5, ya voy a seguir, no voy a hacer nada más. 773 00:41:23,460 --> 00:41:27,220 Y en default, lo que voy a hacer va a ser opción incorrecta. 774 00:41:34,540 --> 00:41:35,420 Vale. 775 00:41:35,420 --> 00:41:40,220 Pero, bueno, también podemos, en lugar de llamar al método en 776 00:41:40,220 --> 00:41:43,700 cada una de las opciones del switch, 777 00:41:43,700 --> 00:41:45,860 llamarlo cuando ha acabado el switch y ya está, ¿no? 778 00:41:45,860 --> 00:41:46,820 ¿No sería mejor? 779 00:41:46,820 --> 00:41:50,780 O sea, mi switch es, hago esto, esto, esto, vuelvo aquí y ahora 780 00:41:50,780 --> 00:41:51,900 me voy arriba. 781 00:41:51,900 --> 00:41:55,860 Pues, hombre, vamos a ponerlo abajo directamente, ¿no? 782 00:41:55,860 --> 00:41:58,060 Vamos a ponerlo abajo. 783 00:41:58,060 --> 00:42:00,340 Vamos a poner este método aquí abajo, mejor, casi. 784 00:42:03,020 --> 00:42:07,220 Cuando el switch ha terminado y antes de volver arriba otra 785 00:42:07,220 --> 00:42:11,620 vez, antes de volver arriba otra vez, cambia versión, ¿vale? 786 00:42:11,620 --> 00:42:18,420 Entonces, lo quito de aquí, de aquí, de aquí y de aquí, 787 00:42:18,420 --> 00:42:20,220 por ejemplo. 788 00:42:20,220 --> 00:42:21,660 Así que así me queda más bonito. 789 00:42:21,660 --> 00:42:23,700 Entonces, te lo haría cada vez que haces el menú. 790 00:42:23,700 --> 00:42:24,500 Claro. 791 00:42:24,500 --> 00:42:25,980 No cada vez que elijas una opción. 792 00:42:25,980 --> 00:42:27,220 Sí, eso iba a decir. 793 00:42:27,220 --> 00:42:31,340 Esto, lo que pasa es que te lo va a hacer, 794 00:42:31,340 --> 00:42:33,260 cuando lo haces aquí, te lo va a hacer también, 795 00:42:33,260 --> 00:42:35,620 pero aquí te da igual porque el programa termina. 796 00:42:35,620 --> 00:42:38,020 Entonces, te da lo mismo porque el programa ha terminado. 797 00:42:38,020 --> 00:42:40,020 Así, aquí te da igual que te lo haga. 798 00:42:40,020 --> 00:42:43,100 Porque aquí va a salir del while, va a hacer esto. 799 00:42:43,100 --> 00:42:46,020 Luego ya va a salir del while y ya el programa ha terminado. 800 00:42:46,020 --> 00:42:47,620 Entonces, te da igual. 801 00:42:47,620 --> 00:42:50,940 Y aquí, opción incorrecta y también te la va a actualizar. 802 00:42:50,940 --> 00:42:51,980 ¿Vale? ¿Qué queremos? 803 00:42:51,980 --> 00:42:52,900 No lo sé. 804 00:42:52,900 --> 00:42:55,100 Este faraólogo que os he denunciado, pues, da igual. 805 00:42:55,100 --> 00:42:58,540 Él pensaba, sea cual sea la opción que selecciones, 806 00:42:58,540 --> 00:43:00,260 además que te cambie la versión. 807 00:43:00,260 --> 00:43:02,700 Simplemente era una idea de meter un mecanismo que cambie la 808 00:43:02,700 --> 00:43:05,700 versión para poder probar e instalar aplicaciones que ya 809 00:43:05,700 --> 00:43:08,980 están, que se han actualizado, etcétera. 810 00:43:08,980 --> 00:43:11,060 ¿Vale? 811 00:43:11,060 --> 00:43:14,460 Da igual, como lo queramos, lo único es entender lo que estamos 812 00:43:14,460 --> 00:43:14,940 haciendo. 813 00:43:14,940 --> 00:43:19,420 Si lo ponemos aquí, sea cual sea la rama del switch por la que 814 00:43:19,420 --> 00:43:23,580 vaya, que en este caso tiene 6 ramas, 1, 2, 3, 4, 5 y defecto, 815 00:43:23,580 --> 00:43:29,260 sea cual sea la rama por la que vaya, antes de volver arriba, 816 00:43:29,260 --> 00:43:30,940 va a hacer un cambio aleatorio de una versión. 817 00:43:30,940 --> 00:43:33,420 Va a hacer un cambio aleatorio antes de volver arriba. 818 00:43:33,420 --> 00:43:34,340 ¿Vale? 819 00:43:34,340 --> 00:43:36,180 En el caso 5 va a hacer un cambio aleatorio, 820 00:43:36,180 --> 00:43:38,180 pero es que luego el dual va a salir fuera. 821 00:43:38,180 --> 00:43:40,140 Y en este caso va a hacer otro cambio aleatorio. 822 00:43:40,140 --> 00:43:42,220 Ese cambio aleatorio que más nos molesta, pues, 823 00:43:42,220 --> 00:43:44,260 que más da, ¿no? 824 00:43:44,260 --> 00:43:47,900 La idea es forzar cambios aleatorios de versiones. 825 00:43:47,900 --> 00:43:57,180 Entonces, este de aquí, este de aquí, fijaos lo que ha hecho. 826 00:43:57,180 --> 00:43:59,620 Cuando nos ha generado la cabecera, 827 00:43:59,620 --> 00:44:02,140 él ha puesto un static automáticamente. 828 00:44:02,140 --> 00:44:03,420 Anda, claro. 829 00:44:03,420 --> 00:44:07,220 Es que si no pone un static, sería completamente imposible 830 00:44:07,220 --> 00:44:08,140 llamarlo desde aquí. 831 00:44:08,140 --> 00:44:09,380 ¿Por qué? 832 00:44:09,380 --> 00:44:15,260 Porque este método está dentro del main, ¿vale? 833 00:44:15,260 --> 00:44:19,300 Entonces, el main es un método estático por definición. 834 00:44:19,300 --> 00:44:21,180 Tiene que ser obligatoriamente static. 835 00:44:21,180 --> 00:44:22,060 No hay elección. 836 00:44:22,060 --> 00:44:23,620 Eso no lo podemos cambiar. 837 00:44:23,620 --> 00:44:26,340 El método main tiene esa cabecera y no se puede cambiar 838 00:44:26,340 --> 00:44:27,780 por nada del mundo. 839 00:44:27,780 --> 00:44:31,180 Porque si se cambia, se convierte en otro método distinto que 840 00:44:31,180 --> 00:44:34,260 podemos llamar desde una clase, pero la máquina virtual nunca lo 841 00:44:34,260 --> 00:44:35,820 va a llamar ni lo va a encontrar. 842 00:44:35,820 --> 00:44:37,300 Entonces, eso por un lado, ¿verdad? 843 00:44:37,300 --> 00:44:38,340 Eso lo tenemos claro. 844 00:44:38,340 --> 00:44:40,940 El método main, que es el punto de arranque de una aplicación, 845 00:44:40,940 --> 00:44:44,460 el punto de arranque, tiene que tener siempre esta cabecera sí 846 00:44:44,460 --> 00:44:45,020 o sí. 847 00:44:45,020 --> 00:44:47,700 Eso es obligatorio, para que sea punto de arranque de una 848 00:44:47,700 --> 00:44:49,380 aplicación. 849 00:44:49,380 --> 00:44:51,420 Entonces, que tenga esta cabecera significa que es un 850 00:44:51,420 --> 00:44:53,460 método estático. 851 00:44:53,460 --> 00:44:54,300 Eso es obligatorio. 852 00:44:54,300 --> 00:44:55,860 No podemos elegir. 853 00:44:55,900 --> 00:44:59,060 Entonces, que sea un método estático significa que todo lo 854 00:44:59,060 --> 00:45:05,260 que yo invoque aquí tiene que ser estático. 855 00:45:05,260 --> 00:45:07,620 Todo lo que es local lo puede invocar sin problema. 856 00:45:07,620 --> 00:45:10,740 Pero si invoco algo de fuera, si invoco algo de fuera, 857 00:45:10,740 --> 00:45:11,780 tiene que ser estático. 858 00:45:11,780 --> 00:45:14,500 Porque si no, este método no podría serlo. 859 00:45:14,500 --> 00:45:16,700 Esa es la definición de un método estático, ¿no? 860 00:45:16,700 --> 00:45:18,580 Que no puede usar variables de la clase, 861 00:45:18,580 --> 00:45:21,780 que no sean estáticas, ni puede usar nada, que no sea estático. 862 00:45:21,780 --> 00:45:23,940 No puede. 863 00:45:23,980 --> 00:45:26,420 Claro, pues, entonces, si este método mío main, 864 00:45:26,420 --> 00:45:30,900 este método, resulta que está llamando a este otro, 865 00:45:30,900 --> 00:45:33,540 este tiene que ser estático si no lo puede llamarlo. 866 00:45:33,540 --> 00:45:35,180 Si ahí me da la gana cambiarle y decir, no, 867 00:45:35,180 --> 00:45:38,060 que no me gusta que sea estático, quiero que no lo sea. 868 00:45:38,060 --> 00:45:40,900 Dice, vale, pues, entonces, imposible ser llamado desde 869 00:45:40,900 --> 00:45:42,300 ahí, imposible. 870 00:45:42,300 --> 00:45:43,820 Lo siento mucho. 871 00:45:43,820 --> 00:45:47,540 Si quieres llamarlo desde aquí, como esto está dentro del main 872 00:45:47,540 --> 00:45:50,100 y el main obligatoriamente es estático, lo siento. 873 00:45:50,100 --> 00:45:52,620 No puedes llamar a nada que no lo sea. 874 00:45:52,620 --> 00:45:53,300 ¿Vale? 875 00:45:53,300 --> 00:45:57,620 Entonces, esto tiene que ser estático sí o sí. 876 00:45:57,620 --> 00:45:59,540 ¿Vale? 877 00:45:59,540 --> 00:46:03,060 Entonces, todas estas cosas son repeticiones sobre lo mismo, 878 00:46:03,060 --> 00:46:06,700 pero que luego no es tan fácil irlas teniendo claras y las 879 00:46:06,700 --> 00:46:08,860 teniendo entendidas. 880 00:46:08,860 --> 00:46:11,860 De nuevo, esto de aquí realmente tiene un aspecto que daña 881 00:46:11,860 --> 00:46:13,460 mucho la vista, ¿vale? 882 00:46:13,460 --> 00:46:17,540 Daña la vista porque recordad, en programación de datos 883 00:46:17,540 --> 00:46:22,220 objetos, los métodos no se llaman solos, nunca, jamás. 884 00:46:22,260 --> 00:46:24,340 Se llaman solos los métodos. 885 00:46:24,340 --> 00:46:29,620 A los métodos los llama alguien, un objeto. 886 00:46:29,620 --> 00:46:32,980 O si el método es estático, lo podemos llamar con el nombre de 887 00:46:32,980 --> 00:46:35,940 la clase a la que pertenece. 888 00:46:35,940 --> 00:46:40,460 Pero, claro, recordad que si no ponemos nada es porque es la 889 00:46:40,460 --> 00:46:42,620 opción por defecto. 890 00:46:42,620 --> 00:46:45,220 Pero eso no significa que no le llame nadie. 891 00:46:45,220 --> 00:46:46,340 Siempre le llama alguien. 892 00:46:46,340 --> 00:46:48,940 Si yo no pongo nada, es la opción por defecto. 893 00:46:48,940 --> 00:46:51,700 Entonces, yo aquí directamente me he quitado la opción por 894 00:46:51,700 --> 00:46:53,380 defecto. ¿Cuál sería? 895 00:46:53,380 --> 00:46:56,660 Este es un método estático, ¿de qué clase? 896 00:46:56,660 --> 00:46:58,500 Pues de la clase en la que está programada, 897 00:46:58,500 --> 00:47:00,460 que es PruebaMóvil. 898 00:47:00,460 --> 00:47:04,940 Luego, por defecto, lo que yo he puesto en realidad es lo mismo 899 00:47:04,940 --> 00:47:09,260 que si hubiera puesto esto, ¿vale? 900 00:47:12,100 --> 00:47:16,140 Esta es la verdadera llamada de este método, es esta. 901 00:47:16,140 --> 00:47:19,580 Método estático cambia versión de la clase PruebaMóvil. 902 00:47:19,620 --> 00:47:22,100 Esa es la verdadera llamada. 903 00:47:22,100 --> 00:47:28,060 Pero, repito, repito, como este método está en la misma clase, 904 00:47:28,060 --> 00:47:32,020 en la misma, por defecto, es el nombre de la clase en la que 905 00:47:32,020 --> 00:47:34,260 estoy, por defecto. 906 00:47:34,260 --> 00:47:39,060 Entonces, lo quito, lo puedo quitar, lo puedo quitar. 907 00:47:39,060 --> 00:47:42,100 Pero eso no significa que al método no le llame nadie, no. 908 00:47:42,100 --> 00:47:46,100 El método es un método estático de la clase PruebaMóvil, ¿vale? 909 00:47:46,100 --> 00:47:49,020 Pero como da la casualidad de que la clase PruebaMóvil es en 910 00:47:49,020 --> 00:47:51,300 la que estoy ahora metida, precisamente, 911 00:47:51,300 --> 00:47:53,980 es en la que estoy, como da la casualidad de que es en la que 912 00:47:53,980 --> 00:47:57,620 estoy, tengo la opción de quitarlo porque es la opción por 913 00:47:57,620 --> 00:48:00,980 defecto, porque es como el dis. 914 00:48:00,980 --> 00:48:04,980 Cuando yo hace una variable x en una clase y no le pongo dis, 915 00:48:04,980 --> 00:48:08,220 significa que entonces quien lo llama es el objeto en el que 916 00:48:08,220 --> 00:48:09,100 estás. 917 00:48:09,100 --> 00:48:11,020 Por defecto es el dis. 918 00:48:11,020 --> 00:48:12,020 Pues esto igual. 919 00:48:12,020 --> 00:48:14,420 Si yo no pongo nada a este método estático, 920 00:48:14,420 --> 00:48:16,700 lo llama la clase en la que estoy por defecto. 921 00:48:19,340 --> 00:48:22,540 Entonces, PruebaMóvil es opcional. 922 00:48:22,540 --> 00:48:24,940 Y la puedo quitar, pero tened claro que es que no es que el 923 00:48:24,940 --> 00:48:26,620 método no esté asociado a nada. 924 00:48:26,620 --> 00:48:30,180 Tiene que estar asociado a algo siempre. 925 00:48:30,180 --> 00:48:32,220 Vale, pues ahora ya podríamos hacer este método, 926 00:48:32,220 --> 00:48:36,860 cambia versión, que es que te genera uno aleatorio. 927 00:48:36,860 --> 00:48:41,020 Vamos a ver el, vale. 928 00:48:41,020 --> 00:48:44,380 Bueno, pues entonces, ahora, ¿este método qué tiene que 929 00:48:44,380 --> 00:48:45,220 hacer? 930 00:48:45,220 --> 00:48:48,740 Coger el almacén ese que hemos creado, 931 00:48:48,740 --> 00:48:51,940 seleccionar aleatoriamente una posición e incrementar la 932 00:48:51,940 --> 00:48:53,140 versión. 933 00:48:53,140 --> 00:48:54,580 Eso es lo que tiene que hacer, ¿no? 934 00:48:54,580 --> 00:48:56,860 Coger ese almacén que hemos creado, 935 00:48:56,860 --> 00:49:00,300 generar una posición aleatoria y la aplicación que está en esa 936 00:49:00,300 --> 00:49:04,340 posición aleatoria, sumarle un 1 a la versión. 937 00:49:04,340 --> 00:49:06,500 Vale, nos ponemos manos a la obra. 938 00:49:06,500 --> 00:49:09,820 Venga, voy a coger el almacén que he creado. 939 00:49:09,820 --> 00:49:13,620 Me voy donde está ese almacén, me voy para arriba y digo, 940 00:49:13,620 --> 00:49:16,260 este es el que he creado. 941 00:49:16,260 --> 00:49:16,760 Vale. 942 00:49:19,340 --> 00:49:19,820 ¿Qué pasa? 943 00:49:19,820 --> 00:49:22,060 Me viene el primer problema. 944 00:49:22,060 --> 00:49:25,620 ¿Y cómo puedo acceder yo aquí a esa variable? 945 00:49:25,620 --> 00:49:28,380 Completamente imposible. 946 00:49:28,380 --> 00:49:31,700 Esta variable es una variable local, esta, 947 00:49:31,700 --> 00:49:33,780 una variable local de este método main. 948 00:49:33,780 --> 00:49:35,780 Es una variable local de este método. 949 00:49:35,780 --> 00:49:38,460 Es una variable local cuyo ámbito de visibilidad es ese 950 00:49:38,460 --> 00:49:40,060 método. 951 00:49:40,060 --> 00:49:43,300 Luego, es imposible que yo desde aquí pueda acceder a esa 952 00:49:43,300 --> 00:49:43,900 variable. 953 00:49:43,900 --> 00:49:45,740 No puedo. 954 00:49:45,740 --> 00:49:47,660 Es imposible. 955 00:49:47,660 --> 00:49:51,180 Entonces, ¿cómo puedo hacer? 956 00:49:51,180 --> 00:49:52,940 ¿Qué truco puedo hacer? 957 00:49:52,940 --> 00:49:53,740 ¿Qué se os ocurre? 958 00:49:53,740 --> 00:49:59,340 ¿Qué sería lo natural para que este método tenga la opción de 959 00:49:59,340 --> 00:50:00,460 modificar ese objeto? 960 00:50:00,460 --> 00:50:01,100 ¿Qué es la idea? 961 00:50:10,140 --> 00:50:11,420 Pasárselo por parámetro. 962 00:50:13,540 --> 00:50:16,740 Desde aquí es imposible acceder a las variables locales del 963 00:50:16,740 --> 00:50:17,340 método de arriba. 964 00:50:17,340 --> 00:50:18,500 Es imposible. 965 00:50:18,500 --> 00:50:20,980 Un método tiene sus variables locales, las suyas. 966 00:50:20,980 --> 00:50:23,100 Otro método tiene sus variables locales, las suyas. 967 00:50:23,100 --> 00:50:24,860 Desde un método yo no puedo hacer las variables locales del 968 00:50:24,860 --> 00:50:25,820 otro, no puedo. 969 00:50:25,820 --> 00:50:28,300 Pero resulta que este método tiene que tocar las de este 970 00:50:28,300 --> 00:50:28,940 otro. 971 00:50:28,940 --> 00:50:30,620 Hombre, pues, dámelas. 972 00:50:30,620 --> 00:50:31,980 Pues, dámelas. 973 00:50:31,980 --> 00:50:35,580 Para eso está esto, para hacer los pasos de parámetros que 974 00:50:35,580 --> 00:50:36,820 este necesita. 975 00:50:36,860 --> 00:50:44,100 Entonces, si este necesita trabajar con esta variable, 976 00:50:44,100 --> 00:50:45,900 pues, habrá que pasársela. 977 00:50:45,900 --> 00:50:47,500 No puede acceder sino de otra manera. 978 00:50:47,500 --> 00:50:49,060 Se la tendrá que pasar. 979 00:50:49,060 --> 00:50:51,140 Se la tendrá que pasar. 980 00:50:51,140 --> 00:50:51,980 Ah, vale. 981 00:50:51,980 --> 00:50:54,260 Pues, entonces, ahora decimos, claro, 982 00:50:54,260 --> 00:50:57,500 es que este método necesita que yo le pase el almacén a 983 00:50:57,500 --> 00:50:58,620 modificar. 984 00:50:58,620 --> 00:50:59,940 Se lo tengo que pasar. 985 00:50:59,940 --> 00:51:01,700 Es que si no, no puede trabajar. 986 00:51:01,700 --> 00:51:03,220 ¿Cómo va a acceder? 987 00:51:03,220 --> 00:51:04,180 Claro. 988 00:51:04,180 --> 00:51:07,660 Entonces, ahora ya cuando yo lo llame, aquí, 989 00:51:07,660 --> 00:51:10,460 le pasaré el almacén concreto que quiero que modifique, 990 00:51:10,460 --> 00:51:11,820 que es este. 991 00:51:11,820 --> 00:51:12,860 Este. 992 00:51:12,860 --> 00:51:15,380 De hecho, para que se vea claro, le voy a cambiar a este el 993 00:51:15,380 --> 00:51:17,260 nombre. 994 00:51:17,260 --> 00:51:20,380 Le voy a llamar almacén para que se vea que es un parámetro, 995 00:51:20,380 --> 00:51:20,940 claro. 996 00:51:20,940 --> 00:51:25,220 Entonces, a este método le pasamos un almacén y hará ese 997 00:51:25,220 --> 00:51:26,620 cambio de versión. 998 00:51:26,620 --> 00:51:29,860 Y ahora, cuando le llamamos aquí arriba, 999 00:51:29,860 --> 00:51:33,140 le pasamos ya el almacén concreto al que queremos que le 1000 00:51:33,140 --> 00:51:34,780 cambie la versión. 1001 00:51:34,780 --> 00:51:36,220 Y no hay otra manera. 1002 00:51:36,220 --> 00:51:40,660 La información entre métodos, si este tiene que usar información 1003 00:51:40,660 --> 00:51:43,340 que tiene este otro dentro, este se la tendrá que pasar por 1004 00:51:43,340 --> 00:51:43,940 parámetro. 1005 00:51:43,940 --> 00:51:44,940 Es que no hay tutía. 1006 00:51:44,940 --> 00:51:46,900 Se la tendrá que pasar por parámetro. 1007 00:51:46,900 --> 00:51:47,420 No hay otra. 1008 00:51:50,900 --> 00:51:52,460 Ala, pues, ya que tenemos el almacén, 1009 00:51:52,460 --> 00:51:53,900 ya generamos una aleatoria. 1010 00:51:53,900 --> 00:51:56,500 Vamos a ver primero el numerito aleatorio. 1011 00:51:56,500 --> 00:51:57,420 Bueno, vamos a ver. 1012 00:51:57,420 --> 00:51:58,700 Posición aleatoria. 1013 00:51:58,700 --> 00:52:03,100 Venga, la posición aleatoria la vamos a hacer como que sea, 1014 00:52:04,060 --> 00:52:11,620 un aleatorio entre 1 y el tamaño del store. 1015 00:52:11,620 --> 00:52:19,980 Y el tamaño del store este es, el tamaño del store es, 1016 00:52:19,980 --> 00:52:24,420 store.getStore, que es las aplicaciones, .lens. 1017 00:52:28,300 --> 00:52:30,700 Vale. 1018 00:52:30,700 --> 00:52:32,940 Ese es el tamaño del store. 1019 00:52:32,940 --> 00:52:37,540 Y ahora esto ya lo pasamos a entero. 1020 00:52:43,980 --> 00:52:44,740 Ala, pues, ya está. 1021 00:52:44,740 --> 00:52:48,020 Ya tenemos una posición aleatoria generada entre 1 y el 1022 00:52:48,020 --> 00:52:52,100 tamaño del almacén, el tamaño de aplicaciones que hay. 1023 00:52:52,100 --> 00:52:54,940 Y ahora ya, pues, cogemos esa aplicación. 1024 00:52:54,940 --> 00:53:13,060 Y store.getStore de POS, pues, a este le vamos a fijar su 1025 00:53:13,060 --> 00:53:16,940 versión, a la que tenía más 1. 1026 00:53:16,940 --> 00:53:18,300 Y la que tenía cuál va a ser. 1027 00:53:25,460 --> 00:53:29,260 Sughet más 1. 1028 00:53:32,700 --> 00:53:35,020 Ala, estoy escribiendo ya todo seguido hacia lo bestia, 1029 00:53:35,020 --> 00:53:38,420 tratándoos ya como hiper, mega programadores que lo tenéis 1030 00:53:38,420 --> 00:53:39,020 todo claro. 1031 00:53:43,060 --> 00:53:47,780 Espera, voy a bajar abajo para que se vea esta línea entera. 1032 00:53:47,780 --> 00:53:49,020 Espera, espera. 1033 00:53:49,020 --> 00:53:50,820 Voy a bajar este paréntesis aquí para que se vea lo que he 1034 00:53:50,820 --> 00:53:52,380 puesto en el paréntesis. 1035 00:53:52,380 --> 00:53:53,340 Le eché ahí. 1036 00:53:55,940 --> 00:53:57,940 Vale, a ver, pues, ¿qué he hecho? 1037 00:53:57,940 --> 00:54:00,100 ¿Qué he hecho? 1038 00:54:00,100 --> 00:54:03,020 A la aplicación del almacén que está en esta posición 1039 00:54:03,020 --> 00:54:04,900 aleatoria, a la que está. 1040 00:54:04,900 --> 00:54:07,780 Le voy a cambiar la versión, luego llamo al set. 1041 00:54:07,780 --> 00:54:08,940 Esta es la aplicación. 1042 00:54:12,140 --> 00:54:14,500 Esta es la aplicación del almacén que está en esta 1043 00:54:14,500 --> 00:54:15,580 posición. 1044 00:54:15,580 --> 00:54:17,660 A esta le voy a cambiar la versión, 1045 00:54:17,660 --> 00:54:18,980 por eso le hago el set. 1046 00:54:18,980 --> 00:54:20,820 ¿Y qué versión le quiero poner? 1047 00:54:20,820 --> 00:54:23,660 La que tenía y la que tenía la obtengo, a su vez, 1048 00:54:23,700 --> 00:54:26,300 con el get, la que tenía más 1. 1049 00:54:36,020 --> 00:54:37,460 Pues, ya está. 1050 00:54:37,460 --> 00:54:42,500 A esta aplicación le hago un set de su versión poniéndole la que 1051 00:54:42,500 --> 00:54:47,420 tuviera, que la que tuviera la saco con el get, más 1. 1052 00:54:47,420 --> 00:54:50,300 Entonces, ya he incrementado en 1 la versión de la aplicación 1053 00:54:50,300 --> 00:54:55,180 que está en la posición esta que he generado aleatoriamente. 1054 00:54:55,180 --> 00:54:57,620 Y como estoy pasando objetos, trabajando con objetos, 1055 00:54:57,620 --> 00:54:59,780 el paso es por referencia. 1056 00:54:59,780 --> 00:55:03,620 Por si recordáis, significa que como yo estoy pasando la 1057 00:55:03,620 --> 00:55:05,820 dirección de memoria del almacén, 1058 00:55:05,820 --> 00:55:08,940 los cambios que haga a partir de esta copia de la dirección, 1059 00:55:08,940 --> 00:55:11,860 los hago en el almacén real, porque el parámetro siempre es 1060 00:55:11,860 --> 00:55:13,700 una copia, pero es una copia de la dirección, 1061 00:55:13,700 --> 00:55:15,860 apunta al mismo sitio. 1062 00:55:15,860 --> 00:55:19,100 Si esto no fuera una variable objeto, sino que fuera un int, 1063 00:55:19,100 --> 00:55:22,260 cualquier cambio que yo hiciera aquí no se guardaría en el 1064 00:55:22,260 --> 00:55:23,700 parámetro que yo paso. 1065 00:55:23,700 --> 00:55:26,220 Pero como esto es un objeto, estoy pasando la dirección. 1066 00:55:26,220 --> 00:55:29,700 Lo estoy apuntando al mismo sitio. 1067 00:55:29,700 --> 00:55:33,940 Bueno, pues, esta parte de cambiar versión que sume 1 a, 1068 00:55:33,940 --> 00:55:37,980 pues, a la ya está y la hacemos, sea cual sea la opción del menú, 1069 00:55:37,980 --> 00:55:40,060 la hacemos. 1070 00:55:40,060 --> 00:55:46,140 Y ahora ya, pues, se trata de programar las acciones. 1071 00:55:46,140 --> 00:55:48,260 Y ya está, nada más. 1072 00:55:48,300 --> 00:55:54,340 Entonces, ver las app disponibles del móvil. 1073 00:55:54,340 --> 00:55:57,460 Bueno, pues, ver las app disponibles del móvil. 1074 00:55:57,460 --> 00:56:01,380 Pues, ver las app disponibles. 1075 00:56:01,380 --> 00:56:04,380 A ver, ¿móvil tiene algún método para ver las app disponibles o 1076 00:56:04,380 --> 00:56:07,500 la recorro? 1077 00:56:07,500 --> 00:56:09,220 Bueno, las app disponibles del móvil, 1078 00:56:09,220 --> 00:56:12,980 yo creo que se refiere no a las instaladas, sino a las que tú, 1079 00:56:12,980 --> 00:56:15,500 creo que se refiere a llamar a este método, ¿no? 1080 00:56:15,500 --> 00:56:17,580 A navegar, creo que se refiere a ese. 1081 00:56:17,620 --> 00:56:22,500 Pues, venga, vamos a ver las app disponibles. 1082 00:56:22,500 --> 00:56:26,820 Vamos a navegar por ese teléfono. 1083 00:56:26,820 --> 00:56:28,420 Entonces, mi teléfono, ¿cómo se llama? 1084 00:56:28,420 --> 00:56:30,100 Se llama móvil. 1085 00:56:30,100 --> 00:56:33,940 Pues, móvil.navegarappstore. 1086 00:56:33,940 --> 00:56:35,740 Ala, ya está. 1087 00:56:35,740 --> 00:56:37,940 Con este veré las disponibles. 1088 00:56:37,940 --> 00:56:41,500 Ver el status, esa a mí es la opción más fácil. 1089 00:56:41,500 --> 00:56:43,740 Es móvil, status. 1090 00:56:43,740 --> 00:56:46,300 Vale. 1091 00:56:46,300 --> 00:56:47,060 Móvil, status. 1092 00:56:47,060 --> 00:56:49,580 Lo que pasa es que creo que lo devolvía a un stream, ¿no? 1093 00:56:49,580 --> 00:56:51,420 O no, lo mostraba por consola. 1094 00:56:51,420 --> 00:56:52,940 Vamos a ver. 1095 00:56:52,940 --> 00:56:53,440 Status. 1096 00:56:56,900 --> 00:57:00,020 No, lo mostraba por consola. 1097 00:57:00,020 --> 00:57:01,300 Vale, a ver. 1098 00:57:01,300 --> 00:57:05,980 Vamos a probar, que esto ya es mucho pedir. 1099 00:57:05,980 --> 00:57:07,700 Vamos a probar estas 2 opciones. 1100 00:57:07,700 --> 00:57:12,100 A ver si nos saltan cosas rojas o que nos salta. 1101 00:57:12,100 --> 00:57:12,600 Venga. 1102 00:57:13,600 --> 00:57:15,600 Ala, vamos a ver, el móvil ya está creado. 1103 00:57:15,600 --> 00:57:18,680 Vamos a ver las disponibles que tiene. 1104 00:57:18,680 --> 00:57:19,960 Empezamos bien. 1105 00:57:19,960 --> 00:57:20,640 Vale. 1106 00:57:20,640 --> 00:57:23,800 Esto es lo más, esto es lo que os tiene que apasionar. 1107 00:57:23,800 --> 00:57:25,960 A mí me encanta cuando salen cosas rojas y digo, 1108 00:57:25,960 --> 00:57:28,200 aquí hay algo que he solucionado, algo que hemos acabado. 1109 00:57:28,200 --> 00:57:30,400 Esto es lo verdaderamente apasionante y bonito de la 1110 00:57:30,400 --> 00:57:31,640 programación. 1111 00:57:31,640 --> 00:57:34,800 Null point del estético y ya sabemos lo que significa. 1112 00:57:34,800 --> 00:57:37,480 Venga, pues, ala, no puedo invocar a la app store porque 1113 00:57:37,480 --> 00:57:38,280 store es null. 1114 00:57:38,280 --> 00:57:40,680 El almacén es nulo, algo raro hecho. 1115 00:57:40,720 --> 00:57:43,480 El almacén es nulo, algo raro hecho. 1116 00:57:43,480 --> 00:57:45,480 Vale, ya más o menos me hago una idea de por dónde van los 1117 00:57:45,480 --> 00:57:45,960 tiros. 1118 00:57:45,960 --> 00:57:49,560 El almacén por el que intento navegar es null. 1119 00:57:49,560 --> 00:57:50,880 Y tanto que es null. 1120 00:57:50,880 --> 00:57:52,680 Si es que no se lo hemos fijado al móvil. 1121 00:57:52,680 --> 00:57:56,440 Si es que somos, ya no nos hace falta ni pinchar aquí. 1122 00:57:56,440 --> 00:57:57,520 ¿Verdad? 1123 00:57:57,520 --> 00:57:59,040 Y tanto que es null. 1124 00:57:59,040 --> 00:58:02,200 Yo he creado mi móvil con una capacidad, 1125 00:58:02,200 --> 00:58:04,200 pero no le he fijado este almacén. 1126 00:58:04,200 --> 00:58:07,120 Es que, es que vamos. 1127 00:58:07,120 --> 00:58:09,400 ¿Cómo voy a navegar por el app store del móvil si no se lo 1128 00:58:09,400 --> 00:58:09,920 he puesto? 1129 00:58:09,960 --> 00:58:10,880 Manda narices. 1130 00:58:10,880 --> 00:58:13,480 Ahora sí. 1131 00:58:13,480 --> 00:58:15,360 ¿Vale? 1132 00:58:15,360 --> 00:58:16,880 No. 1133 00:58:16,880 --> 00:58:22,240 Trataba de navegar por el app store de este teléfono y este 1134 00:58:22,240 --> 00:58:25,840 teléfono no tenía la aplicación, no tenía el store puesto. 1135 00:58:25,840 --> 00:58:27,320 Con lo cual, muy malamente así. 1136 00:58:27,320 --> 00:58:28,560 Venga, siguiente prueba. 1137 00:58:34,720 --> 00:58:37,320 Ala, a ver si ahora, bueno. 1138 00:58:39,960 --> 00:58:41,440 Ver apps disponibles. 1139 00:58:41,440 --> 00:58:43,280 Estas son las que tengo para instalar. 1140 00:58:43,280 --> 00:58:44,080 Estupendo. 1141 00:58:44,080 --> 00:58:45,760 Vale, tengo esas 5. 1142 00:58:45,760 --> 00:58:47,320 Vamos a ver el estatus de mi teléfono. 1143 00:58:47,320 --> 00:58:48,680 4. 1144 00:58:48,680 --> 00:58:50,520 Tiene 0, le quedan 30 gigas. 1145 00:58:50,520 --> 00:58:51,600 Vale, fenomenal. 1146 00:58:51,600 --> 00:58:55,360 2 y 3 es que no me va a hacer nada. 1147 00:58:55,360 --> 00:58:57,760 Y ya está. 1148 00:58:57,760 --> 00:59:02,760 Venga, pues vamos a hacer alguna de las otras opciones. 1149 00:59:02,760 --> 00:59:07,040 Y la opción de salir, es que no le he puesto un system 1150 00:59:07,040 --> 00:59:09,320 app para salir. 1151 00:59:09,320 --> 00:59:11,320 He puesto que era la 5, pero no se lo he puesto. 1152 00:59:14,600 --> 00:59:15,800 5. 1153 00:59:15,800 --> 00:59:18,320 Salir. 1154 00:59:18,320 --> 00:59:20,000 Vale, pues venga, la opción 2. 1155 00:59:20,000 --> 00:59:24,520 La opción 2 era meter una app, instalar, se supone. 1156 00:59:24,520 --> 00:59:27,600 Instalar una app en el móvil. 1157 00:59:27,600 --> 00:59:28,680 Venga, pues vamos a ver. 1158 00:59:28,680 --> 00:59:31,120 Habrá que pedir el nombre de la app instalar. 1159 00:59:31,120 --> 00:59:36,520 Le decimos nombre de la app. 1160 00:59:40,320 --> 00:59:41,440 La leemos. 1161 00:59:41,440 --> 00:59:44,840 Yo, como tengo esta clase maravillosa, 1162 00:59:44,840 --> 00:59:48,360 pues la leo directamente con la cadena. 1163 00:59:48,360 --> 00:59:50,520 Y la guardo, claro, porque si no lo llevamos claro. 1164 00:59:56,160 --> 01:00:00,280 Vale, pues ya tengo yo aquí la cadena leída. 1165 01:00:00,280 --> 01:00:03,240 Y ahora, hay que hacer algo con el móvil. 1166 01:00:03,240 --> 01:00:07,080 Entonces, uno va, mi clase móvil me ofrece lo que yo quiero 1167 01:00:07,080 --> 01:00:08,200 hacer. 1168 01:00:08,200 --> 01:00:09,920 ¿Qué es lo que yo quiero hacer? 1169 01:00:09,920 --> 01:00:12,520 Instalar una app en el móvil. 1170 01:00:12,520 --> 01:00:15,680 Entonces, pues uno, si hubiera documentado los métodos, 1171 01:00:15,680 --> 01:00:17,640 lo hubiera hecho todo bien, etcétera, etcétera, 1172 01:00:17,640 --> 01:00:24,960 pues pondría aquí móvil y le saldrían los métodos que tiene. 1173 01:00:24,960 --> 01:00:27,600 Y además, le saldría aquí la ayudita de lo que hace. 1174 01:00:27,600 --> 01:00:30,360 A nosotros no nos sale la ayudita porque no lo hemos 1175 01:00:30,360 --> 01:00:31,680 comentado. 1176 01:00:31,680 --> 01:00:33,560 Pero bueno, por el nombre podíamos cotillear. 1177 01:00:33,560 --> 01:00:36,160 Vamos a ver, porque repito, el contexto real es que el que 1178 01:00:36,200 --> 01:00:39,560 está programando esta aplicación no ha hecho la clase móvil, 1179 01:00:39,560 --> 01:00:42,320 no ha hecho la clase app, no las ha hecho. 1180 01:00:42,320 --> 01:00:44,560 Las tiene ahí para usarlas, pero no las ha hecho. 1181 01:00:44,560 --> 01:00:47,960 Entonces, tiene que, a ver, para hacer esto, 1182 01:00:47,960 --> 01:00:49,560 ¿de qué me puedo ayudar? 1183 01:00:49,560 --> 01:00:52,160 Igual que nosotros hemos hecho la clase y la hemos hecho y la 1184 01:00:52,160 --> 01:00:53,320 usamos. 1185 01:00:53,320 --> 01:00:55,160 Pues gracias a que hay una documentación, 1186 01:00:55,160 --> 01:00:57,120 hemos encontrado el split, el no sé qué. 1187 01:00:57,120 --> 01:00:58,960 Pues esto es igual. 1188 01:00:58,960 --> 01:01:01,720 Vamos a ver, aquí hay, pues entonces, 1189 01:01:01,720 --> 01:01:04,640 aquí tenemos el método getApp que no tiene ninguna ayuda 1190 01:01:04,680 --> 01:01:06,320 porque no la hemos documentado. 1191 01:01:06,320 --> 01:01:08,560 Y si la tuviera, pues nos diría, el método getApp, 1192 01:01:08,560 --> 01:01:11,200 le pasas un nombre de aplicación, te la instala. 1193 01:01:11,200 --> 01:01:13,800 Si está, si no te la actualiza, bla, bla, bla. 1194 01:01:13,800 --> 01:01:18,360 Diríamos, anda, pues va a ser este, el que hay que usar. 1195 01:01:18,360 --> 01:01:23,160 Pues entonces, uno marcaría getApp y le pasaría el nombre. 1196 01:01:23,160 --> 01:01:24,040 Y ya está. 1197 01:01:24,040 --> 01:01:27,280 Se supone que eso hace lo que hace getApp. 1198 01:01:27,280 --> 01:01:32,680 Que lo que hace getApp es, pues, todo el rollo este. 1199 01:01:32,680 --> 01:01:37,080 Mirar si está instalada, si lo está, la actualiza. 1200 01:01:37,080 --> 01:01:39,720 Y si no lo está, la pone nueva. 1201 01:01:39,720 --> 01:01:40,720 Se supone que hace eso. 1202 01:01:43,400 --> 01:01:44,200 Y ya está. 1203 01:01:44,200 --> 01:01:47,240 No tiene system out de instalar, actualizar. 1204 01:01:47,240 --> 01:01:50,440 Entonces, es un poco feo, pero, bueno, el status lo veremos. 1205 01:01:50,440 --> 01:01:52,960 Y ahora, el caso 3. 1206 01:01:52,960 --> 01:01:55,400 El caso 3 es borrar una app. 1207 01:01:55,400 --> 01:01:56,920 Pues lo mismo, para borrar una app, 1208 01:01:56,920 --> 01:01:59,080 habrá que pedir la app a borrar. 1209 01:02:00,080 --> 01:02:01,760 Como nombre, ya la tengo declarada arriba. 1210 01:02:01,760 --> 01:02:03,480 No la tengo que volver a declarar. 1211 01:02:03,480 --> 01:02:04,760 Y es la misma situación. 1212 01:02:04,760 --> 01:02:07,760 Diríamos, vamos a ver, tengo que hacer algo con el teléfono. 1213 01:02:07,760 --> 01:02:12,000 Entonces, me voy a la clase teléfono, al objeto. 1214 01:02:12,000 --> 01:02:14,520 Y busco y digo, tengo aquí algo que me permita hacer lo que me 1215 01:02:14,520 --> 01:02:16,160 han pedido. 1216 01:02:16,160 --> 01:02:18,160 Lo intento buscar. 1217 01:02:18,160 --> 01:02:20,480 Si no lo encuentro, pues, me lo tendré que programar yo 1218 01:02:20,480 --> 01:02:22,840 directamente con las posibilidades que me dé la 1219 01:02:22,840 --> 01:02:23,880 clase. 1220 01:02:23,880 --> 01:02:26,120 Entonces, hombre, no se pone a buscar aquí. 1221 01:02:26,120 --> 01:02:28,920 Dice, ah, no, no, no, no, no, no, no, no, no, no, no, no, no, 1222 01:02:29,040 --> 01:02:33,040 dice, ah, espérate que hay un método que es removeApp. 1223 01:02:33,040 --> 01:02:35,200 Va a ser por el nombre porque está bien elegido. 1224 01:02:35,200 --> 01:02:37,680 Porque normalmente, si los nombres no están bien elegidos, 1225 01:02:37,680 --> 01:02:40,080 pues, muy mal, nuestras clases no van a salir para nada. 1226 01:02:40,080 --> 01:02:42,720 Va a ser que este método te borra una aplicación cuando tú 1227 01:02:42,720 --> 01:02:43,880 le das el nombre. 1228 01:02:43,880 --> 01:02:46,160 Pues, pues, hasta justo lo que queremos. 1229 01:02:46,160 --> 01:02:48,160 Qué fácil. 1230 01:02:48,160 --> 01:02:53,480 Pues, venga, removeApp y le damos el nombre. 1231 01:02:53,480 --> 01:02:54,240 Y ya está. 1232 01:02:54,240 --> 01:02:56,560 Entonces, el que está haciendo esto, 1233 01:02:56,600 --> 01:02:59,440 confía que estos métodos estén bien porque el que los hizo, 1234 01:02:59,440 --> 01:03:02,240 pasó toda la fase de pruebas, le hicieron todo el testing de las 1235 01:03:02,240 --> 01:03:04,640 clases y estaba todo estupendo. 1236 01:03:04,640 --> 01:03:06,240 Y el que hace esto lo tiene facilísimo. 1237 01:03:06,240 --> 01:03:08,760 Llama a esos métodos de esas clases y se acabó. 1238 01:03:08,760 --> 01:03:12,200 Y esa es la dinámica a la hora de programar. 1239 01:03:12,200 --> 01:03:15,480 Esa más la de luego ir guardando el historial de versiones en el 1240 01:03:15,480 --> 01:03:17,640 repositorio al que estés conectado, sea GitHub, 1241 01:03:17,640 --> 01:03:19,200 sea el que sea, ¿vale? 1242 01:03:19,200 --> 01:03:22,840 Todas esas dinámicas, claro. 1243 01:03:22,840 --> 01:03:25,000 Vale. 1244 01:03:25,000 --> 01:03:25,760 Pues, yo qué sé. 1245 01:03:25,760 --> 01:03:32,320 Vamos a probar a ver si esto hace algo y no hace nada. 1246 01:03:32,320 --> 01:03:34,760 A ver. 1247 01:03:34,760 --> 01:03:35,260 Venga. 1248 01:03:40,360 --> 01:03:41,400 Vamos a ver las que hay. 1249 01:03:41,400 --> 01:03:43,840 Lo que pasa es que teniendo en cuenta que tenemos solo 30 1250 01:03:43,840 --> 01:03:50,560 gigas, vamos a intentar instalar, a ver, vamos, 1251 01:03:50,560 --> 01:03:52,680 lo de ver apps disponibles, deberíamos haber puesto también 1252 01:03:52,680 --> 01:03:54,640 el tamaño y la versión porque si no, venga, 1253 01:03:54,640 --> 01:03:57,060 vamos a instalar la primera de todas que sabemos seguro que va 1254 01:03:57,060 --> 01:03:57,560 a caber. 1255 01:04:01,240 --> 01:04:02,280 Claro. 1256 01:04:02,280 --> 01:04:05,440 Tal y como está, se nos queda un poco que nos quedamos cojos. 1257 01:04:05,440 --> 01:04:05,940 No. 1258 01:04:20,080 --> 01:04:21,720 Claro, que se ha hecho, sí, bueno, 1259 01:04:21,720 --> 01:04:25,920 y sobre todo para que cuando le dieras a instalar existiera la 1260 01:04:25,920 --> 01:04:27,440 opción de actualizar. 1261 01:04:27,440 --> 01:04:28,840 Pudieras ver que las 2 funcionan, 1262 01:04:28,840 --> 01:04:31,040 tanto actualizar como meter una nueva, ¿vale? 1263 01:04:31,040 --> 01:04:32,760 Entonces, venga, tenemos las disponibles. 1264 01:04:32,760 --> 01:04:34,240 Vamos a instalar la primera. 1265 01:04:34,240 --> 01:04:38,560 Vamos a instalar la primera Minecraft, esta. 1266 01:04:41,640 --> 01:04:44,880 Minecraft. 1267 01:04:44,880 --> 01:04:46,760 Suponemos que está instalada. 1268 01:04:46,760 --> 01:04:48,920 Vamos a darle a comprobar status, a ver cómo está. 1269 01:04:48,920 --> 01:04:49,600 Tiene una. 1270 01:04:49,600 --> 01:04:50,720 Vale, le quedan 20. 1271 01:04:50,720 --> 01:04:52,640 Sí, parece que sí. 1272 01:04:52,640 --> 01:04:53,280 Vale. 1273 01:04:53,280 --> 01:04:57,080 Entonces, lo que pasa es que ahora saber cuál ha actualizado 1274 01:04:57,080 --> 01:05:00,400 aleatoriamente, porque ojalá hubiera acertado actualizarla 1275 01:05:00,400 --> 01:05:01,120 una. 1276 01:05:01,120 --> 01:05:03,400 Vamos a volver a instalarla, a ver si hemos tenido suerte y la 1277 01:05:03,400 --> 01:05:05,000 que ha actualizado la versión es esa. 1278 01:05:05,000 --> 01:05:07,280 PÚBLICO 1. Pero no te la has actualizado todavía, ¿no? 1279 01:05:07,280 --> 01:05:08,520 No ha salido de la aplicación. 1280 01:05:08,520 --> 01:05:11,000 PÚBLICO 2. No, pero es que cada vez que le das al menú. 1281 01:05:11,000 --> 01:05:15,080 Vale, voy a volver a instalar esa a ver si hemos tenido suerte 1282 01:05:15,080 --> 01:05:18,560 que esa es la que se ha actualizado. 1283 01:05:18,560 --> 01:05:21,080 Minecraft se llamaba. 1284 01:05:21,080 --> 01:05:22,760 PÚBLICO 3. Croft. 1285 01:05:22,760 --> 01:05:23,720 PÚBLICO 2. Ah. 1286 01:05:23,720 --> 01:05:25,600 PÚBLICO 3. No sé cómo tiene el portátil. 1287 01:05:25,600 --> 01:05:27,640 PÚBLICO 2. Croft. 1288 01:05:27,640 --> 01:05:29,240 Bueno, a ver, es que ni siquiera visa, 1289 01:05:29,240 --> 01:05:31,680 no tiene un system out, se ha instalado, se ha actualizado, 1290 01:05:31,680 --> 01:05:32,800 no sabemos. 1291 01:05:32,800 --> 01:05:36,000 A ver, lo estará haciendo bien, pero vamos a instalar una que 1292 01:05:36,000 --> 01:05:37,640 no quepa. 1293 01:05:37,640 --> 01:05:44,160 Vamos a instalar la de esa que no cabe seguro. 1294 01:05:48,560 --> 01:05:53,560 PÚBLICO 3. Legends. 1295 01:05:53,560 --> 01:05:55,320 PÚBLICO 2. Legends, esta. 1296 01:05:55,320 --> 01:05:57,960 Y vamos a ver el estatus. 1297 01:05:57,960 --> 01:06:01,400 Efectivamente, no la he instalado porque no cabía. 1298 01:06:01,400 --> 01:06:01,900 ¿Vale? 1299 01:06:06,320 --> 01:06:14,440 Vamos a eliminar la única que tiene instalada y vamos a ver 1300 01:06:14,440 --> 01:06:17,800 el status otra vez. 1301 01:06:17,840 --> 01:06:19,880 Tiene cero, la ha quitado. 1302 01:06:19,880 --> 01:06:24,840 A ver, lo ideal sería incorporarle más system out, 1303 01:06:24,840 --> 01:06:26,960 para que nos dijera lo que va haciendo, 1304 01:06:26,960 --> 01:06:29,800 pero, vamos, tiene toda la pinta de que está haciendo lo que 1305 01:06:29,800 --> 01:06:32,000 tiene que hacer y que nos funcionan los métodos y que está 1306 01:06:32,000 --> 01:06:32,480 todo bien. 1307 01:06:32,480 --> 01:06:36,800 Borra, ¿vale? 1308 01:06:36,800 --> 01:06:41,360 Vamos simplemente a ponerle unos system out de a ver cuándo ha 1309 01:06:41,360 --> 01:06:46,960 actualizado y cuándo ha, para dejarla ya terminada completa, 1310 01:06:46,960 --> 01:06:51,200 bonita e irnos más felices a casa y más a gusto. 1311 01:06:51,200 --> 01:06:54,600 Vámonos a la clase móvil en navegar por el app store este 1312 01:06:54,600 --> 01:06:58,280 de aquí y que nos muestre también la versión y el 1313 01:06:58,280 --> 01:07:01,440 tamaño, que nos lo muestre todo. 1314 01:07:01,440 --> 01:07:05,040 Porque así tenemos más información. 1315 01:07:05,040 --> 01:07:24,200 Que nos muestre la versión, control C, get versión y que 1316 01:07:24,200 --> 01:07:26,120 nos muestre también el tamaño. 1317 01:07:26,120 --> 01:07:37,040 Y así podemos operar un poquito más control C y el tamaño. 1318 01:07:46,200 --> 01:07:48,520 Vale, navegar app store ya nos va a dar un poquito más de 1319 01:07:48,520 --> 01:07:49,400 información. 1320 01:07:49,400 --> 01:07:52,680 Si realmente se han actualizado en el store y eso. 1321 01:07:52,680 --> 01:07:55,520 Y ahora, el método del móvil que instalaba, 1322 01:07:55,520 --> 01:07:57,600 vamos a ponerle un system out que diga si ha instalado, 1323 01:07:57,600 --> 01:08:01,440 si ha actualizado, para que no quede así el pobre tan. 1324 01:08:01,440 --> 01:08:03,680 Entonces, aquí. 1325 01:08:03,680 --> 01:08:11,920 Aquí va a llegar a este if, va a llegar, 1326 01:08:11,920 --> 01:08:19,000 como tenemos el if metido aquí, lo que tenemos metido aquí, 1327 01:08:19,000 --> 01:08:24,600 distinguir si está actualizado o no, se hace más complicado. 1328 01:08:24,600 --> 01:08:29,000 Vamos a meterlo en un if aparte, que sería, si. 1329 01:08:33,840 --> 01:08:36,960 Sí, pero hago la pregunta aquí aparte y ya está. 1330 01:08:36,960 --> 01:08:39,400 Claro, la hago aquí. 1331 01:08:39,400 --> 01:08:45,400 Si esto es igual a nul, hago la pregunta aparte en un if aquí. 1332 01:08:46,400 --> 01:08:54,400 Entonces, aquí, en este caso, hay que poner la aplicación 1333 01:08:54,400 --> 01:09:00,040 existe con la misma versión. 1334 01:09:00,040 --> 01:09:02,520 Con lo cual, no hay nada que actualizar. 1335 01:09:02,520 --> 01:09:06,680 Y en el else de aquí, y en el else de aquí, 1336 01:09:06,680 --> 01:09:10,960 habrá que poner se actualizó la aplicación. 1337 01:09:10,960 --> 01:09:17,440 Se actualizó aplicación. 1338 01:09:17,440 --> 01:09:21,640 Vale, pues esto va a ser lo que me muestre cuando está y no hay 1339 01:09:21,640 --> 01:09:25,280 que actualizar o cuando está y actualiza. 1340 01:09:25,280 --> 01:09:29,480 Y ahora, aquí abajo, es cuando la instala de nuevas. 1341 01:09:29,480 --> 01:09:30,920 Entonces, aquí. 1342 01:09:40,960 --> 01:09:54,760 Vale, se instaló aplicación. 1343 01:09:54,760 --> 01:09:58,440 Y nos falta si la aplicación no se instaló porque no cabía. 1344 01:09:58,440 --> 01:10:03,040 Entonces, eso es el else de aquí, este else. 1345 01:10:03,040 --> 01:10:07,080 Aquí ponemos un else que sea, no hay espacio para la 1346 01:10:07,080 --> 01:10:10,320 aplicación. 1347 01:10:10,400 --> 01:10:16,480 No hay espacio para la aplicación. 1348 01:10:16,480 --> 01:10:19,360 Ahora, entonces, este ya nos informa de lo que hace. 1349 01:10:19,360 --> 01:10:21,560 En sus 4 posibilidades. 1350 01:10:21,560 --> 01:10:25,040 Que la aplicación esté y no haya que hacer nada porque 1351 01:10:25,040 --> 01:10:26,520 tenga la misma versión. 1352 01:10:26,520 --> 01:10:28,800 Que esté y se actualice. 1353 01:10:28,800 --> 01:10:30,520 Que no esté y se pueda instalar. 1354 01:10:30,520 --> 01:10:32,160 Y que no esté pero que no tenga espacio. 1355 01:10:32,160 --> 01:10:33,800 Este ya nos informa de más cosas. 1356 01:10:33,800 --> 01:10:36,760 El de borrar ya nos lo dice. 1357 01:10:36,760 --> 01:10:40,320 Que se instala o no se desinstala. 1358 01:10:40,320 --> 01:10:42,160 El de borrar ya está. 1359 01:10:42,160 --> 01:10:46,760 Y el de estatus, pues, ya sirve para informar. 1360 01:10:46,760 --> 01:10:51,640 Bueno, pues, ahora ya con suerte podemos hacer un uso un 1361 01:10:51,640 --> 01:10:54,400 poquito más. 1362 01:10:54,400 --> 01:10:56,440 Vamos a ver. 1363 01:10:56,440 --> 01:10:58,560 1, ver apps disponibles. 1364 01:10:58,560 --> 01:10:59,600 Pues, sí. 1365 01:10:59,600 --> 01:11:02,280 Tenemos la versión y el tamaño. 1366 01:11:02,280 --> 01:11:03,600 Vale. 1367 01:11:03,600 --> 01:11:07,680 Vamos a instalar la primera de ellas. 1368 01:11:11,800 --> 01:11:12,680 Vale, se instaló. 1369 01:11:12,680 --> 01:11:14,360 Y vamos a volver a ver las disponibles. 1370 01:11:14,360 --> 01:11:16,160 A ver cuál se ha actualizado la versión. 1371 01:11:18,720 --> 01:11:20,240 Minecraft es la que se ha actualizado. 1372 01:11:20,240 --> 01:11:24,640 Porque antes tenía 1 y ahora tiene 2. 1373 01:11:24,640 --> 01:11:26,640 En el almacén ha cambiado a 2. 1374 01:11:26,640 --> 01:11:32,560 Entonces, el almacén tiene ahora una versión actualizada. 1375 01:11:32,560 --> 01:11:34,160 1, 7, 2. 1376 01:11:34,160 --> 01:11:36,560 Vale. 1377 01:11:36,560 --> 01:11:39,880 Pues, venga, vamos a instalar otra vez la misma. 1378 01:11:39,880 --> 01:11:40,640 La 2. 1379 01:11:45,640 --> 01:11:46,640 Minecraft. 1380 01:11:49,920 --> 01:11:52,560 Vale. 1381 01:11:52,560 --> 01:11:53,400 ¿Qué he hecho mal? 1382 01:11:53,400 --> 01:11:56,200 El nombre de la aplicación. 1383 01:11:56,200 --> 01:11:59,800 Que tú pibes un juego de Xbox. 1384 01:11:59,800 --> 01:12:00,880 Ah, joder. 1385 01:12:00,880 --> 01:12:01,920 Vale, vale, vale, vale. 1386 01:12:01,920 --> 01:12:04,480 ¿Debería decir que esa aplicación no existe? 1387 01:12:04,480 --> 01:12:06,840 No, porque eso no lo he verificado, no lo he incluido. 1388 01:12:06,840 --> 01:12:07,320 ¿Cuál? 1389 01:12:07,320 --> 01:12:11,120 O sea, eh, creo que, bueno, no lo sé yo. 1390 01:12:11,120 --> 01:12:11,680 Creo que no. 1391 01:12:11,680 --> 01:12:13,720 Espera, vamos a ver. 1392 01:12:13,720 --> 01:12:14,560 Espera, espera. 1393 01:12:14,560 --> 01:12:16,600 Vámonos a ese método. 1394 01:12:16,600 --> 01:12:18,680 Aquí en NetApp. 1395 01:12:18,680 --> 01:12:21,560 La que no está en la store. 1396 01:12:21,560 --> 01:12:24,200 No tenemos la verificación de las que están en la store. 1397 01:12:24,200 --> 01:12:27,520 Tienes la verificación de las que tienes en el juego. 1398 01:12:27,520 --> 01:12:29,680 Claro, es que hay cosas. 1399 01:12:29,680 --> 01:12:31,320 Claro. 1400 01:12:31,320 --> 01:12:36,120 Claro, es que contemplar todas las posibilidades no las hemos 1401 01:12:36,120 --> 01:12:36,680 hecho. 1402 01:12:36,680 --> 01:12:39,280 Entonces, obviamente, en una fase de pruebas vale para eso. 1403 01:12:39,280 --> 01:12:41,600 Y dices, oye, te he detectado un bug. 1404 01:12:41,600 --> 01:12:43,760 Y si yo me invento una aplicación que no está, ¿qué? 1405 01:12:43,760 --> 01:12:45,000 Ah, vale, me ha detectado ese bug. 1406 01:12:45,000 --> 01:12:46,840 Pues, entonces, yo ahora voy y lo incorporo. 1407 01:12:46,840 --> 01:12:48,960 Y así hasta que todos los bugs se van arreglando. 1408 01:12:48,960 --> 01:12:50,040 ¿Vale? 1409 01:12:50,040 --> 01:12:50,540 Vale. 1410 01:12:55,520 --> 01:12:58,600 La fase de pruebas es para eso. 1411 01:12:58,600 --> 01:13:00,840 Vale, pues, entonces, vamos a volver a poniéndolo ahora una 1412 01:13:00,840 --> 01:13:01,340 buena. 1413 01:13:01,340 --> 01:13:04,440 Pues, venga, a ver, apps disponibles, efectivamente. 1414 01:13:04,440 --> 01:13:07,120 Vamos a ponerle la 2. 1415 01:13:11,160 --> 01:13:13,320 Minecraft. 1416 01:13:13,320 --> 01:13:15,680 Se instaló la aplicación. 1417 01:13:15,680 --> 01:13:17,200 Vale. 1418 01:13:17,200 --> 01:13:22,240 Vamos a ver las apps disponibles. 1419 01:13:22,240 --> 01:13:24,800 Minecraft ahora está a 2. 1420 01:13:24,800 --> 01:13:27,320 Con lo cual, tiene pinta de que es más actual que la que acabo 1421 01:13:27,320 --> 01:13:28,240 de instalar. 1422 01:13:28,240 --> 01:13:29,920 Voy a volver a instalarla. 1423 01:13:29,920 --> 01:13:30,420 2. 1424 01:13:34,120 --> 01:13:35,800 Esta vez lo he escrito bien. 1425 01:13:35,800 --> 01:13:36,320 Vale. 1426 01:13:36,320 --> 01:13:38,480 La aplicación existe con la misma versión. 1427 01:13:38,480 --> 01:13:38,960 ¿Vale? 1428 01:13:38,960 --> 01:13:43,920 Porque cuando se cambió a 2, fue antes de actualizarla. 1429 01:13:43,920 --> 01:13:46,120 O sea, ha sido la segunda vez que lo ha dado el menú. 1430 01:13:46,120 --> 01:13:46,800 Vale. 1431 01:13:46,800 --> 01:13:50,720 Vamos a instalar otra que no quepa. 1432 01:13:50,720 --> 01:13:52,560 La de los of legends, esa. 1433 01:13:52,560 --> 01:13:53,400 A ver si me informa. 1434 01:13:53,400 --> 01:13:54,080 No hay espacio. 1435 01:14:00,120 --> 01:14:02,800 No hay espacio. 1436 01:14:02,800 --> 01:14:03,560 Vale. 1437 01:14:03,560 --> 01:14:09,080 Vamos a eliminar otra que, vamos a volver a ver las que tiene. 1438 01:14:09,080 --> 01:14:11,640 El Minecraft esta ya está por 3. 1439 01:14:11,640 --> 01:14:15,080 Entonces, como está por 3, ahora ya sí que la actualizará. 1440 01:14:15,080 --> 01:14:17,200 Vamos a volver a darle a 2. 1441 01:14:17,200 --> 01:14:19,520 Nombre de la app. 1442 01:14:19,520 --> 01:14:21,400 Minecraft. 1443 01:14:21,400 --> 01:14:22,080 Minecraft. 1444 01:14:22,080 --> 01:14:23,760 Vale. 1445 01:14:23,760 --> 01:14:26,400 La aplicación existe con la misma versión. 1446 01:14:29,920 --> 01:14:37,040 Eh, me extraña que exista con la misma versión. 1447 01:14:37,040 --> 01:14:42,080 Porque esta la hemos, cuando la instalamos, 1448 01:14:42,080 --> 01:14:45,000 no estaba en la 3. 1449 01:14:45,000 --> 01:14:48,400 Existe con la misma versión. 1450 01:14:48,400 --> 01:14:50,000 Vale. 1451 01:14:50,000 --> 01:14:51,960 Tiene una que es esta. 1452 01:14:51,960 --> 01:14:52,460 Vale. 1453 01:14:56,000 --> 01:14:56,560 1. 1454 01:14:56,560 --> 01:14:58,200 Ver apps disponibles. 1455 01:14:58,200 --> 01:15:00,680 Esta ya va por la 4. 1456 01:15:00,680 --> 01:15:10,240 Vamos a volver a, vale. 1457 01:15:10,240 --> 01:15:11,760 Porque existe con la misma. 1458 01:15:11,760 --> 01:15:15,000 A ver si he puesto mal el mensajito. 1459 01:15:15,000 --> 01:15:16,320 A ver si he puesto mal el mensaje. 1460 01:15:25,360 --> 01:15:26,000 Ah, claro. 1461 01:15:26,000 --> 01:15:27,920 Es que he llamado al método después del lib, 1462 01:15:27,920 --> 01:15:29,040 donde yo lo había ejecutado. 1463 01:15:29,040 --> 01:15:30,560 Claro, cuando yo le había dado la instalación. 1464 01:15:30,560 --> 01:15:31,560 Es que, claro, claro. 1465 01:15:31,560 --> 01:15:34,880 O sea, es que esto lo tendremos que hacer antes, 1466 01:15:34,880 --> 01:15:37,480 no después de actualizarla. 1467 01:15:37,480 --> 01:15:39,320 Claro, si lo hago después de actualizarla, 1468 01:15:39,320 --> 01:15:41,440 siempre va a tener la misma versión. 1469 01:15:41,440 --> 01:15:43,160 La pregunta me la tendré que hacer antes. 1470 01:15:46,560 --> 01:15:47,760 Vale, vale, vale. 1471 01:15:47,760 --> 01:15:49,160 Ya está. 1472 01:15:49,160 --> 01:15:50,520 Me hago la pregunta antes. 1473 01:15:50,520 --> 01:15:51,880 Esto fuera. 1474 01:15:51,880 --> 01:15:52,380 Vale. 1475 01:15:56,480 --> 01:15:58,640 Vale, entendido. 1476 01:15:58,640 --> 01:16:00,640 Vale, me la tendré que hacer antes la pregunta. 1477 01:16:00,640 --> 01:16:01,640 Y luego ya la actualizo. 1478 01:16:01,640 --> 01:16:02,920 Hasta luego. 1479 01:16:02,920 --> 01:16:04,200 Vale. 1480 01:16:04,200 --> 01:16:07,080 Vale, vale, con razón. 1481 01:16:07,080 --> 01:16:08,560 Vale. 1482 01:16:08,560 --> 01:16:09,200 Pues ya está. 1483 01:16:18,440 --> 01:16:20,640 Vamos a volver a hacer esa prueba. 1484 01:16:20,640 --> 01:16:22,160 Vamos a instalar esta. 1485 01:16:22,200 --> 01:16:26,520 Está instalada. 1486 01:16:26,520 --> 01:16:29,920 Vale, vamos a ver. 1487 01:16:29,920 --> 01:16:34,200 Vamos a darle a status hasta que cambie la versión del 1488 01:16:34,200 --> 01:16:35,560 Minecraft. 1489 01:16:35,560 --> 01:16:36,760 Comprobar status. 1490 01:16:36,760 --> 01:16:38,720 Vamos a ver si ahora ya ha cambiado. 1491 01:16:38,720 --> 01:16:40,680 Ojo, mala suerte, ahora no cambia nunca. 1492 01:16:40,680 --> 01:16:43,400 Vamos ahora a darle a status. 1493 01:16:43,400 --> 01:16:45,320 La 1. 1494 01:16:45,320 --> 01:16:45,880 A 2. 1495 01:16:45,880 --> 01:16:46,920 Vale, ya la ha cambiado. 1496 01:16:46,920 --> 01:16:49,360 Entonces, ahora vamos a instalarla otra vez. 1497 01:16:49,360 --> 01:16:57,880 2, Minecraft. 1498 01:16:57,880 --> 01:16:58,720 Se actualizó. 1499 01:16:58,720 --> 01:16:59,240 Vale. 1500 01:16:59,240 --> 01:17:02,320 Es que tenía el mensaje puesto actualizada y luego verificaba 1501 01:17:02,320 --> 01:17:03,200 si estaba actualizada. 1502 01:17:03,200 --> 01:17:05,600 Entonces, por eso me decía siempre, es la misma versión. 1503 01:17:05,600 --> 01:17:07,280 Voy a cambiar un poco la versión. 1504 01:17:07,280 --> 01:17:10,160 Vale, pues ya está. 1505 01:17:10,160 --> 01:17:12,600 Las funcionalidades que nos hemos planteado están todas, 1506 01:17:12,600 --> 01:17:15,760 todas funcionan dentro de una aplicación ya grande en la que 1507 01:17:15,760 --> 01:17:18,960 hemos tenido que hacer muchas pequeñitas cosas y revisar 1508 01:17:19,040 --> 01:17:22,400 muchos conceptos de muchas cosas. 1509 01:17:22,400 --> 01:17:25,600 Luego, efectivamente, pues uno ya se pone y dice, a ver, 1510 01:17:25,600 --> 01:17:27,240 hay cosas que no has tenido en cuenta. 1511 01:17:27,240 --> 01:17:29,800 Si yo le meto un texto que está mal, si yo le meto no sé qué, 1512 01:17:29,800 --> 01:17:32,320 si yo le meto, claro, todas esas cosas, 1513 01:17:32,320 --> 01:17:36,280 todas esas cosas tienen que surgir en una fase de análisis 1514 01:17:36,280 --> 01:17:37,960 cuando se ha hecho bien. 1515 01:17:37,960 --> 01:17:40,400 Si uno en la fase de análisis se ha sentado todas las horas que 1516 01:17:40,400 --> 01:17:43,760 hagan falta, ha contemplado todo lo que tiene que pasar. 1517 01:17:43,760 --> 01:17:46,280 Si el texto lo meto mal, que pase esto. 1518 01:17:46,280 --> 01:17:49,200 Si de repente el ordenador explota, que pase esto. 1519 01:17:49,200 --> 01:17:50,280 Si de repente no sé qué. 1520 01:17:50,280 --> 01:17:52,800 Entonces, tú ya cuando haces el software, 1521 01:17:52,800 --> 01:17:56,520 lo haces con todo lo que tienes que contemplar. 1522 01:17:56,520 --> 01:17:59,000 Pero, claro, para eso tienes que haber hecho una fase análisis 1523 01:17:59,000 --> 01:18:01,800 en la que contemples todo, ¿vale? 1524 01:18:01,800 --> 01:18:03,960 Nosotros hemos hecho unas funcionalidades, 1525 01:18:03,960 --> 01:18:07,000 no nos hemos sentado antes a ver todas las opciones que 1526 01:18:07,000 --> 01:18:08,760 queríamos comprobar. 1527 01:18:08,760 --> 01:18:12,600 Entonces, pues, efectivamente, hay cosas que no hemos 1528 01:18:12,600 --> 01:18:13,960 comprobado. 1529 01:18:13,960 --> 01:18:15,960 Pero lo que nos habíamos planteado de partida, 1530 01:18:15,960 --> 01:18:19,040 lo que nos habíamos planteado, eso todo está funcionando y 1531 01:18:19,040 --> 01:18:20,600 bien.