Bem-vindo, mais uma vez, ao curso de Introdução ao Desenvolvimento de Aplicativos Android. Estamos na terceira aula deste módulo e já criamos código que executa dispositivos móveis. Entretanto, o código que fizemos se comunica apenas com o console do Android. Isso quer dizer que o nosso usuário não vai nem sequer notar que alguma coisa foi realmente foi computada. Isso ocorre, porque usamos apenas dos aspectos de uma activity, que é a possibilidade de efetuar algum tipo de processamento usando o código Java. Entetanto, não fizemos uso de segundo aspecto, que é a capacidade de interagir com o usuário. Uma activity nos fornece uma tela por meio da qual nós podemos enviar informações para o usuário e receber uma entrada por meio das views, que são elementos que adicionamos à interface gráfica como edit texts, list views, spinners e muitos outros. A interface gráfica de uma activity é definida código XML e o código Java atua por trás dos panos para definir o que deve ser mostrado ao usuário. Sempre que inserimos uma activity no nosso código, estamos inserindo uma tela de comunicação com o usuário, sendo que podemos trocar de telas como bem entendermos para gerenciar o que o usuário está vendo. A relação entre activity e tela é tão forte que as duas palavras costumam ser usadas indistintamente. Eu posso usar a palavra tela quando quiser falar de uma activity e posso usar o termo activity quando quiser falar de uma tela. Eu vou fornecer agora algumas noções básicas sobre como o desenho na tela é feito. Vamos ao código. Num código para Android, é muito comum usarmos a linguagem XML para criar a interface gráfica. Esses códigos XML serão inflados classes Java, posteriormente. XML significa Extensible Markup Language e, caso você tenha uma ideia de HTML, então você não terá problemas entender o que é XML. Primeiramente, vejamos onde podemos colocar o código XML. Ele está acessível usando a estrutura de arquivos do lado esquerdo da IDE dentro da pasta res, r-e-s, e dentro da subpasta layout. Observem aqui o código XML que gera uma tela com o texto Hello world. De maneira geral, entenda que o XML organiza as informações usando tags, que são esses blocos delimitados por parênteses angulares. Você utiliza as tags para fazer marcações. Por exemplo, a tag TextView é uma marcação que indica que uma caixa de texto será adicionada na interface gráfica. A tag inicia com o parêntese angular de abertura seguido do identificador TextView e termina lá embaixo com uma barra e outro parêntese angular. O Android verá essa tag TextView e entenderá que precisa adicionar uma caixa de texto seguindo as configurações detalhadas na própria marcação. Observem que uma maração pode possuir outras marcações encadeadas, como é o caso da marcação RelativeLayout, que possui a tag TextView como uma marcação interna. Nesse caso, precisamos de uma outra maneira para delimitar o alcance dessa marcação. A marcação é iniciada com os parênteses angulares, sendo que não estamos usando aqui a barra para fechar o parêntese angular do modo como fizemos na textview. A ausência dessa barra indica que a marcação ainda não terminou. Nesse caso, para finalizar a marcação precisamos escrever novamente o identificador delimitado pelos parênteses angulares e iremos também colocar a barra, mas, agora, ela será posicionada na frente do identificador. Nesse caso, temos a abertura de parêntese, seguido da barra, seguido do nome do identificador e finalmente seguido de fechamento de parênteses. A última coisa que precisamos entender sobre XML é que as marcações podem possuir atributos. Lembrando sempre que o valor atribuído ao atributo deve sempre estar entre aspas. No caso específico do Android, já existe esquema de XML que fixa tanto os identificadores usados nas tags quanto nos atributos. Por exemplo, você não pode inventar nomes para as tags e nomes para os atributos, porque não será gerado XML válido para o Android. Você terá que memorizar os identificadores das tags e os atributos principais. A boa notícia é que esses atributos se repetem com uma certa frequência e o aprendizado ocorrerá quase que por osmose. Por exemplo, notem que os atributos layout_width e layout_height apareceram nas duas tags deste nosso exemplo. Agora que vocês estão começando a programar para Android, é aceitável utilizar o Android Studio para gerar o código XML para vocês. Vocês podem clicar na aba design, que está embaixo da janela e arrastar os componentes da paleta para essa representação gráfica do programa. Isso gerará o código XML correspondente. Assim, você poderá ver o código XML e aprender as principais construções para depois tentar escrever diretamente no código XML.