1 00:00:00,000 --> 00:00:09,620 2 00:00:09,620 --> 00:00:11,550 >> FRED Widjaja: Tudo bem. 3 00:00:11,550 --> 00:00:12,600 Oi, todos. 4 00:00:12,600 --> 00:00:19,450 Obrigado boas-vindas para me juntar a este seminário. 5 00:00:19,450 --> 00:00:23,130 Então, hoje nós vamos estar falando sobre como desenvolver aplicativos para Android, 6 00:00:23,130 --> 00:00:26,870 e, em particular, vamos estar usando Android Estúdio em ordem 7 00:00:26,870 --> 00:00:29,490 para desenvolver nossos aplicativos. 8 00:00:29,490 --> 00:00:32,150 >> Então, como você pode saber tudo. 9 00:00:32,150 --> 00:00:36,750 Android usa Java, e por isso vamos ser passando por uma breve introdução 10 00:00:36,750 --> 00:00:39,860 em Java em si. 11 00:00:39,860 --> 00:00:45,830 Então eu sei que muitos de vocês só têm experiência em programação em C. Então, 12 00:00:45,830 --> 00:00:48,760 isso é totalmente bem, e isso é porque Java é muito, muito 13 00:00:48,760 --> 00:00:53,750 semelhante a C, com pequenas diferenças. 14 00:00:53,750 --> 00:01:00,040 >> Assim, os tipos em Java são fixo do número de bytes. 15 00:01:00,040 --> 00:01:04,290 Assim, em C, temos calções e longos, e eles 16 00:01:04,290 --> 00:01:07,880 diferem no número de bits de máquina para máquina. 17 00:01:07,880 --> 00:01:10,990 Em Java, ele já está definido como um padrão. 18 00:01:10,990 --> 00:01:16,320 Então bytes tem oito bits, shorts tem 16 bits, e assim por diante e assim por diante. 19 00:01:16,320 --> 00:01:22,780 Temos também chars, booleanos, e também flutua e duplos. 20 00:01:22,780 --> 00:01:27,150 Assim, a maneira que você programa em Java, é muito similar. 21 00:01:27,150 --> 00:01:30,150 Assim, por exemplo, temos loops e enquanto loops, 22 00:01:30,150 --> 00:01:39,090 e se e else são exatamente o mesmo que você faria em C. 23 00:01:39,090 --> 00:01:45,390 >> Tudo bem, então a coisa especial sobre Java é que ele é orientado a objeto. 24 00:01:45,390 --> 00:01:46,560 Agora, o que são objetos? 25 00:01:46,560 --> 00:01:49,220 Então, se você olhar para o coisas ao seu redor, você vai 26 00:01:49,220 --> 00:01:54,540 notar que cada objeto do mundo real tem duas características em comum. 27 00:01:54,540 --> 00:01:59,100 E isso é que eles têm estado e eles têm algum tipo de comportamento. 28 00:01:59,100 --> 00:02:02,510 >> Assim, por exemplo, cães teria estados que 29 00:02:02,510 --> 00:02:07,360 são nome, cor, raça, talvez se o cão está com fome ou não. 30 00:02:07,360 --> 00:02:12,490 E alguns comportamentos que os cães teriam seria latindo, ou sacudindo a cauda, 31 00:02:12,490 --> 00:02:14,340 ou buscar uma bola. 32 00:02:14,340 --> 00:02:18,120 Por isso, também pode aplicar esta a objetos inanimados. 33 00:02:18,120 --> 00:02:23,130 Assim, por exemplo, carros, eles têm o modelo, ano, velocidade máxima, 34 00:02:23,130 --> 00:02:25,500 e assim por diante e assim por diante. 35 00:02:25,500 --> 00:02:27,450 E eles têm algum comportamento. 36 00:02:27,450 --> 00:02:33,050 Por exemplo, a acelerar, ou frenagem, ou vai no sentido inverso. 37 00:02:33,050 --> 00:02:38,910 >> Então objetos Java tentativa de modelar este por ter campos e métodos. 38 00:02:38,910 --> 00:02:45,050 Então campos são os estados que o objeto Java pode ter, 39 00:02:45,050 --> 00:02:51,440 enquanto método representaria a comportamento que um objeto Java teria. 40 00:02:51,440 --> 00:02:53,770 Portanto, quando digo métodos e campos, eu realmente 41 00:02:53,770 --> 00:02:56,470 significa apenas variáveis ​​e funções. 42 00:02:56,470 --> 00:03:02,120 Eles são exatamente os mesmos, com exceção que se aplicam a um determinado objeto. 43 00:03:02,120 --> 00:03:04,880 >> OK, assim que passar para classes. 44 00:03:04,880 --> 00:03:08,950 Classes Java são como o blueprints para um objeto. 45 00:03:08,950 --> 00:03:12,270 Dizem-lhe que métodos ele tem, quais os campos que tem, 46 00:03:12,270 --> 00:03:17,750 e mesmo aqui, temos algo chamados modificadores de acesso que 47 00:03:17,750 --> 00:03:19,570 nós vamos chegar a algum tempo. 48 00:03:19,570 --> 00:03:26,930 Então, para declarar uma classe Java, é muito similar em sintaxe para um struct C. 49 00:03:26,930 --> 00:03:34,350 >> Aqui começamos com Car classe pública, e depois temos uma chave de abertura e, em seguida, 50 00:03:34,350 --> 00:03:38,800 um número de campos que você deseja que o objeto tem. 51 00:03:38,800 --> 00:03:44,650 E então aqui temos alguns métodos, e também temos um construtor objeto. 52 00:03:44,650 --> 00:03:48,690 Agora, o que esse construtor objeto faz é que diz ao objeto, 53 00:03:48,690 --> 00:03:53,370 OK, eu quero iniciar este objeto com algum tipo de campos. 54 00:03:53,370 --> 00:03:58,310 >> Então, aqui, queremos que cada carro ter um modelo e um ano. 55 00:03:58,310 --> 00:04:01,480 Portanto, temos um construtor apenas especificamente 56 00:04:01,480 --> 00:04:06,560 para o modelo e do ano, e isso iria definir o campo de modelo 57 00:04:06,560 --> 00:04:12,510 para um determinado valor, e campo de ano também. 58 00:04:12,510 --> 00:04:16,019 >> Agora sobre o acesso modificadores eu estava falando. 59 00:04:16,019 --> 00:04:21,560 Aqui nós temos o público e modificadores de acesso privado. 60 00:04:21,560 --> 00:04:27,730 Assim, você pode pensar nisso como o RWX em seus diretórios. 61 00:04:27,730 --> 00:04:33,020 Então, eles permitem que certas pessoas para ler, e ter acesso 62 00:04:33,020 --> 00:04:35,150 a estes campos e métodos. 63 00:04:35,150 --> 00:04:39,470 >> Então, se eu disser que o modelo e ano e velocidade são privados, 64 00:04:39,470 --> 00:04:46,360 que significa que outros objetos não podem tentar acessar campos deste objeto 65 00:04:46,360 --> 00:04:47,760 existem privada. 66 00:04:47,760 --> 00:04:52,280 Mas quando eu definir o acesso modificador de ser público, 67 00:04:52,280 --> 00:04:57,630 Agora, o que significa que outros objetos são livres para acessar e até mesmo 68 00:04:57,630 --> 00:05:00,770 utilizados os métodos que são definidos aqui. 69 00:05:00,770 --> 00:05:04,160 70 00:05:04,160 --> 00:05:09,210 >> Então, isso é o básico Objeto de carro que eu tenho. 71 00:05:09,210 --> 00:05:15,350 Temos a acelerar, quebrar, e métodos getSpeed. 72 00:05:15,350 --> 00:05:20,180 Até este ponto, é clara sobre todos Objetos Java e como declará-los? 73 00:05:20,180 --> 00:05:22,710 Cool, tudo bem. 74 00:05:22,710 --> 00:05:29,120 Então, se você quiser usar o Java objeto em si mesmo um programa, 75 00:05:29,120 --> 00:05:35,720 então podemos usar este novo construtor Car. 76 00:05:35,720 --> 00:05:41,250 Então, aqui estamos dizendo que queremos declarar um novo objeto, que é do tipo de carro. 77 00:05:41,250 --> 00:05:44,120 E aqui está a aplicar o o modelo e ano, 78 00:05:44,120 --> 00:05:51,110 que definimos em esse objeto aqui. 79 00:05:51,110 --> 00:05:55,150 >> Portanto, este é também um outro objeto, se você notar. 80 00:05:55,150 --> 00:05:59,820 É uma classe para o próprio programa principal. 81 00:05:59,820 --> 00:06:04,660 E nós temos este PSVM, ou público static void principal, função, 82 00:06:04,660 --> 00:06:08,200 e a sua partida ponto de seu programa, 83 00:06:08,200 --> 00:06:12,320 semelhante ao principal função em seu programa C. 84 00:06:12,320 --> 00:06:16,870 Aqui, podemos acessar e utilizar as funções do objeto 85 00:06:16,870 --> 00:06:21,480 utilizando o ponto e o nome da função notação. 86 00:06:21,480 --> 00:06:26,130 E podemos até mesmo especificar determinados argumentos ou parâmetros 87 00:06:26,130 --> 00:06:28,260 para essa função. 88 00:06:28,260 --> 00:06:32,410 >> OK, então agora passar à herança. 89 00:06:32,410 --> 00:06:37,670 Assim, os objetos do mundo real pode partilham as mesmas características. 90 00:06:37,670 --> 00:06:42,490 Assim, por exemplo, há diferentes tipos de bicicletas. 91 00:06:42,490 --> 00:06:47,280 Por exemplo, mountain bike, bicicletas da cidade, ou bicicletas tandem. 92 00:06:47,280 --> 00:06:50,320 Então, eles têm esse comum característica de ser uma moto. 93 00:06:50,320 --> 00:06:55,740 >> E assim bikes podem ter duas rodas e eles podem ter um guidão, talvez até 94 00:06:55,740 --> 00:06:58,750 a luz da cauda, ​​ou algo assim. 95 00:06:58,750 --> 00:07:04,930 Então Java nos dá essa poder de representar objetos 96 00:07:04,930 --> 00:07:10,170 que têm certa comum características por meio de herança. 97 00:07:10,170 --> 00:07:18,370 Agora, o que faz de herança, é passa em campos e métodos de um objeto 98 00:07:18,370 --> 00:07:20,920 em um objeto filho. 99 00:07:20,920 --> 00:07:24,080 >> Assim, por exemplo, se eu tem um carro, e tem 100 00:07:24,080 --> 00:07:28,570 o estado de ter quatro rodas e um volante, 101 00:07:28,570 --> 00:07:31,120 então podemos passar isso para certos tipos diferentes de carros. 102 00:07:31,120 --> 00:07:35,470 Por exemplo, temos o sedan, carro esportivo, e um SUV. 103 00:07:35,470 --> 00:07:38,940 Agora, estes três diferentes tipos de carros seria ainda 104 00:07:38,940 --> 00:07:42,050 tem quatro rodas e uma volante, mas então eles 105 00:07:42,050 --> 00:07:43,900 pode ter certeza características especiais, 106 00:07:43,900 --> 00:07:49,980 tais como assentos e tendo cinco um para um sedan, por exemplo. 107 00:07:49,980 --> 00:07:58,510 >> Então, para fazer uso dessa herança característica, usamos esta palavra-chave extends. 108 00:07:58,510 --> 00:08:04,570 Então lembre-se de volta para o carro objetar que eu definido anteriormente. 109 00:08:04,570 --> 00:08:06,730 Agora eu definir um objeto Sedan. 110 00:08:06,730 --> 00:08:09,930 111 00:08:09,930 --> 00:08:17,850 Portanto, este objeto Sedan teria o mesmos campos e funções ou métodos, 112 00:08:17,850 --> 00:08:19,660 que o carro teria. 113 00:08:19,660 --> 00:08:24,830 Mas, em seguida, aqui eu especificar determinadas funções adicionais, 114 00:08:24,830 --> 00:08:26,830 por exemplo, o conjunto número de passageiros 115 00:08:26,830 --> 00:08:29,150 e obter o número de passageiros. 116 00:08:29,150 --> 00:08:32,000 >> Aqui, você também pode perceber que podemos substituir os métodos, 117 00:08:32,000 --> 00:08:34,840 e isso significa que nós somos apenas substituindo o comportamento 118 00:08:34,840 --> 00:08:38,549 para agir de maneira diferente em certos casos. 119 00:08:38,549 --> 00:08:42,710 Assim, por exemplo, eu quero definir uma velocidade máxima para o nosso carro. 120 00:08:42,710 --> 00:08:49,840 E para fazer isso, eu verificar se esta velocidade iria passar por cima da velocidade máxima. 121 00:08:49,840 --> 00:08:54,180 E se isso não acontecer, então eu chamo de Super Class 'método acelerar. 122 00:08:54,180 --> 00:09:00,350 Então este é o super.accelerate () chamadas o super class 'acelerar método. 123 00:09:00,350 --> 00:09:05,390 124 00:09:05,390 --> 00:09:09,940 >> Finalmente, vamos falar sobre interfaces. 125 00:09:09,940 --> 00:09:18,090 Assim, as interfaces são uma forma única de expor certos métodos para o mundo exterior. 126 00:09:18,090 --> 00:09:19,980 Então, eles são como uma mesa de conteúdos, e você 127 00:09:19,980 --> 00:09:25,900 pode pensar neles como como os arquivos de cabeçalho C, apenas 128 00:09:25,900 --> 00:09:33,680 métodos como com corpos vazios, e eles especificar o que o objeto ou a classe 129 00:09:33,680 --> 00:09:37,710 tem que ter, ou o que os métodos o objeto ou a classe tem de ter. 130 00:09:37,710 --> 00:09:41,360 >> Assim, por exemplo, se eu ter uma interface de bicicleta, 131 00:09:41,360 --> 00:09:46,530 e tem três métodos diferentes, e aqui se eu implementar essa interface, 132 00:09:46,530 --> 00:09:49,864 então isso significa que esta bicicleta seria necessário para implementar o mesmo três 133 00:09:49,864 --> 00:09:51,530 métodos que definidos na interface. 134 00:09:51,530 --> 00:09:57,076 135 00:09:57,076 --> 00:10:01,390 >> Até este ponto, todas as outras perguntas? 136 00:10:01,390 --> 00:10:03,240 Tudo bem, legal. 137 00:10:03,240 --> 00:10:07,770 Portanto, este foi um breve e rápido tutorial sobre Java. 138 00:10:07,770 --> 00:10:14,560 Não há maneira mais recursos e temas sobre Java, que você pode realmente passar. 139 00:10:14,560 --> 00:10:17,690 Por exemplo, há genéricos, há tipos de dados, 140 00:10:17,690 --> 00:10:19,780 há até mesmo enums e outras coisas. 141 00:10:19,780 --> 00:10:23,400 Então, se você quiser saber mais sobre ele, não siga estes links, 142 00:10:23,400 --> 00:10:25,840 e eles vão te ensinar mais sobre eles. 143 00:10:25,840 --> 00:10:30,220 >> OK, então, vamos passar para a carne real do seminário, 144 00:10:30,220 --> 00:10:34,080 e que é efectivamente Programação Android. 145 00:10:34,080 --> 00:10:37,660 Portanto, antes de nós, na verdade, chegar a programação, 146 00:10:37,660 --> 00:10:40,800 Eu quero falar sobre alguns jargões. 147 00:10:40,800 --> 00:10:46,980 Assim, uma atividade é Do Android maneira de dizer 148 00:10:46,980 --> 00:10:52,870 é uma única tela dentro do aplicativo. 149 00:10:52,870 --> 00:11:01,100 >> Assim, por exemplo, se você tem um Gmail app, temos a atividade ver e-mails. 150 00:11:01,100 --> 00:11:02,990 E então se você clicar um determinado e-mail, que 151 00:11:02,990 --> 00:11:08,850 irá mostrar uma outra atividade onde é uma atividade vista e-mail. 152 00:11:08,850 --> 00:11:14,740 E depois temos também a compor atividade, ou a atividade de edição de mensagem. 153 00:11:14,740 --> 00:11:18,380 E assim, as atividades são geralmente apenas uma única tela 154 00:11:18,380 --> 00:11:21,800 dentro do próprio aplicativo. 155 00:11:21,800 --> 00:11:28,410 >> Agora, pontos de vista são os componentes que fazem a tela, ou a própria atividade. 156 00:11:28,410 --> 00:11:34,430 Então, eles desenhar um certo coisa em sua tela. 157 00:11:34,430 --> 00:11:37,840 Assim, por exemplo, pode ser um campo de texto, que pode ser uma etiqueta, 158 00:11:37,840 --> 00:11:40,090 pode ser uma caixa de controlo. 159 00:11:40,090 --> 00:11:44,110 Por isso, é muitos tipos diferentes de pontos de vista. 160 00:11:44,110 --> 00:11:47,780 Portanto, agora temos intenções, e isso é uma mensagem 161 00:11:47,780 --> 00:11:51,070 que é repassado para outra atividade. 162 00:11:51,070 --> 00:11:58,997 E eles contêm informações como a o que você quer esta atividade a ser executada. 163 00:11:58,997 --> 00:12:00,830 Finalmente, temos o arquivo de manifesto, e que 164 00:12:00,830 --> 00:12:07,900 é um arquivo XML que dá o seu telefone todas as informações sobre o seu app. 165 00:12:07,900 --> 00:12:12,230 Então é isso inclui a versão, e as atividades que você vai ter. 166 00:12:12,230 --> 00:12:17,480 >> OK, então vamos começar. 167 00:12:17,480 --> 00:12:21,460 Então, nós estamos indo para ser usando Android Studio. 168 00:12:21,460 --> 00:12:26,960 Portanto, se vocês têm isso já instalado, fique à vontade para seguir adiante. 169 00:12:26,960 --> 00:12:29,790 Vamos tentar e começar de novo do zero. 170 00:12:29,790 --> 00:12:35,260 E assim eu vou tentar e criar um novo projeto. 171 00:12:35,260 --> 00:12:40,370 E eu vou chamar meu projeto Android 101. 172 00:12:40,370 --> 00:12:45,770 E aqui vamos colocar o nome do projeto no campo nome do aplicativo. 173 00:12:45,770 --> 00:12:48,500 >> Empresa Domain, você não realmente tem que se preocupar com isso. 174 00:12:48,500 --> 00:12:57,000 Este é apenas como Android identifica a sua aplicação. 175 00:12:57,000 --> 00:13:01,350 Então você tem um nome de domínio, você pode digitar em seu nome de domínio dentro de lá. 176 00:13:01,350 --> 00:13:05,370 Mas se você não fizer isso, você pode se sentir livre para escrever o que quiser. 177 00:13:05,370 --> 00:13:08,226 Então aqui eu apenas digitar frederickw.com. 178 00:13:08,226 --> 00:13:14,660 >> E então, finalmente, eu escolho onde Eu quero armazenar meu projeto no. 179 00:13:14,660 --> 00:13:21,080 E eu estou indo apenas para escolher o meu desktop. 180 00:13:21,080 --> 00:13:28,670 Assim, os usuários, Frederick Widjaja e Desktop. 181 00:13:28,670 --> 00:13:31,340 OK. 182 00:13:31,340 --> 00:13:34,090 Em seguida, clique em Avançar. 183 00:13:34,090 --> 00:13:39,630 Aqui, eu vou escolher o API mínimo a ser suportado. 184 00:13:39,630 --> 00:13:44,910 Portanto, neste caso, eu sou vai escolher API 15. 185 00:13:44,910 --> 00:13:51,530 E é bom se você realmente só 4.4 escolher qual é a mais recente API. 186 00:13:51,530 --> 00:13:53,560 Ou 5, na verdade. 187 00:13:53,560 --> 00:13:57,714 Mas, então, você só precisa se preocupar com quais os telefones que você está realmente de apoio, 188 00:13:57,714 --> 00:13:59,130 e quais os telefones que você está alvejando. 189 00:13:59,130 --> 00:14:04,230 190 00:14:04,230 --> 00:14:06,260 Clique em Avançar. 191 00:14:06,260 --> 00:14:09,780 >> OK, assim que chegamos a este tela, e nós estamos apenas 192 00:14:09,780 --> 00:14:15,110 vai usar criar um atividade por isso. 193 00:14:15,110 --> 00:14:19,890 Então, eu estou indo para clicar em branco atividade e, em seguida, em Avançar. 194 00:14:19,890 --> 00:14:23,110 Vamos chamá-lo de principal atividade, eu acho que isso é bom. 195 00:14:23,110 --> 00:14:27,800 Basta ir a chamá-lo, pressione Finish aqui. 196 00:14:27,800 --> 00:14:36,250 Espere por ele para carregar, e lá vamos nós. 197 00:14:36,250 --> 00:14:40,600 >> Então aqui nós observamos três diferentes pastas. 198 00:14:40,600 --> 00:14:44,290 Temos a pasta manifesto que contém o nosso manifesto. 199 00:14:44,290 --> 00:14:48,360 Se você abri-lo, vamos ver o nosso pacote. 200 00:14:48,360 --> 00:14:54,000 Ou se identifica como Android sua aplicação 201 00:14:54,000 --> 00:14:58,990 e depois temos esta tag aplicativo, que 202 00:14:58,990 --> 00:15:05,420 contém o título da nossa aplicação bem como o ícone do aplicativo. 203 00:15:05,420 --> 00:15:08,050 204 00:15:08,050 --> 00:15:11,950 >> Nós podemos realmente executar este reta aplicação. 205 00:15:11,950 --> 00:15:14,600 Então, por que não tentar fazer isso? 206 00:15:14,600 --> 00:15:16,310 Eu vou usar Genymotion. 207 00:15:16,310 --> 00:15:22,150 Se você trouxe seu próprio telefone, você pode vinculá-lo e executá-lo se você quiser. 208 00:15:22,150 --> 00:15:31,213 Mas eu estou indo só para usar um emulador, e eu vou começar isso. 209 00:15:31,213 --> 00:15:31,713 Ooh. 210 00:15:31,713 --> 00:15:41,030 211 00:15:41,030 --> 00:15:42,780 Bem, eu acho que isso é vai demorar um pouco, 212 00:15:42,780 --> 00:15:49,580 então eu acho que nós vamos ir direto a explicar mais sobre isso. 213 00:15:49,580 --> 00:15:56,200 Portanto, temos aqui o diretório Java, ou onde os arquivos de origem estão contidos. 214 00:15:56,200 --> 00:16:02,500 Aqui nós temos a própria atividade principal. 215 00:16:02,500 --> 00:16:07,120 Você pode ver que ele estende a classe de atividade. 216 00:16:07,120 --> 00:16:12,750 Portanto, a nossa principal atividade é uma tela que será no nosso pedido. 217 00:16:12,750 --> 00:16:21,790 E então aqui notamos que um número de funções são gerados automaticamente para nós. 218 00:16:21,790 --> 00:16:26,037 Temos a função onCreate, e que será chamado whenever-- 219 00:16:26,037 --> 00:16:27,870 Estudante: Você se importa tornando o texto mais amplo? 220 00:16:27,870 --> 00:16:28,940 FRED Widjaja: OK, com certeza. 221 00:16:28,940 --> 00:16:38,380 222 00:16:38,380 --> 00:16:41,640 Vou tentar aumentar o tamanho da fonte. 223 00:16:41,640 --> 00:17:03,570 224 00:17:03,570 --> 00:17:06,490 Acho que deve ser bom. 225 00:17:06,490 --> 00:17:07,020 Isso é bom? 226 00:17:07,020 --> 00:17:09,480 >> ALUNO: Só um pouquinho mais alto, como 20 ou algo assim. 227 00:17:09,480 --> 00:17:09,829 >> FRED Widjaja: 20? 228 00:17:09,829 --> 00:17:10,329 OK. 229 00:17:10,329 --> 00:17:17,380 230 00:17:17,380 --> 00:17:20,990 OK, tudo bem. 231 00:17:20,990 --> 00:17:24,740 Portanto, temos aqui onCreate método que 232 00:17:24,740 --> 00:17:29,750 ser chamado quando nossa atividade é criado no [? mostrar?]. 233 00:17:29,750 --> 00:17:32,100 Temos a onCreateOptionsMenu, e nós vamos 234 00:17:32,100 --> 00:17:38,370 ver que não há, na verdade, uma barra de ação e, em seguida 235 00:17:38,370 --> 00:17:42,920 podemos acrescentar alguns itens do menu sobre a mesma. 236 00:17:42,920 --> 00:17:45,710 E então aqui temos a onOptionsItemSelected. 237 00:17:45,710 --> 00:17:52,210 Então, isso é como um ouvinte de evento, de modo sempre que uma opção em nossa barra de ação 238 00:17:52,210 --> 00:17:58,450 é clicado, este função será chamada, 239 00:17:58,450 --> 00:18:01,270 e ele vai ser passado com um determinado item que foi clicado. 240 00:18:01,270 --> 00:18:05,670 241 00:18:05,670 --> 00:18:11,576 >> OK, eu vou see-- que não está funcionando bem. 242 00:18:11,576 --> 00:18:13,028 Vamos tentar começar. 243 00:18:13,028 --> 00:18:16,416 244 00:18:16,416 --> 00:18:17,384 Oh céus. 245 00:18:17,384 --> 00:18:21,740 246 00:18:21,740 --> 00:18:23,560 OK. 247 00:18:23,560 --> 00:18:24,320 Isso é preocupante. 248 00:18:24,320 --> 00:18:39,390 249 00:18:39,390 --> 00:18:41,500 OK, então de qualquer maneira. 250 00:18:41,500 --> 00:18:44,940 Aqui nós temos o layout para a nossa atividade em si. 251 00:18:44,940 --> 00:18:50,150 Esta é a nossa principal atividade, e aqui notamos que há a barra de ação. 252 00:18:50,150 --> 00:18:54,460 E então nós temos este Olá etiqueta mundo, e nós podemos realmente 253 00:18:54,460 --> 00:18:57,830 editar o texto aqui. 254 00:18:57,830 --> 00:19:03,260 Se você vai e rolagem até o Olá Mundo, 255 00:19:03,260 --> 00:19:06,360 nós podemos mudá-lo para o que quisermos. 256 00:19:06,360 --> 00:19:10,070 Por exemplo, poderia ser, Oi. 257 00:19:10,070 --> 00:19:12,820 Bem-vindo. 258 00:19:12,820 --> 00:19:14,345 E lá vamos nós, ele muda. 259 00:19:14,345 --> 00:19:20,380 260 00:19:20,380 --> 00:19:20,880 Oh céus. 261 00:19:20,880 --> 00:19:24,310 262 00:19:24,310 --> 00:19:26,010 Esse estilo não funciona. 263 00:19:26,010 --> 00:19:28,320 OK, isso é preocupante. 264 00:19:28,320 --> 00:19:32,000 OK, de qualquer maneira, podemos passar sem isso. 265 00:19:32,000 --> 00:19:38,560 Então, por agora, vamos tentar fazer algumas coisas realmente básicas. 266 00:19:38,560 --> 00:19:42,450 Então, aqui vamos ter um rótulo, e então nós estamos 267 00:19:42,450 --> 00:19:47,005 vai ter um texto view-- desculpe, não uma exibição de texto, 268 00:19:47,005 --> 00:19:49,310 vamos ter um texto de edição. 269 00:19:49,310 --> 00:19:53,900 E isso é um componente para você digitar e outras coisas. 270 00:19:53,900 --> 00:19:56,590 271 00:19:56,590 --> 00:20:07,240 Portanto, temos um texto simples e, em seguida nós apenas adicioná-lo na nossa interface. 272 00:20:07,240 --> 00:20:13,520 >> Aqui, gostaria de acrescentar também uma certa margem para o início de modo que parece mais agradável. 273 00:20:13,520 --> 00:20:19,190 Então, nós estamos indo para ir para o propriedades, e em seguida, na margem superior, 274 00:20:19,190 --> 00:20:23,120 vamos adicionar em 20 DPs. 275 00:20:23,120 --> 00:20:28,170 Então, agora, DPs são apenas unidade de medida em Android, 276 00:20:28,170 --> 00:20:31,240 e eles representam densidade pixels independentes. 277 00:20:31,240 --> 00:20:35,380 Então, como você deve saber, o Android, não há muitos tipos diferentes de telas 278 00:20:35,380 --> 00:20:38,410 e então eles têm diferentes densidades de tela. 279 00:20:38,410 --> 00:20:42,584 Então, aqui ele só vai ser um pixel independente da densidade, 280 00:20:42,584 --> 00:20:44,750 por isso vai ser mesmo ao longo de todas as telas. 281 00:20:44,750 --> 00:20:49,046 282 00:20:49,046 --> 00:20:55,270 >> Indo para estender este texto editar e então eu também estou indo para adicionar um botão. 283 00:20:55,270 --> 00:21:02,900 284 00:21:02,900 --> 00:21:04,370 E vai dizer OK. 285 00:21:04,370 --> 00:21:09,639 286 00:21:09,639 --> 00:21:10,597 20 DPs. 287 00:21:10,597 --> 00:21:14,430 288 00:21:14,430 --> 00:21:16,630 OK. 289 00:21:16,630 --> 00:21:20,060 Portanto, agora temos três componentes diferentes. 290 00:21:20,060 --> 00:21:25,630 E a maneira como podemos nos referir a estes em nossa classe principal atividade 291 00:21:25,630 --> 00:21:29,620 É através deste método chamado findViewById. 292 00:21:29,620 --> 00:21:36,790 Então, eu estou indo para definir alguns campos. 293 00:21:36,790 --> 00:21:48,290 Portanto, temos em TextView, então vamos dizer helloText. 294 00:21:48,290 --> 00:21:55,400 295 00:21:55,400 --> 00:21:59,930 E então, se você estiver usando o Android Studio, você pode usar o atalho alternativo, 296 00:21:59,930 --> 00:22:01,120 inserir. 297 00:22:01,120 --> 00:22:07,400 E clique em Importar classe para automaticamente importar as classes correspondentes 298 00:22:07,400 --> 00:22:07,950 que precisamos. 299 00:22:07,950 --> 00:22:10,590 300 00:22:10,590 --> 00:22:20,800 E então aqui eu estou indo para adicionar uma ID de este TextView e chamá-lo text_hello. 301 00:22:20,800 --> 00:22:28,320 302 00:22:28,320 --> 00:22:32,050 Agora que definimos um ID para este TextView, 303 00:22:32,050 --> 00:22:38,020 podemos usar esta para se referir ao textview que nós acabamos de definir. 304 00:22:38,020 --> 00:22:47,970 Então helloText igual TextView findViewById, 305 00:22:47,970 --> 00:22:52,630 e, em seguida, especifique o ID que nós queremos, que é r.ID.text_hello. 306 00:22:52,630 --> 00:22:55,360 307 00:22:55,360 --> 00:22:59,560 >> Então isso é muito semelhante ao JavaScript e jQuery, onde podemos realmente apenas 308 00:22:59,560 --> 00:23:05,430 referem-se a certos elementos no layout apenas 309 00:23:05,430 --> 00:23:08,330 usando a ID que temos especificado. 310 00:23:08,330 --> 00:23:17,240 Assim, em geral, para aceder a uma determinado objeto ou um determinado campo 311 00:23:17,240 --> 00:23:22,030 em nosso layout, você vai ter para usar este método findViewById. 312 00:23:22,030 --> 00:23:26,290 E então nós vamos fazer o mesmo coisas para os outros dois elementos. 313 00:23:26,290 --> 00:23:29,570 314 00:23:29,570 --> 00:23:36,683 Aqui, eu vou adicione o text_name ID. 315 00:23:36,683 --> 00:23:40,760 316 00:23:40,760 --> 00:23:42,770 Sim. 317 00:23:42,770 --> 00:23:46,610 Bem como para este. 318 00:23:46,610 --> 00:23:49,345 319 00:23:49,345 --> 00:23:49,845 Button_ok. 320 00:23:49,845 --> 00:23:53,570 321 00:23:53,570 --> 00:23:58,120 >> Agora o que eu quero fazer é esta quando clicamos no botão OK, 322 00:23:58,120 --> 00:24:02,110 e temos introduzido algum tipo do nome no campo de texto, 323 00:24:02,110 --> 00:24:10,880 em seguida, ele vai atualizar esta etiqueta a dizer, oi, nome, bem-vindo. 324 00:24:10,880 --> 00:24:16,520 Então, de volta em nosso principal classe de atividade, estamos 325 00:24:16,520 --> 00:24:23,210 também vai tentar se referir a os elementos que temos de encontrar. 326 00:24:23,210 --> 00:24:30,860 >> Portanto, temos a EditText nameText. 327 00:24:30,860 --> 00:24:33,615 328 00:24:33,615 --> 00:24:36,000 Oops. 329 00:24:36,000 --> 00:24:38,500 Digite e suplente, classe de importação. 330 00:24:38,500 --> 00:24:41,060 E, em seguida, também o botão OK. 331 00:24:41,060 --> 00:24:45,660 332 00:24:45,660 --> 00:24:48,980 Da mesma forma, nós vamos fazer a mesma coisa aqui. 333 00:24:48,980 --> 00:24:54,900 nameText iguala EditText findViewById, r.ID.text_name. 334 00:24:54,900 --> 00:25:01,430 335 00:25:01,430 --> 00:25:03,380 E, em seguida, no botão OK. 336 00:25:03,380 --> 00:25:10,180 337 00:25:10,180 --> 00:25:13,840 findViewById, r.ID e, em seguida button_ok. 338 00:25:13,840 --> 00:25:16,400 339 00:25:16,400 --> 00:25:22,240 >> OK, então agora temos todos os três elementos que queremos referir. 340 00:25:22,240 --> 00:25:27,630 Então agora eu vou anexar uma on-clique ouvinte para o nosso botão 341 00:25:27,630 --> 00:25:30,440 para ouvir usuário clica. 342 00:25:30,440 --> 00:25:35,780 Para que nós apenas usar o setOnClickListener evento. 343 00:25:35,780 --> 00:25:38,860 344 00:25:38,860 --> 00:25:44,010 Agora, aqui está dizendo que precisamos para especificar setOnClickListener, 345 00:25:44,010 --> 00:25:51,030 e você pode fazer isso por ter apenas um nova OnClickListener, e pressione Enter. 346 00:25:51,030 --> 00:25:56,935 >> E então você tem este anônimo classe ou objeto anônimo. 347 00:25:56,935 --> 00:25:59,530 348 00:25:59,530 --> 00:26:02,790 E também temos este onClick método, e isso é basicamente 349 00:26:02,790 --> 00:26:05,580 o que ele vai ser chamado quando clicado do nosso botão. 350 00:26:05,580 --> 00:26:15,860 >> Então, aqui, eu quero pegar o nome que Foi introduzido em um primeiro campo de texto Então 351 00:26:15,860 --> 00:26:17,700 String nome é igual a nameText.getText (). 352 00:26:17,700 --> 00:26:21,670 353 00:26:21,670 --> 00:26:26,400 Novamente, isso é como o Sintaxe Java para se referir 354 00:26:26,400 --> 00:26:29,130 para funções dentro do objeto. 355 00:26:29,130 --> 00:26:36,290 Então nameText.getText, e então nós estamos indo para convertê-lo em uma string. 356 00:26:36,290 --> 00:26:41,090 Agora temos o nome que foi introduzido pelo utilizador. 357 00:26:41,090 --> 00:26:46,140 >> E então nós vamos gerar uma nova seqüência, 358 00:26:46,140 --> 00:26:48,980 por isso vai ser chamado Olá. 359 00:26:48,980 --> 00:26:56,325 Eu vou dizer, oi, nome, bem-vindo. 360 00:26:56,325 --> 00:27:00,810 361 00:27:00,810 --> 00:27:05,265 E, finalmente, você quer para atualizar o helloText. 362 00:27:05,265 --> 00:27:09,190 Então, para fazer isso, nós simplesmente chamar helloText.setText (Olá). 363 00:27:09,190 --> 00:27:16,940 364 00:27:16,940 --> 00:27:17,440 OK. 365 00:27:17,440 --> 00:27:20,430 366 00:27:20,430 --> 00:27:22,770 Oops. 367 00:27:22,770 --> 00:27:30,645 >> Eu vou tentar e re-executar Genymotion uma última vez e ver se funciona. 368 00:27:30,645 --> 00:27:35,160 369 00:27:35,160 --> 00:27:38,810 Se isso não acontecer, é totalmente bem. 370 00:27:38,810 --> 00:27:39,730 OK. 371 00:27:39,730 --> 00:27:41,970 Então eu acho que não funciona. 372 00:27:41,970 --> 00:27:48,960 373 00:27:48,960 --> 00:27:52,955 Na verdade, deixe-me tentar e fazer isso. 374 00:27:52,955 --> 00:27:56,188 375 00:27:56,188 --> 00:27:57,174 Poderia ser este. 376 00:27:57,174 --> 00:28:05,548 377 00:28:05,548 --> 00:28:06,048 Genymotion. 378 00:28:06,048 --> 00:28:25,761 379 00:28:25,761 --> 00:28:26,261 OK. 380 00:28:26,261 --> 00:28:33,240 381 00:28:33,240 --> 00:28:33,980 Tudo certo. 382 00:28:33,980 --> 00:28:35,170 Sim, ele funciona. 383 00:28:35,170 --> 00:28:38,020 OK. 384 00:28:38,020 --> 00:28:39,250 Isso foi assustador. 385 00:28:39,250 --> 00:28:40,890 OK. 386 00:28:40,890 --> 00:28:43,270 Eu não queria fazer isso. 387 00:28:43,270 --> 00:28:46,570 OK, por isso temos este emulador Android. 388 00:28:46,570 --> 00:28:49,070 Deixe-me desligar isso. 389 00:28:49,070 --> 00:28:52,290 390 00:28:52,290 --> 00:28:55,720 Então, nós temos o nosso emulador Android. 391 00:28:55,720 --> 00:28:59,750 Então, nós estamos indo para tentar executar este aplicativo que fizemos. 392 00:28:59,750 --> 00:29:04,100 Basta ir a clique no botão Play, e ele vai dizer, à espera de adb. 393 00:29:04,100 --> 00:29:10,580 394 00:29:10,580 --> 00:29:12,780 Oh, cara. 395 00:29:12,780 --> 00:29:13,280 Reiniciar. 396 00:29:13,280 --> 00:29:25,419 397 00:29:25,419 --> 00:29:30,150 OK, eu acho que isso ainda não funciona. 398 00:29:30,150 --> 00:29:31,280 OK, deixa pra lá, então. 399 00:29:31,280 --> 00:29:33,841 400 00:29:33,841 --> 00:29:38,150 esta vai ser uma pena. 401 00:29:38,150 --> 00:29:41,030 Mas então vamos dizer que queremos para criar uma nova actividade, 402 00:29:41,030 --> 00:29:45,730 e nós vamos ter um imagem em que a atividade. 403 00:29:45,730 --> 00:29:52,120 Para fazer isso, basta clicar Este arquivo e, em seguida Novo. 404 00:29:52,120 --> 00:29:57,760 E então aqui nós podemos selecionar Atividade, e, em seguida, Atividade em branco. 405 00:29:57,760 --> 00:29:59,840 Aqui, nós estamos indo para chamar ele talvez CatActivity. 406 00:29:59,840 --> 00:30:03,030 407 00:30:03,030 --> 00:30:06,537 >> OK, então agora ele gera dois outros arquivos. 408 00:30:06,537 --> 00:30:08,245 Um é chamado activity_cat, e a outra 409 00:30:08,245 --> 00:30:10,630 é chamado catActivity, que é uma classe. 410 00:30:10,630 --> 00:30:13,250 411 00:30:13,250 --> 00:30:18,648 Então, vamos dizer que queremos adicionar uma imagem de um gato aqui. 412 00:30:18,648 --> 00:30:21,790 413 00:30:21,790 --> 00:30:25,220 Então, quando você faz isso, vamos usar a classe ImageView. 414 00:30:25,220 --> 00:30:28,076 415 00:30:28,076 --> 00:30:31,340 Nós estamos indo para adicioná-lo para aqui. 416 00:30:31,340 --> 00:30:35,350 E, em seguida, definir a margem a ser 20 DP. 417 00:30:35,350 --> 00:30:37,920 418 00:30:37,920 --> 00:30:41,240 >> E agora nós vamos encontrar uma imagem de um gato na internet. 419 00:30:41,240 --> 00:30:43,270 Então vamos ver. 420 00:30:43,270 --> 00:30:43,770 Gato. 421 00:30:43,770 --> 00:30:48,280 422 00:30:48,280 --> 00:30:50,270 OK. 423 00:30:50,270 --> 00:30:51,145 Eu acho que isso é bom. 424 00:30:51,145 --> 00:30:59,070 425 00:30:59,070 --> 00:31:01,032 OK. 426 00:31:01,032 --> 00:31:02,780 Portanto, agora temos a nossa imagem. 427 00:31:02,780 --> 00:31:07,720 Então, nós estamos indo para adicionar -lo em nosso projeto. 428 00:31:07,720 --> 00:31:16,140 Pode fazer isso por direito clicar, e nós entăo-- 429 00:31:16,140 --> 00:31:25,965 pode, na verdade, basta abrir este, ir de downloads, desculpe, desktop. 430 00:31:25,965 --> 00:31:28,310 Indo para tentar encontrá-lo. 431 00:31:28,310 --> 00:31:28,810 Gato. 432 00:31:28,810 --> 00:31:34,580 433 00:31:34,580 --> 00:31:35,790 Bem aqui. 434 00:31:35,790 --> 00:31:42,820 Eu estou indo para copiá-lo em minha pasta. 435 00:31:42,820 --> 00:31:46,800 Agora, ele vai me pedir algumas opções. 436 00:31:46,800 --> 00:31:49,250 Agora, eu só quero que isso estar na pasta drawable, 437 00:31:49,250 --> 00:31:54,390 e que vai ser para todos diferentes resoluções de tela. 438 00:31:54,390 --> 00:31:57,100 Alternativamente, podemos na verdade, apenas selecione 439 00:31:57,100 --> 00:32:01,270 que a resolução da tela você quer esta imagem para se estar. 440 00:32:01,270 --> 00:32:06,150 Então, indo para selecionar o pasta drawable, clique em OK. 441 00:32:06,150 --> 00:32:08,660 442 00:32:08,660 --> 00:32:09,910 Basta ir a nomeá-lo cat.jpg. 443 00:32:09,910 --> 00:32:12,560 444 00:32:12,560 --> 00:32:15,970 >> OK, por isso, agora ela é adicionada em nosso ponto de vista de imagem. 445 00:32:15,970 --> 00:32:18,800 446 00:32:18,800 --> 00:32:22,020 nós vamos ter que usar esta fonte aqui, 447 00:32:22,020 --> 00:32:27,420 e então nós podemos usar esta dot dot dot botão e selecione a imagem do gato. 448 00:32:27,420 --> 00:32:30,010 449 00:32:30,010 --> 00:32:32,620 OK. 450 00:32:32,620 --> 00:32:39,480 Então agora eu quero fazê-lo, tais que é apenas o tamanho certo. 451 00:32:39,480 --> 00:32:50,050 Então, eu estou indo para seleccionar este ajuste visualizar opção limites aqui, 452 00:32:50,050 --> 00:32:54,960 e que automaticamente define-lo para o tamanho certo. 453 00:32:54,960 --> 00:32:55,460 OK. 454 00:32:55,460 --> 00:33:02,410 455 00:33:02,410 --> 00:33:09,380 Agora, para realmente lançar este atividade da nossa actividade anterior, 456 00:33:09,380 --> 00:33:15,470 você vai ter que usar algo chamado a intenção. 457 00:33:15,470 --> 00:33:19,115 Então, digamos que eu estou indo para adicionar outro botão que ativa a atividade. 458 00:33:19,115 --> 00:33:26,640 459 00:33:26,640 --> 00:33:29,150 Vou adicioná-lo aqui, aqui. 460 00:33:29,150 --> 00:33:36,160 E então ele vai ter o texto ativá-lo. 461 00:33:36,160 --> 00:33:38,711 462 00:33:38,711 --> 00:33:39,210 Oops. 463 00:33:39,210 --> 00:33:42,470 464 00:33:42,470 --> 00:33:43,320 OK. 465 00:33:43,320 --> 00:33:47,560 >> Agora, como é que vamos realmente abrir o nova atividade dentro desta atividade? 466 00:33:47,560 --> 00:33:52,280 467 00:33:52,280 --> 00:33:54,650 Assim mesmo negócio como antes. 468 00:33:54,650 --> 00:34:01,120 Precisamos adicionar uma ID para este botão, e chamá-lo button_activate. 469 00:34:01,120 --> 00:34:09,489 470 00:34:09,489 --> 00:34:16,880 E então, em nossa atividade principal, indo ter este novo activateButton Button. 471 00:34:16,880 --> 00:34:21,630 472 00:34:21,630 --> 00:34:26,150 E então utilizar também o método findViewById. 473 00:34:26,150 --> 00:34:29,449 474 00:34:29,449 --> 00:34:33,960 activateButton iguala Botão findViewById r.ID.button_activate. 475 00:34:33,960 --> 00:34:43,960 476 00:34:43,960 --> 00:34:45,830 >> OK. 477 00:34:45,830 --> 00:34:48,500 E então nós também vai adicionar em um OnClickListener. 478 00:34:48,500 --> 00:34:56,360 479 00:34:56,360 --> 00:34:57,294 New OnClickListener. 480 00:34:57,294 --> 00:35:01,870 481 00:35:01,870 --> 00:35:07,145 E então nós vamos usar esta coisa chamada Intent. 482 00:35:07,145 --> 00:35:10,070 483 00:35:10,070 --> 00:35:11,905 Intenção é igual a new Intent (this). 484 00:35:11,905 --> 00:35:17,260 485 00:35:17,260 --> 00:35:20,699 E, em seguida, o nome do atividade que queremos mostrar-se. 486 00:35:20,699 --> 00:35:22,990 Então, aqui neste, vamos ter catActivity.class. 487 00:35:22,990 --> 00:35:30,412 488 00:35:30,412 --> 00:35:31,147 Desculpe. 489 00:35:31,147 --> 00:35:33,230 Nós vamos ter que especificar @ MainActivity.this. 490 00:35:33,230 --> 00:35:36,100 491 00:35:36,100 --> 00:35:41,910 Então agora a propriedade .esta está se referindo para a instância atual do objeto 492 00:35:41,910 --> 00:35:43,271 si. 493 00:35:43,271 --> 00:35:43,770 OK. 494 00:35:43,770 --> 00:35:48,020 Até este ponto, todas as perguntas? 495 00:35:48,020 --> 00:35:48,890 Tudo bem? 496 00:35:48,890 --> 00:35:49,390 Tudo certo. 497 00:35:49,390 --> 00:35:52,890 498 00:35:52,890 --> 00:35:57,430 >> E então, se você quer começar a atividade, é bastante simples. 499 00:35:57,430 --> 00:35:59,904 Nós apenas chamar a do método startActivity. 500 00:35:59,904 --> 00:36:04,260 501 00:36:04,260 --> 00:36:07,355 E então passamos no Intent objeto que acabamos de definir. 502 00:36:07,355 --> 00:36:10,640 503 00:36:10,640 --> 00:36:16,140 Infelizmente, nós não pode realmente mostrar isso. 504 00:36:16,140 --> 00:36:23,000 Eu estava esperando que nós podemos realmente executado este e mostrá-lo ao longo do seminário, 505 00:36:23,000 --> 00:36:26,661 mas, infelizmente, não. 506 00:36:26,661 --> 00:36:28,980 Oh, cara. 507 00:36:28,980 --> 00:36:29,480 Eu vejo. 508 00:36:29,480 --> 00:36:32,134 Oh, nós estamos indo para tentar matar ATB.exe. 509 00:36:32,134 --> 00:36:43,510 510 00:36:43,510 --> 00:36:45,214 OK. 511 00:36:45,214 --> 00:36:45,714 Reiniciar. 512 00:36:45,714 --> 00:36:53,490 513 00:36:53,490 --> 00:36:56,262 Será que isso funciona? 514 00:36:56,262 --> 00:36:57,710 Oh, OK. 515 00:36:57,710 --> 00:37:00,660 Portanto, agora é na verdade a compilação. 516 00:37:00,660 --> 00:37:02,410 Oh. 517 00:37:02,410 --> 00:37:04,420 Infelizmente, não há nenhum dispositivo de execução. 518 00:37:04,420 --> 00:37:06,040 Vamos tentar reiniciar o emulador. 519 00:37:06,040 --> 00:37:56,335 520 00:37:56,335 --> 00:37:57,880 Ah, lá vamos nós. 521 00:37:57,880 --> 00:37:59,050 Ele apareceu. 522 00:37:59,050 --> 00:38:00,070 OK. 523 00:38:00,070 --> 00:38:06,010 Então, eu vou lançar o meu app no ​​meu emulador Android. 524 00:38:06,010 --> 00:38:08,330 E nós temos as coisas que definimos apenas agora. 525 00:38:08,330 --> 00:38:13,620 Portanto, temos o rótulo, a exibição de texto, o campo de texto e, em seguida, o botão. 526 00:38:13,620 --> 00:38:18,449 Então, eu estou indo para a entrada meu nome aqui, 527 00:38:18,449 --> 00:38:19,990 e lá vamos nós, mudou o texto. 528 00:38:19,990 --> 00:38:25,980 Então, se nós digitar Foo, é vai mudar de Foo. 529 00:38:25,980 --> 00:38:29,040 >> E se eu clicar no Botão de ativação, que 530 00:38:29,040 --> 00:38:34,560 temos realmente ligado a lançar um nova atividade, espero que isso vai funcionar, 531 00:38:34,560 --> 00:38:35,190 lá vamos nós. 532 00:38:35,190 --> 00:38:36,760 Ele lança a nova atividade. 533 00:38:36,760 --> 00:38:40,001 534 00:38:40,001 --> 00:38:47,010 Para voltar, podemos pressionar o botão Voltar aqui. 535 00:38:47,010 --> 00:38:47,510 Ou não. 536 00:38:47,510 --> 00:38:49,610 Oh, lá vamos nós. 537 00:38:49,610 --> 00:38:51,450 Oops. 538 00:38:51,450 --> 00:38:52,611 Isso foi ruim. 539 00:38:52,611 --> 00:38:53,890 OK. 540 00:38:53,890 --> 00:38:58,550 >> Portanto, agora que temos implementado algumas coisas básicas no Android, 541 00:38:58,550 --> 00:39:04,800 podemos tentar fazer alguma coisas mais complicadas. 542 00:39:04,800 --> 00:39:10,070 Então, primeiro, vamos tentar passar mensagens a partir de uma actividade para outra. 543 00:39:10,070 --> 00:39:13,760 Então, digamos que queremos passar em um nome da atividade principal 544 00:39:13,760 --> 00:39:16,710 para a actividade de CAT. 545 00:39:16,710 --> 00:39:19,740 E um nome seria nameText recuperado a partir deste. 546 00:39:19,740 --> 00:39:23,510 547 00:39:23,510 --> 00:39:30,160 >> OK, então em primeiro lugar, vamos recuperar o nome aqui. 548 00:39:30,160 --> 00:39:32,230 String nome é igual a nameText.getText (). toString (). 549 00:39:32,230 --> 00:39:39,588 550 00:39:39,588 --> 00:39:41,420 OK. 551 00:39:41,420 --> 00:39:52,260 E então nós podemos usar essa coisa chamado intent.putExtra (nome), 552 00:39:52,260 --> 00:39:57,650 e, em seguida, ele realmente quer também uma chave para este campo extra. 553 00:39:57,650 --> 00:40:05,520 >> Então, eu estou indo para definir um novo chave, vamos chamá-lo EXTRA_NAME. 554 00:40:05,520 --> 00:40:11,570 555 00:40:11,570 --> 00:40:17,160 Então, eu vou usar este chave, CatActivity.EXTRA_NAME, 556 00:40:17,160 --> 00:40:21,010 e, em seguida, passar no próprio nome. 557 00:40:21,010 --> 00:40:26,370 >> OK, então agora nós podemos realmente recuperar esta dentro da nova CatActivity. 558 00:40:26,370 --> 00:40:38,650 Para isso, temos que usar o intenção é igual método getIntent. 559 00:40:38,650 --> 00:40:41,360 Então, agora ele vai recuperar a intenção de que 560 00:40:41,360 --> 00:40:45,070 foi usado para chamar esta nova atividade. 561 00:40:45,070 --> 00:40:50,340 Então, se você deseja recuperar a string que nós realmente colocar dentro da intenção, 562 00:40:50,340 --> 00:41:00,255 você pode usar um intent.getStringExtra e, em seguida, passar na mesma chave, 563 00:41:00,255 --> 00:41:04,080 564 00:41:04,080 --> 00:41:10,570 >> OK, então agora vamos dizer que você deseja alterar este campo. 565 00:41:10,570 --> 00:41:14,422 566 00:41:14,422 --> 00:41:15,630 Mudar este campo aqui. 567 00:41:15,630 --> 00:41:18,400 568 00:41:18,400 --> 00:41:20,900 E vamos fazer o tipo de letra tamanho deste campo maior. 569 00:41:20,900 --> 00:41:26,480 Então, digamos que eu quero que este seja 20 DP. 570 00:41:26,480 --> 00:41:28,340 OK. 571 00:41:28,340 --> 00:41:32,070 E eu estou indo para adicionar uma ID para este TextView, 572 00:41:32,070 --> 00:41:35,690 e eu vou chamá-lo text_cat. 573 00:41:35,690 --> 00:41:41,170 574 00:41:41,170 --> 00:41:41,670 Desculpe. 575 00:41:41,670 --> 00:41:45,630 576 00:41:45,630 --> 00:41:51,310 >> E de volta em CatActivity, mesmo negócio como antes. 577 00:41:51,310 --> 00:41:55,090 Nós vamos definir alguns campos. 578 00:41:55,090 --> 00:41:58,890 Aqui ele vai ser um catText TextView. 579 00:41:58,890 --> 00:42:03,500 580 00:42:03,500 --> 00:42:11,750 E, em seguida, é igual a catText TextView findViewById, r.ID.text_cat. 581 00:42:11,750 --> 00:42:17,230 582 00:42:17,230 --> 00:42:18,780 OK. 583 00:42:18,780 --> 00:42:24,100 E, em seguida, de volta aqui, estou vai definir-se o direito de texto 584 00:42:24,100 --> 00:42:28,120 depois de recuperar para -lo a partir da intenção. 585 00:42:28,120 --> 00:42:30,207 586 00:42:30,207 --> 00:42:30,790 setText (nome). 587 00:42:30,790 --> 00:42:36,020 588 00:42:36,020 --> 00:42:38,056 >> OK, então vamos tentar isso. 589 00:42:38,056 --> 00:42:39,070 Clique no botão Play. 590 00:42:39,070 --> 00:42:41,830 591 00:42:41,830 --> 00:42:43,445 Vou usar o mesmo dispositivo. 592 00:42:43,445 --> 00:42:47,770 593 00:42:47,770 --> 00:42:50,380 Voltar aqui. 594 00:42:50,380 --> 00:42:57,030 Então, digamos que eu não input-- se não especificar qualquer nome, 595 00:42:57,030 --> 00:42:59,330 vamos ver o que acontece. 596 00:42:59,330 --> 00:43:02,150 Então agora não há nada que aparece. 597 00:43:02,150 --> 00:43:10,390 Então, nós voltar e entrada o nosso nome, ele só vai dizer Fred. 598 00:43:10,390 --> 00:43:14,670 Assim, podemos realmente passar mensagens a partir de uma actividade para outra. 599 00:43:14,670 --> 00:43:15,170 OK. 600 00:43:15,170 --> 00:43:18,040 601 00:43:18,040 --> 00:43:22,590 >> Portanto, há um monte de outros pontos de vista que você pode usar no Android. 602 00:43:22,590 --> 00:43:29,740 Portanto, agora temos barras de progresso, temos exibições de lista, temos botões de alternância, 603 00:43:29,740 --> 00:43:33,950 e se você realmente queria para saber mais sobre isso, 604 00:43:33,950 --> 00:43:36,790 você pode realmente visitar estas páginas web. 605 00:43:36,790 --> 00:43:41,160 Eles contêm muitos recursos diferentes. 606 00:43:41,160 --> 00:43:45,230 Assim, por exemplo, a API orientar aqui mesmo, na verdade, 607 00:43:45,230 --> 00:43:50,885 dá-lhe alguns exemplos de código para certos aspectos na biblioteca Android. 608 00:43:50,885 --> 00:43:53,692 609 00:43:53,692 --> 00:43:57,560 >> E alguns tutoriais que achei útil quando aprender sobre o Android. 610 00:43:57,560 --> 00:44:06,890 Isso é o próprio tutorial oficial, e também este outro tutorial aqui. 611 00:44:06,890 --> 00:44:10,200 E, finalmente, você pode realmente usar diferentes bibliotecas 612 00:44:10,200 --> 00:44:12,710 para a sua aplicação Android. 613 00:44:12,710 --> 00:44:16,370 Agora, estes realmente estender a funcionalidade do seu app 614 00:44:16,370 --> 00:44:19,665 sem ter de realmente escrever muito código. 615 00:44:19,665 --> 00:44:21,540 A desvantagem é, de claro, que você realmente 616 00:44:21,540 --> 00:44:23,890 tem que aprender as bibliotecas se. 617 00:44:23,890 --> 00:44:29,170 >> Assim, por exemplo, se você quiser fazer utilização de tecnologia de nuvem Dropbox, 618 00:44:29,170 --> 00:44:33,400 então você pode usar a API do Dropbox. 619 00:44:33,400 --> 00:44:36,530 Similar com a API do Facebook. 620 00:44:36,530 --> 00:44:40,490 E depois há realmente alguns diferentes outras bibliotecas variado 621 00:44:40,490 --> 00:44:41,700 que você pode usar. 622 00:44:41,700 --> 00:44:45,560 Se você está tentando obter, como, JSON a partir de um determinado site, 623 00:44:45,560 --> 00:44:49,560 então eu acho que o Google JSON biblioteca seria muito útil. 624 00:44:49,560 --> 00:44:56,200 Então, agora, que converte um JSON texto formatado em um objeto Java, 625 00:44:56,200 --> 00:44:58,600 e vice-versa. 626 00:44:58,600 --> 00:45:01,110 >> E depois há o Retrofit e Picasso. 627 00:45:01,110 --> 00:45:07,240 E isso é, se você quiser use-- isso é para se você estiver usando uma API REST. 628 00:45:07,240 --> 00:45:13,300 E Picasso, se você estiver usando imagens para a sua aplicação Android. 629 00:45:13,300 --> 00:45:14,350 Tudo certo. 630 00:45:14,350 --> 00:45:18,030 Muito obrigado, e divirta-se codificação. 631 00:45:18,030 --> 00:45:19,723