1 00:00:00,620 --> 00:00:07,719 Voy a grabar la tercera parte de la solución del simulacro que os puse el viernes, ¿vale? 2 00:00:07,860 --> 00:00:16,600 Entonces, todo lo que vais a decir mientras estoy grabando, asume que tengo vuestro consentimiento para grabaros. 3 00:00:17,260 --> 00:00:18,820 Si no, levantáis la mano y paro, ¿vale? 4 00:00:19,300 --> 00:00:25,640 Ok, entonces, el tercer punto es, voy a crear esta clase de aquí, la clase móvil. 5 00:00:25,640 --> 00:00:31,800 La clase móvil tendrá que trabajar con App Store e App, ¿vale? 6 00:00:32,140 --> 00:00:34,700 Entonces, vamos a ver qué nos piden 7 00:00:34,700 --> 00:00:37,859 Nos pide la clase móvil, ¿vale? 8 00:00:37,899 --> 00:00:41,119 Representa un móvil y tiene varias cosas 9 00:00:41,119 --> 00:00:44,359 Primero, un array de aplicaciones instaladas 10 00:00:44,359 --> 00:00:49,679 Entonces, yo quiero un array de aplicaciones que son las que ahora mismo están instaladas en mi móvil 11 00:00:49,679 --> 00:00:51,439 ¿Cómo lo hago? 12 00:00:51,439 --> 00:00:53,659 Pues app 13 00:00:53,659 --> 00:00:55,079 Array 14 00:00:55,079 --> 00:00:58,420 Y lo llamamos 15 00:00:58,420 --> 00:00:59,100 Por ejemplo 16 00:00:59,100 --> 00:01:01,539 Mobile apps 17 00:01:01,539 --> 00:01:06,129 Estas son las aplicaciones del móvil 18 00:01:06,129 --> 00:01:07,390 ¿Vale? 19 00:01:07,810 --> 00:01:09,689 ¿Y qué le pongo dentro? Pues no lo sé 20 00:01:09,689 --> 00:01:11,409 Todavía nada ¿Vale? 21 00:01:11,430 --> 00:01:13,430 Ya veremos como gestiono esto 22 00:01:13,430 --> 00:01:16,170 ¿Si? Pero a mi ahora me interesa 23 00:01:16,170 --> 00:01:18,209 Saber que un objeto 24 00:01:18,209 --> 00:01:20,030 Tiene dentro 25 00:01:20,030 --> 00:01:21,730 Un array de aplicaciones 26 00:01:21,730 --> 00:01:24,430 Que son las aplicaciones que me he bajado del App Store 27 00:01:24,430 --> 00:01:25,709 Vale 28 00:01:25,709 --> 00:01:28,390 ¿Qué más tiene la aplicación móvil? 29 00:01:28,450 --> 00:01:30,510 Dice, una capacidad máxima 30 00:01:30,510 --> 00:01:31,650 Medida en gigabytes 31 00:01:31,650 --> 00:01:33,530 Por ahora estamos utilizando enteros 32 00:01:33,530 --> 00:01:34,569 Podemos utilizar double 33 00:01:34,569 --> 00:01:36,670 Entonces, un int 34 00:01:36,670 --> 00:01:37,989 Storage 35 00:01:37,989 --> 00:01:43,819 ¿Qué será? ¿Cuántos gigabytes de aplicaciones 36 00:01:43,819 --> 00:01:45,379 Puedo instalar? Si intento instalar 37 00:01:45,379 --> 00:01:47,799 Una nueva aplicación y no tengo espacio 38 00:01:47,799 --> 00:01:49,319 Me tendrá que decir 39 00:01:49,319 --> 00:01:51,079 Mira, no, oye, no lo puedo instalar 40 00:01:51,079 --> 00:01:52,519 ¿Sí? 41 00:01:53,359 --> 00:01:59,439 Y finalmente tiene un App Store asociado 42 00:01:59,439 --> 00:02:04,840 Como cuando yo me pillo un Android tengo el Google Play asociado 43 00:02:04,840 --> 00:02:07,659 Cuando me pillo un iPhone tengo el Apple Store asociado 44 00:02:07,659 --> 00:02:12,159 Pues también mi móvil tiene que saber dónde puedo sacar aplicaciones 45 00:02:12,159 --> 00:02:14,819 Entonces tendrá un App Store 46 00:02:14,819 --> 00:02:23,000 Tienda Apps 47 00:02:23,000 --> 00:02:30,330 Estas son las tres cosas que crean un móvil 48 00:02:30,330 --> 00:02:35,349 Es lo que caracteriza un móvil según lo que me ha mandado 49 00:02:35,349 --> 00:02:40,150 A partir de allí tendré que desarrollar su comportamiento haciendo móviles 50 00:02:40,150 --> 00:02:42,550 Haciendo métodos 51 00:02:42,550 --> 00:02:49,310 Entonces, la primera cosa que necesito es crear un objeto móvil 52 00:02:49,310 --> 00:02:52,949 Para crear un objeto móvil necesito un constructor 53 00:02:52,949 --> 00:02:55,669 ¿Cómo hago un constructor? 54 00:02:56,009 --> 00:02:57,590 Constructor es similar a un método 55 00:02:57,590 --> 00:02:59,770 Pero no tiene algo 56 00:02:59,770 --> 00:03:02,449 Que se devuelve 57 00:03:02,449 --> 00:03:06,069 Aquí no pongo void 58 00:03:06,069 --> 00:03:07,490 String o cosa por el estilo 59 00:03:07,490 --> 00:03:09,449 Y se tiene que llamar como la clase 60 00:03:09,449 --> 00:03:10,990 Por lo tanto móvil 61 00:03:10,990 --> 00:03:14,310 Ahora, yo tengo que crear 62 00:03:14,310 --> 00:03:15,590 Este móvil 63 00:03:15,590 --> 00:03:18,310 ¿Qué necesito saber de un móvil? 64 00:03:19,110 --> 00:03:19,229 ¿Vale? 65 00:03:19,229 --> 00:03:28,889 el objetivo de un constructor es inicializar estas aplicaciones que no están inicializadas 66 00:03:28,889 --> 00:03:36,349 vale entonces me tengo que preguntar cuando crea un móvil nuevo que quiero darle vale primero estas 67 00:03:36,349 --> 00:03:41,069 aplicaciones aquí no representan el sistema operativo las aplicaciones básicas vale nosotros 68 00:03:41,069 --> 00:03:45,810 simulamos que nuestro móvil esté vacío al principio si luego tiene solo el sistema 69 00:03:45,810 --> 00:03:51,550 operativo y yo le instalo las móvil que quiero por lo tanto este señor de aquí no se lo pasó 70 00:03:51,550 --> 00:04:10,400 por parámetro lo creo yo directamente móvil apps es igual a new app de 10 porque 10 posiciones 71 00:04:10,400 --> 00:04:12,520 porque me da la gana 72 00:04:12,520 --> 00:04:15,360 ¿vale? la idea es que esto 73 00:04:15,360 --> 00:04:17,519 no sea 10, sea 1 74 00:04:17,519 --> 00:04:21,120 y que cuando yo instale 75 00:04:21,120 --> 00:04:22,660 más de una aplicación 76 00:04:22,660 --> 00:04:25,379 pues él dinámicamente vaya creciendo 77 00:04:25,379 --> 00:04:27,079 disminuyendo o lo que sea 78 00:04:27,079 --> 00:04:29,199 ¿vale? pero como esta es una cosa 79 00:04:29,199 --> 00:04:31,420 avanzada y yo tengo poco tiempo 80 00:04:31,420 --> 00:04:32,620 para hacer este examen 81 00:04:32,620 --> 00:04:35,360 por ahora pienso fácil 82 00:04:35,360 --> 00:04:37,199 y simplifico y digo 83 00:04:37,199 --> 00:04:39,459 máximo puedo instalar 10 aplicaciones 84 00:04:39,459 --> 00:04:41,100 Me da igual, si tienes 85 00:04:41,100 --> 00:04:42,579 Estorage de 30 86 00:04:42,579 --> 00:04:44,920 Cada aplicación ocupa 1 87 00:04:44,920 --> 00:04:46,120 Podrías poner 30 88 00:04:46,120 --> 00:04:49,160 ¿Vale? Pero no, por ahora 89 00:04:49,160 --> 00:04:50,879 No quiero pensar en ese problema 90 00:04:50,879 --> 00:04:52,500 Por ahora simplemente básico 91 00:04:52,500 --> 00:04:54,240 Pongo 10, si quiero 92 00:04:54,240 --> 00:04:57,019 Pongo 30 en el sentido de que 93 00:04:57,019 --> 00:04:59,439 Como mínimo hemos puesto que son enteros 94 00:04:59,439 --> 00:05:01,120 Entonces como mínimo una aplicación 95 00:05:01,120 --> 00:05:03,579 Podrá tener 1 de tamaño 96 00:05:03,579 --> 00:05:05,399 Si pongo 30 aplicaciones 97 00:05:05,399 --> 00:05:07,000 De 1, máximo caben 30 98 00:05:07,000 --> 00:05:08,519 Ya está, solucionado 99 00:05:08,519 --> 00:05:09,300 ¿Vale? 100 00:05:10,560 --> 00:05:17,620 Hablo de 30 porque luego en el ejemplo que me pone aquí dice de crear un móvil con 30 GB 101 00:05:17,620 --> 00:05:19,100 ¿Vale? Por lo tanto 102 00:05:19,100 --> 00:05:24,040 Segundo atributo que quiero hacer 103 00:05:24,040 --> 00:05:25,680 El atributo storage 104 00:05:25,680 --> 00:05:27,079 ¿Cómo hago storage? 105 00:05:28,180 --> 00:05:34,819 ¿Móviles distintos pueden tener tamaño distinto? 106 00:05:35,680 --> 00:05:36,860 Eso sí, ¿vale? 107 00:05:37,240 --> 00:05:40,279 Entonces, lo storage hago que me lo pasen por aquí 108 00:05:40,279 --> 00:05:42,839 int storage 109 00:05:42,839 --> 00:05:44,879 y le digo que 110 00:05:44,879 --> 00:05:46,660 this.storage 111 00:05:46,660 --> 00:05:49,100 es igual a 112 00:05:49,100 --> 00:05:49,639 storage 113 00:05:49,639 --> 00:05:55,000 ya está 114 00:05:55,000 --> 00:05:57,939 repito, el objetivo de este 115 00:05:57,939 --> 00:06:00,399 constructor es rellenar 116 00:06:00,399 --> 00:06:02,399 estas tres aplicaciones 117 00:06:02,399 --> 00:06:04,439 y estos tres atributos 118 00:06:04,439 --> 00:06:06,500 perdón, entonces este atributo de aquí 119 00:06:06,500 --> 00:06:08,199 lo estoy rellenando 120 00:06:08,199 --> 00:06:10,339 yo, como me da la gana 121 00:06:10,339 --> 00:06:12,120 todos los móviles del mundo 122 00:06:12,120 --> 00:06:14,319 Tendrán esto al principio 123 00:06:14,319 --> 00:06:18,620 Esto he decidido que no 124 00:06:18,620 --> 00:06:20,879 Que no lo decido yo, sino que lo va a decidir 125 00:06:20,879 --> 00:06:22,240 Quien crea el móvil 126 00:06:22,240 --> 00:06:24,300 Quien crea el móvil me tiene que pasar 127 00:06:24,300 --> 00:06:26,800 Cuanto tamaño, cual es el tamaño de su memoria 128 00:06:26,800 --> 00:06:29,079 Vale, y yo lo pondré aquí dentro 129 00:06:29,079 --> 00:06:31,259 Y ahora me queda esto 130 00:06:31,259 --> 00:06:33,699 Quien decide 131 00:06:33,699 --> 00:06:36,160 Cuales son las aplicaciones 132 00:06:36,160 --> 00:06:39,079 Vale, cuales son el Apple Store 133 00:06:39,079 --> 00:06:40,000 El App Store 134 00:06:40,000 --> 00:06:42,899 Y puedo tener dos opciones 135 00:06:42,899 --> 00:06:45,240 O al crear un móvil 136 00:06:45,240 --> 00:06:47,439 El móvil se crea su propio App Store 137 00:06:47,439 --> 00:06:50,610 O 138 00:06:50,610 --> 00:06:52,589 Desde fuera 139 00:06:52,589 --> 00:06:54,870 Cuando llamaré un nuevo móvil 140 00:06:54,870 --> 00:06:57,069 Lo que haré es pasarle 141 00:06:57,069 --> 00:06:58,069 Un App Store 142 00:06:58,069 --> 00:06:59,310 Como parámetro 143 00:06:59,310 --> 00:07:02,170 Y entonces el App Store lo crearé fuera 144 00:07:02,170 --> 00:07:03,889 Y luego se lo pasaré a mis 145 00:07:03,889 --> 00:07:07,069 A mis móviles 146 00:07:07,069 --> 00:07:08,529 Hagamos que 147 00:07:08,529 --> 00:07:11,470 La App Store me viene desde fuera 148 00:07:11,470 --> 00:07:15,360 Esto me da la ventaja 149 00:07:15,360 --> 00:07:17,199 Que no todos los App Store del mundo 150 00:07:17,199 --> 00:07:17,980 Tienen que tener 151 00:07:17,980 --> 00:07:19,379 O sea, no todos los móviles del mundo 152 00:07:19,379 --> 00:07:21,000 Tienen que tener el mismo App Store 153 00:07:21,000 --> 00:07:23,800 Sino que podría crear 7 App Store distintos 154 00:07:23,800 --> 00:07:25,360 Y cuando crea un nuevo móvil 155 00:07:25,360 --> 00:07:27,139 Decir cual de los App Store 156 00:07:27,139 --> 00:07:28,319 Va utilizando 157 00:07:28,319 --> 00:07:30,839 App Store 158 00:07:30,839 --> 00:07:34,160 Tienda Apps 159 00:07:34,160 --> 00:07:37,620 Y aquí haré 160 00:07:37,620 --> 00:07:41,000 This.TiendaApps 161 00:07:41,000 --> 00:07:44,439 Es igual a tienda apps 162 00:07:44,439 --> 00:07:49,769 De esta forma, cuando yo creo un móvil nuevo 163 00:07:49,769 --> 00:07:51,949 Le tengo que pasar estos dos parámetros 164 00:07:51,949 --> 00:07:57,050 Y se me inicializan todos los atributos de estos móviles 165 00:07:57,050 --> 00:08:02,990 No puede haber móviles que no tengan estos atributos inicializados 166 00:08:02,990 --> 00:08:05,529 Porque para crear un móvil tengo que pasar por aquí 167 00:08:05,529 --> 00:08:07,389 Y esto está inicializando todo 168 00:08:07,389 --> 00:08:09,389 Ahora, ¿podría inicializarla nul? 169 00:08:09,709 --> 00:08:09,990 Sí 170 00:08:09,990 --> 00:08:12,910 Pero inicializar la null es una inicialización 171 00:08:12,910 --> 00:08:13,829 Aceptable 172 00:08:13,829 --> 00:08:15,769 Ten cuidado con lo que haces 173 00:08:15,769 --> 00:08:18,149 Porque luego cuando intentas utilizar ese objeto 174 00:08:18,149 --> 00:08:19,689 Te dará un null pointer exception 175 00:08:19,689 --> 00:08:21,089 Pero me vale 176 00:08:21,089 --> 00:08:22,970 ¿Si? 177 00:08:24,970 --> 00:08:25,329 Eh 178 00:08:25,329 --> 00:08:28,470 No me acuerdo 179 00:08:28,470 --> 00:08:29,689 Quería decir algo más 180 00:08:29,689 --> 00:08:32,309 Podría hacer 181 00:08:32,309 --> 00:08:34,269 Otros constructores distintos 182 00:08:34,269 --> 00:08:36,049 ¿Vale? Podría hacer un constructor 183 00:08:36,049 --> 00:08:38,309 Que no recibe el app store y da un app store 184 00:08:38,309 --> 00:08:40,330 por defecto, si quieres hacerlo 185 00:08:40,330 --> 00:08:42,250 porque no, vale, tanto estamos 186 00:08:42,250 --> 00:08:43,870 aquí, entonces 187 00:08:43,870 --> 00:08:45,490 en este otro 188 00:08:45,490 --> 00:08:46,909 constructor 189 00:08:46,909 --> 00:08:50,389 lo que hago es te doy solo el tamaño 190 00:08:50,389 --> 00:08:52,490 y entonces te asocio 191 00:08:52,490 --> 00:08:54,169 a la tienda apps 192 00:08:54,169 --> 00:08:56,350 no, esto no lo 193 00:08:56,350 --> 00:08:57,990 tengo, porque no me lo han pasado 194 00:08:57,990 --> 00:09:00,429 entonces tendré que crearle un objeto 195 00:09:00,429 --> 00:09:01,330 eh 196 00:09:01,330 --> 00:09:03,389 me llama esto 197 00:09:03,389 --> 00:09:06,269 lo diré, app store 198 00:09:06,269 --> 00:09:08,190 vale, entonces será un 199 00:09:08,190 --> 00:09:14,889 New 200 00:09:14,889 --> 00:09:18,169 App Store 201 00:09:18,169 --> 00:09:22,879 Y al App Store le tengo que pasar por aquí 202 00:09:22,879 --> 00:09:24,360 Un código 203 00:09:24,360 --> 00:09:25,879 Parecido 204 00:09:25,879 --> 00:09:27,600 A este de aquí 205 00:09:27,600 --> 00:09:29,259 Que hemos visto antes 206 00:09:29,259 --> 00:09:30,600 ¿Vale? 207 00:09:30,860 --> 00:09:33,220 Entonces ya que estoy me copio esto 208 00:09:33,220 --> 00:09:35,700 Que es el ejemplo que me ha dado el enunciado 209 00:09:35,700 --> 00:09:39,340 Y se lo paso 210 00:09:39,340 --> 00:09:41,039 Como parámetro 211 00:09:41,039 --> 00:09:43,159 Como string 212 00:09:43,159 --> 00:09:44,720 ¿Vale? 213 00:09:45,139 --> 00:09:47,779 Entonces ahora este App Store de aquí 214 00:09:47,779 --> 00:09:50,039 Me creará un App Store 215 00:09:50,039 --> 00:09:51,399 Con dentro Minecraft 216 00:09:51,399 --> 00:09:53,200 Con dentro Loves of Legend 217 00:09:53,200 --> 00:09:55,799 Con dentro Fortnite, con dentro Tok Tok 218 00:09:55,799 --> 00:09:56,320 Y todo eso 219 00:09:56,320 --> 00:09:58,240 ¿Si? 220 00:09:59,919 --> 00:10:02,179 La diferencia entre estos dos constructores 221 00:10:02,179 --> 00:10:03,320 Es que esto me permite 222 00:10:03,320 --> 00:10:05,340 Modificar también el App Store 223 00:10:05,340 --> 00:10:07,559 Mientras este de aquí el App Store me da esto por defecto 224 00:10:07,559 --> 00:10:09,980 Todos los que cree con este constructor 225 00:10:09,980 --> 00:10:11,179 Tendrán este mismo 226 00:10:11,179 --> 00:10:12,980 App Store 227 00:10:12,980 --> 00:10:18,980 Pregunta, ¿qué hago con estas cosas de aquí? 228 00:10:19,600 --> 00:10:24,639 ¿Las dejo así o las pongo privadas? 229 00:10:33,580 --> 00:10:38,360 Por ejemplo, estas de aquí que son las aplicaciones que yo pongo aquí dentro 230 00:10:38,360 --> 00:10:43,960 Si me leo el enunciado veo que hay cosas como GetUp o RemoveUp 231 00:10:43,960 --> 00:10:48,480 Que son para añadir una aplicación o quitar una aplicación 232 00:10:48,480 --> 00:10:54,980 Entonces no quiero que la gente acceda directamente a este array y que lo modifique 233 00:10:54,980 --> 00:11:02,659 Quiero que para modificar este array se pase por mi getApp o por mi removeApp 234 00:11:02,659 --> 00:11:07,940 Por lo tanto lo pongo privado 235 00:11:07,940 --> 00:11:12,759 Desde fuera de esta clase no se puede acceder a esta variable 236 00:11:12,759 --> 00:11:17,360 Quiero que alguien después de haber creado un móvil 237 00:11:17,360 --> 00:11:19,980 Le pueda cambiar el tamaño de la memoria 238 00:11:19,980 --> 00:11:24,820 Tampoco, yo quiero que se sete al principio 239 00:11:24,820 --> 00:11:27,179 Y luego no se pueda modificar 240 00:11:27,179 --> 00:11:29,960 Por lo tanto lo pongo private 241 00:11:29,960 --> 00:11:35,840 Entonces aquí es donde se define el storage del móvil 242 00:11:35,840 --> 00:11:37,919 Y luego la memoria del móvil no puede cambiar 243 00:11:37,919 --> 00:11:42,600 Y quiero que se pueda cambiar el App Store 244 00:11:42,600 --> 00:11:44,539 A lo mejor podría ser interesante 245 00:11:44,539 --> 00:11:46,720 Por si hago una actualización del App Store 246 00:11:46,720 --> 00:11:47,860 Podérselo modificar 247 00:11:47,860 --> 00:11:51,100 Depende de si quiero que puedan acceder 248 00:11:51,100 --> 00:11:53,100 Directamente a esto 249 00:11:53,100 --> 00:11:55,080 O si tengan que pasar 250 00:11:55,080 --> 00:11:56,879 Por un método que a lo mejor hace 251 00:11:56,879 --> 00:11:59,259 Algún tipo de control que le proporciono yo 252 00:11:59,259 --> 00:12:00,419 Pues así 253 00:12:00,419 --> 00:12:02,080 Porque no sé muy bien que hacer 254 00:12:02,080 --> 00:12:04,039 Pues lo dejo por ahora libre 255 00:12:04,039 --> 00:12:04,860 ¿Vale? 256 00:12:06,000 --> 00:12:08,080 Normalmente deberíamos tender 257 00:12:08,080 --> 00:12:10,179 A que todos estos sean privados 258 00:12:10,179 --> 00:12:14,559 Y que si alguien quiere modificar 259 00:12:14,559 --> 00:12:16,039 Algo de mi clase 260 00:12:16,039 --> 00:12:18,419 Tenga que pasar por un método 261 00:12:18,419 --> 00:12:19,879 Que yo le proporciono 262 00:12:19,879 --> 00:12:22,320 Que hace los controles suficientes 263 00:12:22,320 --> 00:12:24,299 Para decir si el valor 264 00:12:24,299 --> 00:12:25,860 Que me has pasado y le quieres meter 265 00:12:25,860 --> 00:12:27,340 Es correcto o no 266 00:12:27,340 --> 00:12:30,159 ¿Vale? Entonces técnicamente 267 00:12:30,159 --> 00:12:32,139 Esto normalmente se tende 268 00:12:32,139 --> 00:12:33,360 Que sean todos privados 269 00:12:33,360 --> 00:12:34,740 Pero bueno 270 00:12:34,740 --> 00:12:39,950 Entonces tengo mi móvil 271 00:12:39,950 --> 00:12:42,370 Y tengo la posibilidad de crear móviles 272 00:12:42,370 --> 00:12:43,730 vale, fenomenal 273 00:12:43,730 --> 00:12:46,230 vamos ahora a hacerle hacer algo 274 00:12:46,230 --> 00:12:46,990 a esto 275 00:12:46,990 --> 00:12:49,309 la clase móvil puede hacer 276 00:12:49,309 --> 00:12:51,750 la primera cosa es navegar app store 277 00:12:51,750 --> 00:12:54,230 navegar app store quiere decir que yo accedo al app store 278 00:12:54,230 --> 00:12:56,029 y miro que aplicaciones hay 279 00:12:56,029 --> 00:12:57,970 para que luego pueda yo bajarme 280 00:12:57,970 --> 00:12:59,129 una de estas aplicaciones 281 00:12:59,129 --> 00:13:00,730 vale, fenomenal 282 00:13:00,730 --> 00:13:04,429 public 283 00:13:04,429 --> 00:13:11,620 voy a mirar un momento app store 284 00:13:11,620 --> 00:13:13,519 porque yo aquí tengo un list app 285 00:13:13,519 --> 00:13:17,980 list app que es el que me lista 286 00:13:17,980 --> 00:13:19,039 las aplicaciones 287 00:13:19,039 --> 00:13:22,000 es una aplicación que devuelve 288 00:13:22,000 --> 00:13:23,639 un string, vale 289 00:13:23,639 --> 00:13:25,840 entonces yo aquí voy a hacer que 290 00:13:25,840 --> 00:13:27,820 sea el móvil el que imprime 291 00:13:27,820 --> 00:13:30,059 en pantalla, vale, o sea el móvil cuando yo le digo 292 00:13:30,059 --> 00:13:31,919 hazme ver las aplicaciones 293 00:13:31,919 --> 00:13:33,299 se conecta al App Store 294 00:13:33,299 --> 00:13:35,940 el App Store le dirá el listado 295 00:13:35,940 --> 00:13:37,940 de las aplicaciones, que es una cosa que ya 296 00:13:37,940 --> 00:13:39,899 he hecho porque ya existe, y yo 297 00:13:39,899 --> 00:13:41,940 móvil lo hago ver a mi 298 00:13:41,940 --> 00:13:44,179 usuario, vale, por lo tanto 299 00:13:44,179 --> 00:13:45,899 esto no devuelve nada 300 00:13:45,899 --> 00:13:48,080 Se llama 301 00:13:48,080 --> 00:13:50,559 Navigate 302 00:13:50,559 --> 00:13:52,840 No me equivoco, no, navegar 303 00:13:52,840 --> 00:13:53,500 App Store 304 00:13:53,500 --> 00:13:56,080 Navegar 305 00:13:56,080 --> 00:13:58,080 App Store 306 00:13:58,080 --> 00:14:00,899 No recibe nada 307 00:14:00,899 --> 00:14:02,980 Porque el App Store al que voy 308 00:14:02,980 --> 00:14:04,360 A mirar 309 00:14:04,360 --> 00:14:06,500 Es el que tengo yo aquí 310 00:14:06,500 --> 00:14:08,980 Y lo único que tengo 311 00:14:08,980 --> 00:14:10,340 Que hacer aquí dentro es 312 00:14:10,340 --> 00:14:13,019 Imprimir por pantalla 313 00:14:13,019 --> 00:14:15,220 Mi 314 00:14:15,220 --> 00:14:17,580 tienda apps 315 00:14:17,580 --> 00:14:19,019 punto 316 00:14:19,019 --> 00:14:21,259 lista 317 00:14:21,259 --> 00:14:26,250 ya lo tengo 318 00:14:26,250 --> 00:14:28,330 el método que me lista 319 00:14:28,330 --> 00:14:29,850 todas las aplicaciones 320 00:14:29,850 --> 00:14:31,990 dentro de un app store 321 00:14:31,990 --> 00:14:34,950 entonces lo único que tengo que hacer 322 00:14:34,950 --> 00:14:36,149 es llamar ese método 323 00:14:36,149 --> 00:14:38,590 que es sobre mi app store 324 00:14:38,590 --> 00:14:39,769 llamo 325 00:14:39,769 --> 00:14:42,830 el método que me lista todas las aplicaciones 326 00:14:42,830 --> 00:14:44,370 de ese app store, vale, fenomenal 327 00:14:44,370 --> 00:14:51,809 Y luego lo que hago, como esto me devuelve un string, pues lo que hago es imprimirlo en pantalla. 328 00:14:56,240 --> 00:14:56,659 ¿Dudas? 329 00:14:56,659 --> 00:15:18,970 A este punto ya puedo empezar public void main string args a hacer un pequeño main para probar mis móviles. 330 00:15:18,970 --> 00:15:21,309 Vale, entonces me creo 331 00:15:21,309 --> 00:15:23,029 Un main, public stack 332 00:15:23,029 --> 00:15:27,330 Me creo en mi main 333 00:15:27,330 --> 00:15:28,669 Y en el main que hago 334 00:15:28,669 --> 00:15:31,070 Móvil, móvil 1 335 00:15:31,070 --> 00:15:32,690 Es igual a new 336 00:15:32,690 --> 00:15:33,750 Móvil 337 00:15:33,750 --> 00:15:37,669 De 30 GB 338 00:15:37,669 --> 00:15:39,929 Y nada más 339 00:15:39,929 --> 00:15:44,279 Entonces esto me ha creado un móvil M1 340 00:15:44,279 --> 00:15:45,659 Y ahora yo puedo decir 341 00:15:45,659 --> 00:15:47,059 M1 punto 342 00:15:47,059 --> 00:15:49,039 Navegar 343 00:15:49,039 --> 00:15:50,960 App Store 344 00:15:50,960 --> 00:15:58,179 Esto me debería imprimir en pantalla 345 00:15:58,179 --> 00:16:07,200 La información que está contenida en este App Store que he creado 346 00:16:07,200 --> 00:16:08,700 Vamos a ver si es verdad 347 00:16:08,700 --> 00:16:10,980 Aquí lo tengo 348 00:16:10,980 --> 00:16:15,139 Fijaos que esto lo está escribiendo el móvil 349 00:16:15,139 --> 00:16:21,980 Desde el main preguntando al móvil que me escriba las aplicaciones a las que tiene acceso 350 00:16:21,980 --> 00:16:25,700 Quiero ser, ya que tengo esto aquí 351 00:16:25,700 --> 00:16:26,279 Puedo decir 352 00:16:26,279 --> 00:16:30,100 Soy 353 00:16:30,100 --> 00:16:33,379 Un móvil 354 00:16:33,379 --> 00:16:37,320 De capacidad 355 00:16:37,320 --> 00:16:43,179 Más 356 00:16:43,179 --> 00:16:45,559 Storage 357 00:16:45,559 --> 00:16:53,019 No hemos puesto 358 00:16:53,019 --> 00:16:54,720 Nada que identifique un 359 00:16:54,720 --> 00:16:57,179 Un móvil 360 00:16:57,179 --> 00:16:59,120 ¿Vale? Por lo tanto no puedo poner 361 00:16:59,120 --> 00:17:00,539 Soy el móvil X 362 00:17:00,539 --> 00:17:02,759 Porque no tengo aquí modelo 363 00:17:02,759 --> 00:17:04,880 no tengo aquí serial number, no tengo nada 364 00:17:04,880 --> 00:17:06,900 no lo he puesto, vale, por lo tanto 365 00:17:06,900 --> 00:17:08,859 lo único que puedo hacer es 366 00:17:08,859 --> 00:17:10,920 decir que soy un móvil con 367 00:17:10,920 --> 00:17:12,380 mi capacidad esta de aquí 368 00:17:12,380 --> 00:17:14,900 y cosas por el estilo, vale, esto para que 369 00:17:14,900 --> 00:17:16,819 veáis que lo que se está 370 00:17:16,819 --> 00:17:18,960 escribiendo es el método 371 00:17:18,960 --> 00:17:20,799 del móvil, no 372 00:17:20,799 --> 00:17:22,759 el método del 373 00:17:22,759 --> 00:17:24,559 App Store, vale 374 00:17:24,559 --> 00:17:26,359 pero el móvil 375 00:17:26,359 --> 00:17:27,940 lo que hace es 376 00:17:27,940 --> 00:17:31,059 acceder al método 377 00:17:31,059 --> 00:17:32,839 Del App Store 378 00:17:32,839 --> 00:17:35,460 Recibe un string 379 00:17:35,460 --> 00:17:37,259 Donde está toda la secuencia 380 00:17:37,259 --> 00:17:38,839 Del listado 381 00:17:38,839 --> 00:17:40,420 Y lo que hace es 382 00:17:40,420 --> 00:17:41,799 Imprimir una en pantalla 383 00:17:41,799 --> 00:17:45,380 Realmente no me pongo 384 00:17:45,380 --> 00:17:47,420 Yo ahora a acceder 385 00:17:47,420 --> 00:17:49,680 A este array de aquí 386 00:17:49,680 --> 00:17:51,299 Al array apps 387 00:17:51,299 --> 00:17:52,880 Del App Store 388 00:17:52,880 --> 00:17:55,539 Y empezar a leer cada una de ellas 389 00:17:55,539 --> 00:17:56,440 Porque esto ya lo he hecho 390 00:17:56,440 --> 00:17:58,900 App Store ya me proporciona 391 00:17:58,900 --> 00:18:01,380 Es la posibilidad de hacer un listado 392 00:18:01,380 --> 00:18:02,299 De las aplicaciones 393 00:18:02,299 --> 00:18:04,220 Por lo tanto uso ese método 394 00:18:04,220 --> 00:18:05,700 Uso el método que está en aplicación 395 00:18:05,700 --> 00:18:08,059 En concreto está 396 00:18:08,059 --> 00:18:10,359 Este método de aquí, lista 397 00:18:10,359 --> 00:18:13,099 Que ya está implementado 398 00:18:13,099 --> 00:18:16,180 ¿Dudas? 399 00:18:19,869 --> 00:18:20,269 Vale 400 00:18:20,269 --> 00:18:24,720 Entonces navegar a App Store 401 00:18:24,720 --> 00:18:26,640 Ya está hecho, esto me servirá porque 402 00:18:26,640 --> 00:18:28,700 Al usuario navegará al App Store 403 00:18:28,700 --> 00:18:30,700 Mirará todas las aplicaciones que tiene 404 00:18:30,700 --> 00:18:32,359 Tiene estas aplicaciones aquí y ahora 405 00:18:32,359 --> 00:18:34,240 Decidirá, vale, instálame 406 00:18:34,240 --> 00:18:35,900 logs of legend 407 00:18:35,900 --> 00:18:38,720 y él intentará instalar logs of legend 408 00:18:38,720 --> 00:18:40,640 o instálame whatsapp 409 00:18:40,640 --> 00:18:41,759 si 410 00:18:41,759 --> 00:18:45,660 vale 411 00:18:45,660 --> 00:18:48,859 siguiente método 412 00:18:48,859 --> 00:18:50,559 get up 413 00:18:50,559 --> 00:18:53,440 public 414 00:18:53,440 --> 00:18:54,720 void 415 00:18:54,720 --> 00:18:57,259 get 416 00:18:57,259 --> 00:18:58,119 up 417 00:18:58,119 --> 00:19:00,299 con 418 00:19:00,299 --> 00:19:03,099 pilla una string vale que será 419 00:19:03,099 --> 00:19:04,700 string 420 00:19:04,700 --> 00:19:06,019 name 421 00:19:06,019 --> 00:19:09,220 Este de aquí 422 00:19:09,220 --> 00:19:11,140 Lo que tiene que hacer 423 00:19:11,140 --> 00:19:13,220 Es instalar 424 00:19:13,220 --> 00:19:15,599 En mi 425 00:19:15,599 --> 00:19:18,660 Array de aplicaciones 426 00:19:18,660 --> 00:19:21,599 Que son las aplicaciones instaladas en el móvil 427 00:19:21,599 --> 00:19:23,240 Tiene que instalar 428 00:19:23,240 --> 00:19:25,319 La que tenga name 429 00:19:25,319 --> 00:19:27,859 Pasado por aquí 430 00:19:27,859 --> 00:19:30,200 ¿Vale? 431 00:19:31,140 --> 00:19:31,700 Entonces 432 00:19:31,700 --> 00:19:34,259 La primera cosa que voy a hacer 433 00:19:34,259 --> 00:19:35,599 Es buscar 434 00:19:35,599 --> 00:19:37,440 Este nombre 435 00:19:37,440 --> 00:19:39,720 En el App Store 436 00:19:39,720 --> 00:19:41,920 Y que el App Store 437 00:19:41,920 --> 00:19:43,680 Me devuelva una copia 438 00:19:43,680 --> 00:19:45,140 De esa aplicación 439 00:19:45,140 --> 00:19:47,519 ¿Vale? 440 00:19:47,559 --> 00:19:50,119 Una copia, no quiero una referencia 441 00:19:50,119 --> 00:19:51,420 Al objeto del App Store 442 00:19:51,420 --> 00:19:53,299 Quiero bajarme 443 00:19:53,299 --> 00:19:55,680 Copiarme esa aplicación 444 00:19:55,680 --> 00:19:56,720 ¿Vale? 445 00:19:56,980 --> 00:19:59,299 Y yo tengo ya un método que me hace esto 446 00:19:59,299 --> 00:20:00,819 El método install 447 00:20:00,819 --> 00:20:05,009 El método install 448 00:20:05,009 --> 00:20:06,650 Al que le paso un nombre 449 00:20:06,650 --> 00:20:08,309 Lo que hace es 450 00:20:08,309 --> 00:20:09,529 Me busca 451 00:20:09,529 --> 00:20:11,670 La aplicación 452 00:20:11,670 --> 00:20:14,170 Y si la encuentra 453 00:20:14,170 --> 00:20:15,910 Me devuelve una copia 454 00:20:15,910 --> 00:20:18,150 Si no la encuentra 455 00:20:18,150 --> 00:20:19,230 Me devolverá null 456 00:20:19,230 --> 00:20:22,049 Por lo tanto 457 00:20:22,049 --> 00:20:24,109 Yo aquí lo único que tengo que hacer es 458 00:20:24,109 --> 00:20:24,970 App 459 00:20:24,970 --> 00:20:26,869 Nueva app 460 00:20:26,869 --> 00:20:30,900 La que quiero instalar ahora 461 00:20:30,900 --> 00:20:33,700 Es igual a 462 00:20:33,700 --> 00:20:35,400 Tienda apps 463 00:20:35,400 --> 00:20:37,119 Accedo a mi 464 00:20:37,119 --> 00:20:41,980 App Store 465 00:20:41,980 --> 00:20:42,599 ¿Vale? 466 00:20:43,759 --> 00:20:45,680 Punto install 467 00:20:45,680 --> 00:20:48,599 Que es el método que me permite copiarme 468 00:20:48,599 --> 00:20:49,559 Las cosas 469 00:20:49,559 --> 00:20:52,559 De el nombre que me ha dado el usuario 470 00:20:52,559 --> 00:20:54,140 El nombre que se me ha dado 471 00:20:54,140 --> 00:20:55,839 ¿Vale? 472 00:20:56,640 --> 00:20:58,960 Entonces, si esto funciona 473 00:20:58,960 --> 00:21:03,529 Cuando he hecho esto 474 00:21:03,529 --> 00:21:05,950 Aquí dentro tendré 475 00:21:05,950 --> 00:21:07,490 Una referencia 476 00:21:07,490 --> 00:21:10,650 A una copia de mi aplicación 477 00:21:10,650 --> 00:21:11,910 Que está en el App Store 478 00:21:11,910 --> 00:21:12,789 Se copia 479 00:21:12,789 --> 00:21:15,490 Se crea una copia de este mismo 480 00:21:15,490 --> 00:21:17,650 O sea, otro objeto con los mismos 481 00:21:17,650 --> 00:21:18,650 Valores dentro 482 00:21:18,650 --> 00:21:21,309 Y yo ahora tendré una referencia 483 00:21:21,309 --> 00:21:22,970 A este nuevo objeto 484 00:21:22,970 --> 00:21:24,609 Esto lo dejo en paz 485 00:21:24,609 --> 00:21:31,980 Entonces, ¿qué hago ahora? 486 00:21:32,680 --> 00:21:34,539 Pues, la primera cosa 487 00:21:34,539 --> 00:21:36,160 Que tengo que comprobar es 488 00:21:36,160 --> 00:21:49,420 Exacto 489 00:21:49,420 --> 00:21:51,140 Es comprobar 490 00:21:51,140 --> 00:21:53,019 Si esta cosa de aquí es null 491 00:21:53,019 --> 00:21:55,220 Porque si es null 492 00:21:55,220 --> 00:21:57,200 Quiere decir que yo he pedido una aplicación 493 00:21:57,200 --> 00:21:58,880 Que no existe en el App Store 494 00:21:58,880 --> 00:22:01,759 Y por lo tanto no la voy a instalar en mi móvil 495 00:22:01,759 --> 00:22:03,460 ¿Sí? 496 00:22:04,359 --> 00:22:04,839 Entonces 497 00:22:04,839 --> 00:22:06,359 If 498 00:22:06,359 --> 00:22:08,779 Nueva app 499 00:22:08,779 --> 00:22:11,380 Is not null 500 00:22:11,380 --> 00:22:15,819 Entonces ahora voy a instalarla 501 00:22:15,819 --> 00:22:16,420 En mi móvil 502 00:22:16,420 --> 00:22:17,779 Si no, no hago nada 503 00:22:17,779 --> 00:22:22,059 Si yo te pido una aplicación que no está en el móvil 504 00:22:22,059 --> 00:22:24,480 Al máximo le puedo hacer una cosa como else 505 00:22:24,480 --> 00:22:32,079 Y escribir un mensaje de error de la aplicación 506 00:22:32,079 --> 00:22:33,359 Error 507 00:22:33,359 --> 00:22:42,529 No se puede instalar la aplicación 508 00:22:42,529 --> 00:22:45,250 Más nombre 509 00:22:45,250 --> 00:22:46,170 Más name 510 00:22:46,170 --> 00:22:50,529 Si lo que me ha devuelto es un null 511 00:22:50,529 --> 00:22:52,529 Entonces entrará aquí y diré 512 00:22:52,529 --> 00:22:53,430 Ha habido un error 513 00:22:53,430 --> 00:22:55,490 Me ha salido un error en el móvil 514 00:22:55,490 --> 00:22:57,990 Dice no puedo instalar la aplicación que me has pedido tú 515 00:22:57,990 --> 00:23:01,390 A lo mejor es que me has pedido una aplicación que no está en el App Store 516 00:23:01,390 --> 00:23:02,369 Probablemente 517 00:23:02,369 --> 00:23:03,690 ¿Vale? 518 00:23:04,130 --> 00:23:04,609 Ok 519 00:23:04,609 --> 00:23:06,549 Si en vez 520 00:23:06,549 --> 00:23:09,509 La nueva aplicación me ha llegado 521 00:23:09,509 --> 00:23:10,849 Y es correcta 522 00:23:10,849 --> 00:23:11,369 ¿Vale? 523 00:23:11,450 --> 00:23:12,529 Ahora tengo aquí esta 524 00:23:12,529 --> 00:23:15,549 No la he instalado todavía en el móvil 525 00:23:15,549 --> 00:23:15,970 ¿Vale? 526 00:23:15,990 --> 00:23:18,509 Porque para instalarla en el móvil la tengo que copiar 527 00:23:18,509 --> 00:23:19,529 Aquí dentro 528 00:23:19,529 --> 00:23:22,940 ¿Sí? 529 00:23:24,599 --> 00:23:25,119 Entonces 530 00:23:25,119 --> 00:23:28,480 La primera cosa que tengo que hacer 531 00:23:28,480 --> 00:23:28,920 ¿Qué es? 532 00:23:35,799 --> 00:23:40,619 Bueno, vamos a hacerlo sencillo, luego lo mejoramos, lo complicamos, ¿vale? 533 00:23:40,980 --> 00:23:43,140 La instalo, instalémosla. 534 00:23:43,420 --> 00:23:45,700 ¿Cómo instalo esta en mi móvil? 535 00:23:49,490 --> 00:23:58,900 Pues en móvil apps, de cero, le pongo nueva app. 536 00:24:00,420 --> 00:24:01,519 Ya está, instalada. 537 00:24:03,839 --> 00:24:06,299 ¿Cuántos millones de problemas tenemos aquí? 538 00:24:07,279 --> 00:24:09,000 Decidme uno y lo resolvemos. 539 00:24:09,000 --> 00:24:23,309 Esto para vosotros funciona 540 00:24:23,309 --> 00:24:26,009 Vale, instalo una aplicación 541 00:24:26,009 --> 00:24:27,410 Pues me la instala, fenomenal 542 00:24:27,410 --> 00:24:28,849 Instalo otra aplicación, ¿qué pasa? 543 00:24:31,839 --> 00:24:33,160 Que me la vuelva a meter 544 00:24:33,160 --> 00:24:35,200 Entonces me machaca 545 00:24:35,200 --> 00:24:37,720 La aplicación que tenía antes y me instala la nueva 546 00:24:37,720 --> 00:24:39,539 Con este método puedo instalar 547 00:24:39,539 --> 00:24:41,740 Una sola aplicación y siempre en posición 548 00:24:41,740 --> 00:24:43,000 Cero de Movilabs 549 00:24:43,000 --> 00:24:44,900 ¿Quiero que sea así? No 550 00:24:44,900 --> 00:24:47,079 Por lo tanto 551 00:24:47,079 --> 00:24:48,640 ¿Qué hago? 552 00:24:50,279 --> 00:24:50,519 For 553 00:24:50,519 --> 00:24:54,109 hagamos un for 554 00:24:54,109 --> 00:24:56,049 y que hago en este for 555 00:24:56,049 --> 00:25:05,049 menos de que 556 00:25:05,049 --> 00:25:14,089 de la capacidad del array 557 00:25:14,089 --> 00:25:18,069 entonces mobileapps.lang 558 00:25:18,069 --> 00:25:21,670 y más más 559 00:25:21,670 --> 00:25:23,910 y que hago en esto 560 00:25:23,910 --> 00:25:34,109 if 561 00:25:34,109 --> 00:25:36,470 mobileapps 562 00:25:36,470 --> 00:25:38,309 mobileapps de i 563 00:25:38,309 --> 00:25:45,539 es null 564 00:25:45,539 --> 00:25:50,470 entonces 565 00:25:51,150 --> 00:26:03,880 esto lo quito 566 00:26:03,880 --> 00:26:07,269 ¿Así funciona? 567 00:26:16,890 --> 00:26:17,369 Pregunto 568 00:26:17,369 --> 00:26:19,529 ¿Sí? 569 00:26:22,940 --> 00:26:24,900 Ok, a ver, posición 0 es null 570 00:26:24,900 --> 00:26:27,019 Se la escribo 571 00:26:27,019 --> 00:26:28,680 Posición 1 también es null 572 00:26:28,680 --> 00:26:29,539 Se la escribo 573 00:26:29,539 --> 00:26:31,160 Posición 2 es null 574 00:26:31,160 --> 00:26:33,319 Posición 3 es null 575 00:26:33,319 --> 00:26:35,539 Posición 4 es null 576 00:26:35,539 --> 00:26:36,420 Se la escribo 577 00:26:36,420 --> 00:26:39,619 Esto me copia esto 578 00:26:39,619 --> 00:26:43,420 En todas las celdas 579 00:26:43,420 --> 00:26:46,759 La primera vez que instalo una aplicación 580 00:26:46,759 --> 00:26:48,200 Me la copia 30 veces 581 00:26:48,200 --> 00:26:50,559 Entonces, ¿qué hago? 582 00:26:58,789 --> 00:26:59,950 O aquí le pongo 583 00:26:59,950 --> 00:27:02,089 Que i es igual a 584 00:27:02,089 --> 00:27:03,309 MobileApps.length 585 00:27:03,309 --> 00:27:04,769 Salgo 586 00:27:04,769 --> 00:27:07,329 Y otra opción 587 00:27:07,329 --> 00:27:09,990 Que ya hemos hecho 50 veces en ejercicios anteriores 588 00:27:09,990 --> 00:27:11,210 Boolean 589 00:27:11,210 --> 00:27:13,509 Espacio 590 00:27:13,509 --> 00:27:15,289 Encontrado 591 00:27:15,289 --> 00:27:18,329 Es igual a 592 00:27:18,329 --> 00:27:18,809 False 593 00:27:18,809 --> 00:27:27,960 Si entro aquí dentro, espacio encontrado se vuelve true 594 00:27:27,960 --> 00:27:35,380 Y yo me quedo ciclando en este for mientras que esto sea verdadero 595 00:27:35,380 --> 00:27:40,640 Y también espacio encontrado 596 00:27:40,640 --> 00:27:45,480 Perdón, not espacio, y no haya encontrado el espacio 597 00:27:45,480 --> 00:27:50,640 En el momento en que esto se vuelve true 598 00:27:50,640 --> 00:27:52,779 Porque ya he puesto 599 00:27:52,779 --> 00:27:54,519 Esto en algún espacio vacío 600 00:27:54,519 --> 00:27:56,960 Esto se vuelve falso 601 00:27:56,960 --> 00:27:58,180 Por lo tanto 602 00:27:58,180 --> 00:27:59,859 Todo esto es falso 603 00:27:59,859 --> 00:28:01,740 Y por lo tanto me sale del for 604 00:28:01,740 --> 00:28:04,099 Y no me lo copio 30 veces 605 00:28:04,099 --> 00:28:08,400 Lo repito con más calma 606 00:28:08,400 --> 00:28:09,700 ¿Sí? 607 00:28:10,799 --> 00:28:11,059 Vale 608 00:28:11,059 --> 00:28:14,220 Hago este for 609 00:28:14,220 --> 00:28:15,299 No es la primera vez que lo hacemos 610 00:28:15,299 --> 00:28:17,160 Con dos condiciones 611 00:28:17,160 --> 00:28:20,279 La primera es que me voy recorriendo el array, vale 612 00:28:20,279 --> 00:28:26,619 Pero también me acuerdo si he encontrado o no el espacio para meter mi aplicación 613 00:28:26,619 --> 00:28:29,980 Que al principio no lo he encontrado, por lo tanto es falso 614 00:28:29,980 --> 00:28:33,799 Entonces, cuando voy a esta condición 615 00:28:33,799 --> 00:28:37,700 Esta condición entera, o sea todo esto 616 00:28:37,700 --> 00:28:47,140 Es true si, solo si, esta parte y también esta parte 617 00:28:47,140 --> 00:28:49,319 Son true las dos 618 00:28:49,319 --> 00:28:50,559 ¿Vale? 619 00:28:50,579 --> 00:28:52,400 Porque tengo un i 620 00:28:52,400 --> 00:28:54,920 Un end en el medio 621 00:28:54,920 --> 00:28:56,500 ¿Si? 622 00:28:57,059 --> 00:28:57,779 Entonces 623 00:28:57,779 --> 00:29:00,740 Esto, si os fijáis 624 00:29:00,740 --> 00:29:01,920 Es not 625 00:29:01,920 --> 00:29:04,660 El inverso de esto 626 00:29:04,660 --> 00:29:06,680 Por lo tanto, si este es falso 627 00:29:06,680 --> 00:29:07,799 Este es true 628 00:29:07,799 --> 00:29:10,920 Es decir, que mientras 629 00:29:10,920 --> 00:29:13,480 Que no haya encontrado esto 630 00:29:13,480 --> 00:29:15,559 Quédate aquí dentro dando vueltas 631 00:29:15,559 --> 00:29:33,920 Yo me quedo dando vueltas aquí en dos casos. El primer caso es mientras que i sea menor del tamaño de mi array. Entonces voy aumentando ese i. Y por otro lado, mientras que no haya encontrado todavía un espacio. 632 00:29:33,920 --> 00:29:36,680 En cuanto haya encontrado un espacio 633 00:29:36,680 --> 00:29:39,079 Le voy a poner true aquí 634 00:29:39,079 --> 00:29:42,299 De esta forma esto se vuelve falso 635 00:29:42,299 --> 00:29:46,299 Y cualquier cosa y falso me dará falso 636 00:29:46,299 --> 00:29:48,920 Y por lo tanto saldré del for 637 00:29:48,920 --> 00:29:53,220 De esta forma evito que no entre 638 00:29:53,220 --> 00:29:54,940 Una vez que haya encontrado una celda 639 00:29:54,940 --> 00:29:56,579 Y haya metido allí la aplicación 640 00:29:56,579 --> 00:29:59,319 No vaya a probar las celdas siguientes 641 00:29:59,319 --> 00:30:01,920 Ya la ha encontrado, ya la ha puesto allí y se acabó 642 00:30:01,920 --> 00:30:06,460 ¿Dudas? 643 00:30:12,140 --> 00:30:12,579 Entonces 644 00:30:12,579 --> 00:30:18,420 Cuando yo estoy aquí dentro 645 00:30:18,420 --> 00:30:22,299 Mi programa lo que hará es 646 00:30:22,299 --> 00:30:24,460 Ir a mirar todas las 647 00:30:24,460 --> 00:30:26,440 Celdas a la búsqueda de una 648 00:30:26,440 --> 00:30:27,220 Que sea null 649 00:30:27,220 --> 00:30:30,200 Si encuentra una que es null, mete allí 650 00:30:30,200 --> 00:30:31,960 La aplicación nueva 651 00:30:31,960 --> 00:30:34,359 Y marca que ya lo ha hecho 652 00:30:34,359 --> 00:30:36,140 Y por lo tanto acaba el proceso 653 00:30:36,140 --> 00:30:37,599 Si en vez 654 00:30:37,599 --> 00:30:40,700 No encuentra un espacio 655 00:30:40,700 --> 00:30:44,579 llegará hasta el final sin haberla encontrado 656 00:30:44,579 --> 00:30:47,440 y entonces mi espacio encontrado se quedará falso 657 00:30:47,440 --> 00:30:50,859 es decir que cuando yo salgo de este for 658 00:30:50,859 --> 00:30:52,740 puedo tener dos opciones 659 00:30:52,740 --> 00:30:55,240 o espacio encontrado es true 660 00:30:55,240 --> 00:30:59,279 y eso quiere decir que ha conseguido instalar la aplicación 661 00:30:59,279 --> 00:31:02,819 o el espacio encontrado es falso 662 00:31:02,819 --> 00:31:05,980 y eso quiere decir que ha mirado todos los espacios 663 00:31:05,980 --> 00:31:09,220 y no ha encontrado espacio 664 00:31:09,220 --> 00:31:11,859 justo 665 00:31:11,859 --> 00:31:15,480 y ahora tendré que gestionar esto 666 00:31:15,480 --> 00:31:26,539 if 667 00:31:26,539 --> 00:31:29,420 espacio 668 00:31:29,420 --> 00:31:33,539 encontrado 669 00:31:33,539 --> 00:31:38,769 iso 670 00:31:38,769 --> 00:31:40,309 app 671 00:31:40,309 --> 00:31:42,789 instalada 672 00:31:42,789 --> 00:31:49,410 si cuando llego aquí 673 00:31:49,410 --> 00:31:51,369 bueno, este boolean 674 00:31:51,369 --> 00:31:52,710 entonces 675 00:31:52,710 --> 00:31:58,009 no, debería funcionar 676 00:31:58,009 --> 00:32:02,099 espacio 677 00:32:02,099 --> 00:32:05,619 Si espacio encontrado 678 00:32:05,619 --> 00:32:06,660 Es true 679 00:32:06,660 --> 00:32:09,259 Esto quiere decir que si esta cosa vale true 680 00:32:09,259 --> 00:32:11,119 Quiere decir que ha podido encontrarlo 681 00:32:11,119 --> 00:32:13,220 Ya está fenomenal y yo le escribo 682 00:32:13,220 --> 00:32:15,359 Oye, la aplicación ha sido instalada correctamente 683 00:32:15,359 --> 00:32:16,039 ¿Vale? 684 00:32:17,240 --> 00:32:17,759 Instalada 685 00:32:17,759 --> 00:32:20,220 Correctamente 686 00:32:20,220 --> 00:32:22,640 Si no 687 00:32:22,640 --> 00:32:28,109 Si eso 688 00:32:28,109 --> 00:32:30,089 Error 689 00:32:30,089 --> 00:32:36,660 No he podido 690 00:32:36,660 --> 00:32:38,259 Instalar 691 00:32:38,259 --> 00:32:43,779 Más name 692 00:32:43,779 --> 00:32:48,380 En teoría puedo hacer esto 693 00:32:48,380 --> 00:32:49,039 En teoría no 694 00:32:49,039 --> 00:32:52,240 En teoría tengo que encontrarme una forma 695 00:32:52,240 --> 00:32:53,940 Para que se instale igualmente 696 00:32:53,940 --> 00:32:56,940 Pero como estoy en un examen 697 00:32:56,940 --> 00:32:57,839 Y tengo poco tiempo 698 00:32:57,839 --> 00:32:59,039 Por ahora lo dejo así 699 00:32:59,039 --> 00:33:03,039 Ya veré con el tiempo si quiero complicarme 700 00:33:03,039 --> 00:33:04,380 Por ahora simplemente digo 701 00:33:04,380 --> 00:33:05,819 Que yo tenía 30 espacios 702 00:33:05,819 --> 00:33:06,640 Se lo he puesto aquí 703 00:33:06,640 --> 00:33:09,859 Yo tengo 30 espacios 704 00:33:09,859 --> 00:33:13,559 si por si acaso 705 00:33:13,559 --> 00:33:15,720 me intentan instalar 31 706 00:33:15,720 --> 00:33:16,559 aplicaciones 707 00:33:16,559 --> 00:33:19,440 pues la 31 me dirá 708 00:33:19,440 --> 00:33:20,240 no la puedo instalar 709 00:33:20,240 --> 00:33:23,160 tengo un límite no tanto de espacio 710 00:33:23,160 --> 00:33:25,079 que también lo tengo, pero tengo 711 00:33:25,079 --> 00:33:27,579 un límite de número de aplicaciones 712 00:33:27,579 --> 00:33:29,619 que puedo instalar en un cierto momento 713 00:33:29,619 --> 00:33:31,380 y si no puedo 714 00:33:31,380 --> 00:33:33,579 me dice que no puedo, ya está, no hace nada 715 00:33:33,579 --> 00:33:35,279 y se acabó 716 00:33:35,279 --> 00:33:37,400 para instalar 717 00:33:37,400 --> 00:33:39,220 la nueva aplicación tendré que desinstalar 718 00:33:39,220 --> 00:33:41,779 alguna vieja, la alternativa 719 00:33:41,779 --> 00:33:43,680 sería que cuando yo no puedo 720 00:33:43,680 --> 00:33:45,740 pues aumente el tamaño 721 00:33:45,740 --> 00:33:47,240 de este array 722 00:33:47,240 --> 00:33:49,940 copie todo, las 30 posiciones 723 00:33:49,940 --> 00:33:51,660 que ya estaban en un array nuevo 724 00:33:51,660 --> 00:33:53,700 de 60 y ahora tenga un array 725 00:33:53,700 --> 00:33:54,839 de 60 veces que de 30 726 00:33:54,839 --> 00:33:57,420 pero por ahora no lo hacemos 727 00:33:57,420 --> 00:33:58,299 lo hacemos después 728 00:33:58,299 --> 00:34:01,599 por ahora me interesa otra 729 00:34:01,599 --> 00:34:02,799 cosa que es más 730 00:34:02,799 --> 00:34:05,319 relevante para este ejercicio 731 00:34:05,319 --> 00:34:06,579 que es el 732 00:34:06,579 --> 00:34:09,039 y ahora lo he instalado 733 00:34:09,039 --> 00:34:11,579 Pero en ningún momento 734 00:34:11,579 --> 00:34:13,739 Aquí he comprobado si puedo 735 00:34:13,739 --> 00:34:14,599 Instalarlo o no 736 00:34:14,599 --> 00:34:18,820 ¿Cuándo puedo instalarlo? 737 00:34:20,199 --> 00:34:21,619 Cuando tengo espacio 738 00:34:21,619 --> 00:34:24,409 ¿Sí? 739 00:34:25,650 --> 00:34:26,449 Entonces 740 00:34:26,449 --> 00:34:28,909 ¿Cómo hago para saber 741 00:34:28,909 --> 00:34:30,429 Cuánto espacio me queda? 742 00:34:31,329 --> 00:34:41,539 Dos opciones 743 00:34:41,539 --> 00:34:43,840 O cada vez que me hace falta 744 00:34:43,840 --> 00:34:44,739 Me lo calculo 745 00:34:44,739 --> 00:34:47,940 O tengo constancia de él 746 00:34:47,940 --> 00:34:49,539 De alguna forma con una variable 747 00:34:49,539 --> 00:34:51,099 por algún lado 748 00:34:51,099 --> 00:34:53,719 ¿vale? como nosotros hemos decidido 749 00:34:53,719 --> 00:34:55,780 que estos son nuestros atributos 750 00:34:55,780 --> 00:34:57,460 y no quiero meter otros 751 00:34:57,460 --> 00:34:59,440 si no es estrictamente necesario 752 00:34:59,440 --> 00:35:01,559 pues quiere decir que cada vez que necesito 753 00:35:01,559 --> 00:35:03,719 esta información me la calcularé 754 00:35:03,719 --> 00:35:04,900 ¿vale? 755 00:35:05,619 --> 00:35:07,219 entonces, ya que estamos 756 00:35:07,219 --> 00:35:09,480 como esto me suena que luego lo tengo 757 00:35:09,480 --> 00:35:11,360 que volver a reutilizar en status 758 00:35:11,360 --> 00:35:13,360 ¿vale? porque dice 759 00:35:13,360 --> 00:35:14,800 indica cuanto espacio libre 760 00:35:14,800 --> 00:35:17,539 tengo, pues entonces me voy a hacer 761 00:35:17,539 --> 00:35:19,119 un metodito por algún lado 762 00:35:19,119 --> 00:35:20,800 Que lo que hace es calcularme 763 00:35:20,800 --> 00:35:21,880 Cuanto espacio me queda 764 00:35:21,880 --> 00:35:22,980 ¿Vale? 765 00:35:23,440 --> 00:35:26,739 Entonces public int 766 00:35:26,739 --> 00:35:31,079 Storage 767 00:35:31,079 --> 00:35:35,460 Restante 768 00:35:35,460 --> 00:35:36,840 ¿Cómo se dice? 769 00:35:37,800 --> 00:35:39,260 Storage remanente 770 00:35:39,260 --> 00:35:40,360 Restante 771 00:35:40,360 --> 00:35:42,340 Storage left 772 00:35:42,340 --> 00:35:45,159 Mezclamos aquí inglés y español 773 00:35:45,159 --> 00:35:46,860 Porque nos da la gana 774 00:35:46,860 --> 00:35:48,639 ¿Vale? 775 00:35:49,119 --> 00:35:50,960 int 776 00:35:50,960 --> 00:35:53,059 sl 777 00:35:53,059 --> 00:35:54,599 es igual a 0 778 00:35:54,599 --> 00:35:56,500 return sl 779 00:35:56,500 --> 00:35:58,000 vale, entonces 780 00:35:58,000 --> 00:36:00,219 como calculo 781 00:36:00,219 --> 00:36:02,639 cuanto storage me queda 782 00:36:02,639 --> 00:36:05,960 acedo 783 00:36:05,960 --> 00:36:07,940 a cada una de las aplicaciones 784 00:36:07,940 --> 00:36:09,239 que tengo instaladas 785 00:36:09,239 --> 00:36:11,619 me voy acumulando 786 00:36:11,619 --> 00:36:14,159 cuanto pesa cada una de ellas 787 00:36:14,159 --> 00:36:16,000 y después 788 00:36:16,000 --> 00:36:17,880 resto 789 00:36:18,420 --> 00:36:20,219 mi storage máximo 790 00:36:20,219 --> 00:36:22,139 al número que es acá 791 00:36:22,139 --> 00:36:24,599 ¿cómo calculo 792 00:36:24,599 --> 00:36:25,539 cuántas 793 00:36:25,539 --> 00:36:28,480 cuántas aplicaciones 794 00:36:28,480 --> 00:36:30,760 tengo instaladas? ¿cuánto pesan 795 00:36:30,760 --> 00:36:32,659 las aplicaciones que tengo 796 00:36:32,659 --> 00:36:34,079 instaladas? ¿cómo va? 797 00:36:35,099 --> 00:36:40,420 con un for 798 00:36:40,420 --> 00:36:42,579 95% 799 00:36:42,579 --> 00:36:45,320 la respuesta del 95% 800 00:36:45,320 --> 00:36:47,019 de la pregunta que hago es con un for 801 00:36:47,019 --> 00:36:48,679 int 802 00:36:48,679 --> 00:36:50,539 y es igual a 0 803 00:36:50,539 --> 00:36:52,119 y menor que qué 804 00:36:52,119 --> 00:36:58,480 donde tengo instaladas mis aplicaciones 805 00:36:58,480 --> 00:37:01,969 como se llama el array 806 00:37:01,969 --> 00:37:06,099 movilabs 807 00:37:06,099 --> 00:37:08,539 voy a este array que es 808 00:37:08,539 --> 00:37:10,719 las aplicaciones que tengo 809 00:37:10,719 --> 00:37:11,420 instaladas 810 00:37:11,420 --> 00:37:14,019 .lang 811 00:37:14,019 --> 00:37:17,699 y mas mas 812 00:37:17,699 --> 00:37:20,860 vale 813 00:37:20,860 --> 00:37:23,800 entonces a partir de la primera 814 00:37:23,800 --> 00:37:25,280 hasta la ultima 815 00:37:25,280 --> 00:37:27,239 posiciones de este array 816 00:37:27,239 --> 00:37:29,280 lo que hago es 817 00:37:29,280 --> 00:37:32,280 acceder a un cierto 818 00:37:32,280 --> 00:37:32,639 campo 819 00:37:32,639 --> 00:37:33,260 ¿Vale? 820 00:37:34,079 --> 00:37:35,059 Por ejemplo 821 00:37:35,059 --> 00:37:37,699 movilabs 822 00:37:37,699 --> 00:37:41,110 de i 823 00:37:41,110 --> 00:37:42,510 punto 824 00:37:42,510 --> 00:37:45,090 size 825 00:37:45,090 --> 00:37:48,670 Esto es 826 00:37:48,670 --> 00:37:50,190 el tamaño 827 00:37:50,190 --> 00:37:52,489 de la aplicación 828 00:37:52,489 --> 00:37:53,610 en posición i 829 00:37:53,610 --> 00:37:56,650 Fijaos que no me permite pillarlo 830 00:37:56,650 --> 00:37:58,429 porque si os acordáis 831 00:37:58,429 --> 00:37:58,869 app 832 00:37:58,869 --> 00:38:01,530 No, app no es 833 00:38:01,530 --> 00:38:03,630 ¿Qué he dicho mal? 834 00:38:03,630 --> 00:38:21,269 A lo mejor porque todavía no está completada la expresión 835 00:38:21,269 --> 00:38:22,690 ¿Qué hago con esto? 836 00:38:24,090 --> 00:38:25,010 ¿Dónde lo pongo? 837 00:38:28,349 --> 00:38:29,250 En SL, ¿no? 838 00:38:29,289 --> 00:38:31,170 ¿No estamos calculando los storage left? 839 00:38:31,469 --> 00:38:33,329 No, bueno, en SL va a ser así 840 00:38:33,329 --> 00:38:35,469 En otra variable int 841 00:38:35,469 --> 00:38:40,230 Espacio ocupado 842 00:38:40,230 --> 00:38:45,760 El error es 0 843 00:38:45,760 --> 00:38:50,639 Entonces, espacio ocupado es igual 844 00:38:50,639 --> 00:38:51,380 A esto 845 00:38:51,380 --> 00:38:52,860 ¿Correcto? 846 00:38:53,760 --> 00:38:59,900 Pero antes que eso 847 00:38:59,900 --> 00:39:04,980 Yo tengo que acumular 848 00:39:04,980 --> 00:39:06,820 El tamaño allí 849 00:39:06,820 --> 00:39:16,239 Voy recorriendo todas las aplicaciones 850 00:39:16,239 --> 00:39:17,780 Y voy acumulando 851 00:39:17,780 --> 00:39:19,400 En espacio ocupado el tamaño 852 00:39:19,400 --> 00:39:21,059 De cada una de las aplicaciones 853 00:39:21,059 --> 00:39:22,559 ¿Vale? 854 00:39:22,940 --> 00:39:24,719 De esta forma cuando llegare aquí 855 00:39:24,719 --> 00:39:27,539 SL 856 00:39:27,539 --> 00:39:28,320 ¿Cuánto valdrá? 857 00:39:29,099 --> 00:39:36,480 El storage le debería ser la capacidad máxima 858 00:39:36,480 --> 00:39:37,980 Es como cálculo 859 00:39:37,980 --> 00:39:40,780 como se calcula storage left 860 00:39:40,780 --> 00:39:45,940 this.storage 861 00:39:45,940 --> 00:39:48,139 menos 862 00:39:48,139 --> 00:39:50,920 espacio ocupado 863 00:39:50,920 --> 00:39:56,889 os torna esto 864 00:39:56,889 --> 00:39:59,630 os parece correcto 865 00:39:59,630 --> 00:40:01,750 independientemente de que 866 00:40:01,750 --> 00:40:03,510 todavía tenemos que afinar una cosa 867 00:40:03,510 --> 00:40:07,750 me voy mirando todas las aplicaciones 868 00:40:08,429 --> 00:40:09,849 voy acumulando 869 00:40:09,849 --> 00:40:11,170 en espacio ocupado 870 00:40:11,170 --> 00:40:14,050 El tamaño de cada una de las aplicaciones 871 00:40:14,050 --> 00:40:15,769 Entonces cuando salgo de este 872 00:40:15,769 --> 00:40:17,670 For en espacio ocupado 873 00:40:17,670 --> 00:40:19,969 Tengo la suma de todos los espacios 874 00:40:19,969 --> 00:40:21,510 Ocupados de todas las aplicaciones 875 00:40:21,510 --> 00:40:24,130 Pillo mi tamaño 876 00:40:24,130 --> 00:40:25,989 Máximo, mi memoria, le quito 877 00:40:25,989 --> 00:40:27,829 La parte ocupada y tengo 878 00:40:27,829 --> 00:40:29,690 Aquí en SL, Storage Left 879 00:40:29,690 --> 00:40:32,030 O sea, el tamaño 880 00:40:32,030 --> 00:40:32,969 Que me queda libre 881 00:40:32,969 --> 00:40:38,130 ¿Por qué esto no funciona y explota? 882 00:40:38,130 --> 00:40:52,900 Si uno cualquiera de los espacios de movilapps es null 883 00:40:52,900 --> 00:40:56,599 O sea que puedo hasta tener 10 aplicaciones instaladas 884 00:40:56,599 --> 00:40:59,880 Pero luego tengo 20 espacios a null 885 00:40:59,880 --> 00:41:02,619 Cuando intento hacer esto 886 00:41:02,619 --> 00:41:07,610 Si esto vale null 887 00:41:07,610 --> 00:41:11,369 Explotará con un null pointer exception 888 00:41:11,369 --> 00:41:14,489 Intenta acceder 889 00:41:14,489 --> 00:41:16,590 Al campo size de un objeto 890 00:41:16,590 --> 00:41:17,269 Que es null 891 00:41:17,269 --> 00:41:18,869 Entonces no le gusta 892 00:41:18,869 --> 00:41:22,050 O sea que yo esta cosa de aquí 893 00:41:22,050 --> 00:41:24,090 La tengo que hacer 894 00:41:24,090 --> 00:41:25,230 Si, solo si 895 00:41:25,230 --> 00:41:49,849 Queda claro esto 896 00:41:49,849 --> 00:41:53,070 Yo tengo mi array de apps 897 00:41:53,070 --> 00:42:00,239 Tengo mi array de apps 898 00:42:00,239 --> 00:42:02,260 Estas son todas apps 899 00:42:02,260 --> 00:42:03,380 ¿Vale? 900 00:42:03,539 --> 00:42:05,980 Algunas podrán ser apps reales 901 00:42:05,980 --> 00:42:08,800 Pero luego estará null 902 00:42:08,800 --> 00:42:10,659 Null, null 903 00:42:10,659 --> 00:42:12,119 Null 904 00:42:12,119 --> 00:42:13,599 Null 905 00:42:13,599 --> 00:42:16,059 Y yo lo que voy a hacer es 906 00:42:16,059 --> 00:42:18,219 Accedo a un campo, el campo 0 907 00:42:18,219 --> 00:42:20,880 Si esto es not null 908 00:42:20,880 --> 00:42:22,760 Entonces me saco su size 909 00:42:22,760 --> 00:42:24,760 Y lo sumo 910 00:42:24,760 --> 00:42:27,460 Si este es not null 911 00:42:27,460 --> 00:42:28,380 El campo 1 912 00:42:28,380 --> 00:42:29,820 Saco el size 913 00:42:29,820 --> 00:42:31,380 Y lo sumo 914 00:42:31,380 --> 00:42:34,659 Si este es null, no hago nada, me lo salto 915 00:42:34,659 --> 00:42:45,269 Si es null es porque o no ha habido nada nunca o han borrado esa celda 916 00:42:45,269 --> 00:42:53,789 Y esto también como lo hago aquí depende de como luego borraré las aplicaciones 917 00:42:53,789 --> 00:42:59,030 Porque si yo simplemente si quiero, imaginamos que yo tengo estas cuatro instaladas 918 00:42:59,030 --> 00:43:03,789 Si yo cuando borro esta simplemente lo que hago es poner aquí null 919 00:43:03,789 --> 00:43:07,389 Entonces podría haber null 920 00:43:07,389 --> 00:43:08,929 En el medio 921 00:43:08,929 --> 00:43:10,769 ¿Vale? 922 00:43:10,989 --> 00:43:12,030 Entonces tengo que tener cuidado 923 00:43:12,030 --> 00:43:14,030 Si en vez 924 00:43:14,030 --> 00:43:16,769 Lo que hago es que cuando 925 00:43:16,769 --> 00:43:18,590 Rompo esta 926 00:43:18,590 --> 00:43:21,010 Si hay aplicaciones después 927 00:43:21,010 --> 00:43:22,409 Las muevo 928 00:43:22,409 --> 00:43:25,110 Hacia adelante y recompacto todo 929 00:43:25,110 --> 00:43:27,570 Pues entonces puedo estar seguro 930 00:43:27,570 --> 00:43:28,690 Que cuando encuentro un null 931 00:43:28,690 --> 00:43:29,710 Ya puedo salir 932 00:43:29,710 --> 00:43:32,030 Porque no hay ninguna después 933 00:43:32,030 --> 00:43:34,989 Depende de cómo yo hago las cosas 934 00:43:34,989 --> 00:43:35,869 ¿Vale? 935 00:43:36,130 --> 00:43:37,730 Por ahora todavía no lo he pensado 936 00:43:37,730 --> 00:43:39,630 Por lo tanto lo hago de la forma más sencilla 937 00:43:39,630 --> 00:43:41,090 Leo todo 938 00:43:41,090 --> 00:43:42,869 Y si es null me lo salto 939 00:43:42,869 --> 00:43:44,650 Y si no es null lo sumo 940 00:43:44,650 --> 00:43:45,889 Ya está, no tengo problemas 941 00:43:45,889 --> 00:43:47,750 ¿Es menos eficiente? 942 00:43:48,010 --> 00:43:48,170 Sí 943 00:43:48,170 --> 00:43:50,050 Pero funciona 944 00:43:50,050 --> 00:43:52,210 ¿Sí? 945 00:43:52,590 --> 00:43:53,909 Entonces vamos a probarlo 946 00:43:53,909 --> 00:44:00,079 Ah, no, perdón 947 00:44:00,079 --> 00:44:03,420 Esto me servía porque estaba a mitad del otro 948 00:44:03,420 --> 00:44:03,940 Perdón 949 00:44:03,940 --> 00:44:06,579 Acabamos esto de aquí 950 00:44:06,579 --> 00:44:08,260 En GetApplication 951 00:44:08,260 --> 00:44:09,639 Habíamos dicho que 952 00:44:09,639 --> 00:44:12,000 Todo esto lo hacíamos 953 00:44:12,000 --> 00:44:13,760 Si, solo si 954 00:44:13,760 --> 00:44:15,280 Tengo espacio 955 00:44:15,280 --> 00:44:17,059 En el móvil 956 00:44:17,059 --> 00:44:19,239 Si no tengo espacio en el móvil 957 00:44:19,239 --> 00:44:20,360 Pues no hago nada 958 00:44:20,360 --> 00:44:21,960 Justo 959 00:44:21,960 --> 00:44:23,739 Entonces 960 00:44:23,739 --> 00:44:27,000 Si, os acordáis 961 00:44:27,000 --> 00:44:29,699 Yo intento instalarla, me dan una copia 962 00:44:29,699 --> 00:44:30,480 Vale, fenomenal 963 00:44:30,480 --> 00:44:32,659 Si la copia es null 964 00:44:32,659 --> 00:44:34,559 Digo que es un error 965 00:44:34,559 --> 00:44:37,099 Si la copia no es null 966 00:44:37,099 --> 00:44:39,539 O sea, la he encontrado en el App Store 967 00:44:39,539 --> 00:44:41,820 Entonces, todo esto 968 00:44:41,820 --> 00:44:43,840 Lo que hacía era instalármela 969 00:44:43,840 --> 00:44:45,480 ¿Vale? 970 00:44:45,719 --> 00:44:47,400 Pero ahora, yo todo esto 971 00:44:47,400 --> 00:44:50,099 Lo tengo que hacer solo si tengo espacio libre 972 00:44:50,099 --> 00:44:53,980 Entonces 973 00:44:53,980 --> 00:44:56,039 Todo esto 974 00:44:56,039 --> 00:44:58,980 ¿Sí? 975 00:45:00,980 --> 00:45:03,219 Todo esto 976 00:45:03,219 --> 00:45:04,800 Lo hago solo si 977 00:45:04,800 --> 00:45:10,099 como me pregunto 978 00:45:10,099 --> 00:45:11,300 si tengo espacio libre 979 00:45:11,300 --> 00:45:14,199 si tengo espacio suficiente para instalar 980 00:45:14,199 --> 00:45:15,000 esta aplicación 981 00:45:15,000 --> 00:45:26,300 repito la pregunta 982 00:45:26,300 --> 00:45:29,639 este código de aquí que hemos hecho antes 983 00:45:29,639 --> 00:45:31,940 lo que hace es instalarme 984 00:45:31,940 --> 00:45:33,519 la aplicación 985 00:45:33,519 --> 00:45:35,719 en un espacio vacío de mi 986 00:45:35,719 --> 00:45:36,340 array 987 00:45:36,340 --> 00:45:39,699 de mi array de aplicación 988 00:45:39,699 --> 00:45:41,280 vale, esto ya está hecho 989 00:45:41,280 --> 00:45:43,920 pero yo esto no lo puedo hacer siempre 990 00:45:43,920 --> 00:45:48,539 Lo puede hacer solo si la aplicación que estoy buscando no es null 991 00:45:48,539 --> 00:45:50,559 O sea, existe y está aquí 992 00:45:50,559 --> 00:45:58,079 Y también si tengo espacio suficiente para poner esta aplicación en mi móvil 993 00:45:58,079 --> 00:46:02,320 Entonces tengo que comprobar que en este momento 994 00:46:02,320 --> 00:46:05,739 La aplicación que quiero instalar 995 00:46:05,739 --> 00:46:10,880 Ocupa menos del espacio que tengo libre 996 00:46:10,880 --> 00:46:12,420 ¿Cómo lo hago? 997 00:46:12,420 --> 00:46:21,969 ¿Cómo no sabes el nombre? 998 00:46:22,250 --> 00:46:22,510 Lee 999 00:46:22,510 --> 00:46:25,429 Claro, la has guardado aquí 1000 00:46:25,429 --> 00:46:36,389 Por lo tanto, si nueva app.size es menor 1001 00:46:36,389 --> 00:46:50,059 Ay, ojalá tuviera yo un método para saber el espacio libre que tengo en el móvil 1002 00:46:50,059 --> 00:46:56,179 Esto se llama storage left 1003 00:46:56,179 --> 00:47:01,219 Si el tamaño que yo 1004 00:47:01,219 --> 00:47:03,380 O sea, si el espacio que me queda 1005 00:47:03,380 --> 00:47:05,719 Es mayor del tamaño 1006 00:47:05,719 --> 00:47:07,119 De esta nueva aplicación 1007 00:47:07,119 --> 00:47:09,960 Entonces puedo hacer lo que me dice aquí 1008 00:47:09,960 --> 00:47:12,219 Y lo voy a hacer 1009 00:47:12,219 --> 00:47:15,760 Si quiero puedo poner otro else aquí 1010 00:47:15,760 --> 00:47:16,420 Else 1011 00:47:16,420 --> 00:47:19,940 Si me da un else a este de aquí 1012 00:47:19,940 --> 00:47:21,900 O sea que esto es falso 1013 00:47:21,900 --> 00:47:23,800 Puedo decir 1014 00:47:23,800 --> 00:47:27,460 Error 1015 00:47:27,460 --> 00:47:31,309 no tienes 1016 00:47:31,309 --> 00:47:33,909 espacio suficiente 1017 00:47:33,909 --> 00:47:37,360 para 1018 00:47:37,360 --> 00:47:38,559 instalar 1019 00:47:38,559 --> 00:47:41,179 más 1020 00:47:41,179 --> 00:47:41,780 name 1021 00:47:41,780 --> 00:47:47,030 es el else 1022 00:47:47,030 --> 00:47:48,269 del 1023 00:47:48,269 --> 00:47:50,710 del if 1024 00:47:50,710 --> 00:47:53,090 que me dice si tengo espacio o no 1025 00:47:53,090 --> 00:47:57,150 bienvenido a la programación 1026 00:47:57,150 --> 00:47:59,110 este if me dice 1027 00:47:59,110 --> 00:48:00,449 así, de hecho 1028 00:48:00,449 --> 00:48:06,590 para si como este más de la cosa lo que puede hacer es pillar todo esto y llevármelo fuera 1029 00:48:06,590 --> 00:48:14,650 un método que haga esta cosa aquí de instalar efectivamente o ejecuta instalación de esta forma 1030 00:48:14,650 --> 00:48:19,570 todo esto desaparecería me quedaría aquí ejecuta instalación y se queda más limpio 1031 00:48:21,449 --> 00:48:36,260 dudas vamos a probarlo entonces voy a probar los métodos que he hecho ahora vale entonces 1032 00:48:36,260 --> 00:48:45,980 aquí yo tengo un móvil que he creado me da un listado de las aplicaciones pruebo a varias 1033 00:48:45,980 --> 00:48:58,460 cosas vale primero pruebo a instalar o sea get up la la aplicación gatito que me debería dar 1034 00:48:58,460 --> 00:49:03,360 Vamos a ver que me da 1035 00:49:03,360 --> 00:49:07,260 Error 1036 00:49:07,260 --> 00:49:09,320 No, se puede instalar la aplicación Gatito 1037 00:49:09,320 --> 00:49:13,119 Porque Gatito no está en el App Store 1038 00:49:13,119 --> 00:49:16,019 ¿Vale? 1039 00:49:16,380 --> 00:49:16,840 Ok 1040 00:49:16,840 --> 00:49:18,639 Esto 1041 00:49:18,639 --> 00:49:21,119 Por ahora pinta bien 1042 00:49:21,119 --> 00:49:24,119 Vale, entonces intenta instalarme 1043 00:49:24,119 --> 00:49:27,780 Una de las que están 1044 00:49:27,780 --> 00:49:29,579 Fortnite 1045 00:49:29,579 --> 00:49:33,179 Fortnite 1046 00:49:33,179 --> 00:49:35,559 ¿Vale? 1047 00:49:36,260 --> 00:49:41,539 app instalada correctamente 1048 00:49:41,539 --> 00:49:43,119 vale 1049 00:49:43,119 --> 00:49:45,300 si queremos para saber 1050 00:49:45,300 --> 00:49:47,280 que me ha instalado cuando dice 1051 00:49:47,280 --> 00:49:49,300 app instalada pues le digo 1052 00:49:49,300 --> 00:49:50,820 el nombre 1053 00:49:50,820 --> 00:49:52,719 name 1054 00:49:52,719 --> 00:49:55,280 instalada correctamente 1055 00:49:55,280 --> 00:49:56,760 vale 1056 00:49:56,760 --> 00:49:58,039 entonces ahora 1057 00:49:58,039 --> 00:50:00,800 fortnite instalada correctamente 1058 00:50:00,800 --> 00:50:04,130 perfecto 1059 00:50:04,130 --> 00:50:08,210 ahora lo que puedo hacer 1060 00:50:08,210 --> 00:50:10,210 es comprobar de 1061 00:50:10,210 --> 00:50:12,369 Instalar dos de ellas 1062 00:50:12,369 --> 00:50:14,230 ¿Vale? Fijaos que Fortnite son 1063 00:50:14,230 --> 00:50:16,030 14, instalo también 1064 00:50:16,030 --> 00:50:17,929 TocToc, que me lo debería instalar 1065 00:50:17,929 --> 00:50:19,449 ¿Vale? Entonces después 1066 00:50:19,449 --> 00:50:21,449 Instalo TocToc 1067 00:50:21,449 --> 00:50:32,690 Y me ha dado un error 1068 00:50:32,690 --> 00:50:36,519 Ah, le he puesto la mayúscula 1069 00:50:36,519 --> 00:50:39,480 La mayúscula 1070 00:50:39,480 --> 00:50:41,519 Ajá 1071 00:50:41,519 --> 00:50:44,730 Toc 1072 00:50:44,730 --> 00:50:46,329 Toc 1073 00:50:46,329 --> 00:50:47,510 Ahí 1074 00:50:47,510 --> 00:50:50,150 Muy quisquilloso 1075 00:50:50,150 --> 00:50:52,210 ¡Vaya! He instalado correctamente 1076 00:50:52,210 --> 00:51:00,590 fenomenal y ahora para comprobar que efectivamente me la instalado vale a lo 1077 00:51:00,590 --> 00:51:04,869 mejor lo que puede decir es oye me las escribes la que tengo entonces por 1078 00:51:04,869 --> 00:51:17,309 ejemplo a raíz del punto dos string de vis a punto mi móvil apps 1079 00:51:17,309 --> 00:51:31,420 esto se enfada porque que no use andy's m1 m1 1080 00:51:31,420 --> 00:51:39,420 esto es simplemente ok quiero ver si me lo ha metido en dos espacios 1081 00:51:39,420 --> 00:51:40,219 ¿Vale? Separados. 1082 00:51:41,900 --> 00:51:46,599 Vamos a ver si existe beta. 1083 00:51:49,820 --> 00:51:51,800 Ah, no, porque tengo que hacer un system. 1084 00:51:51,800 --> 00:51:59,440 Y esto va allí dentro. 1085 00:52:00,219 --> 00:52:02,920 Control X, control... Vale, ahora sí. 1086 00:52:03,659 --> 00:52:03,940 Venga. 1087 00:52:05,320 --> 00:52:11,760 ¿Veis que está la primera aplicación, la segunda aplicación y luego un mogollón de nulo? 1088 00:52:14,699 --> 00:52:16,340 Que sí, está funcionando. 1089 00:52:16,460 --> 00:52:22,940 vale por ahora ahora intento instalar logs of legends que es 33 mi móvil no lo puede 1090 00:52:22,940 --> 00:52:45,550 gestionar logs of legends instalamos también logs of legends veamos si funciona lanzó error 1091 00:52:45,550 --> 00:52:56,340 no tienes espacio suficiente para instalar logs of legends mi móvil funciona fenomenal dudas 1092 00:53:02,869 --> 00:53:04,329 Espera un segundo que...