Hello World Android

download Hello World Android

If you can't read please download the document

description

Tutorial de desenvolvimento de um projeto introdutório à plataforma de desenvolvimento de aplicativos para dispositivos móveis android.

Transcript of Hello World Android

  • 1. Primeiro Projeto

2. Criaremos um projeto Hello World,conhecendo os princpios bsicos do desenvolvimento para Android 3. Utilizaremos o IDE Eclipse para facilitar odesenvolvimento do aplicativoAbra o EclipseFileNewOtherAndroid Project 4. Informe o nome do projeto 5. Informe a verso mnima do Android que umdispositivo precisa para rodar a aplicao 6. Application Name: nome que identificar oaplicativo finalPackage Name: deve ter pelo menos doisidentificadores e deve ser nico 7. Estrutura do projeto geradaautomaticamentesrc: arquivos .javagen/pacote.helloWorld/R: ndice de recursos gerado automaticamenteres: recursos no-cdigo da aplicao (audio,video, imagem, etc)res/drawable-hdpi: arquivos grficos para telasgrandesres/drawable-ldpi: arquivos grficos para telaspequenas 8. Abra o arquivo HelloWorldActivity.java 9. Essa classe extende a classe Activity, entidadeusada para realizar aesUma aplicao pode ter muitas Activity, e o usurio interage com uma de cada vezO mtodo onCreate() chamado quando a Activity inicia, e deve executar todas asinicializao e configurao UI 10. Ciclo de vida de uma Activity 11. adicionando texto 12. Linha 5: importa a classe TextView Linha 14: cria um objeto TextViewLinha 15: configura o texto que aparecer na tela Linha 16: insere o objeto TextView na tela 13. Uma UI Android composta por hierarquias deobjetos View. View um elemento no layout UI, como boto, imagem ou label de texto Cada um destes objetos uma subclasse da classe View A subclasse que trata o texto TextView 14. TextViewCriamos um TextView, cujo construtor requer umAndroid Context como parmetro. Um Context um identificador para o sistema, que fornece servios como recursos a resolver, a acesso abanco de dados e prefernciasA classe HelloWorldActivity extende Activity, que herda de Context, Assim, podemos passarHelloWorldActivity como Context 15. Rodando a aplicao Run Runselecione Android Application 16. Nesse exemplo, construimos nosso UIdiretamente no cdigo fonte, o que pode gerargrandes problemas ao alterar o layout ou no conectar corretamente as Views 17. Android fornece um modelo de construo alternativo baseado em XML, separando aapresentao da lgica da aplicaoVamos refazer o aplicativo anterior utilizando esse modelo 18. Vamos alterar o arquivores/layout/main.xml 19. A estrutura geral de um layout XML do Android uma arvore de elementos, onde cada elemento o nome de uma classe View. 20. Esse exemplo possui apenas um elemento,vejamos seus atributos: 21. xmlns:androidTag mais externa. Cada layout .xml deve ter esseatributo um declarao de namespace, diz ao Androidque a aplicao ir se referir a atributos definidos no namespace 22. android:id Define um identificador nico ao elementoEsse identificador usado para referenciar a esse elemento no cdigo fonte ou em outro arquivo xml da aplicao 23. android:layout_width Define quanto da largura disponvel o elemento ir usar"fill_parent" define que o elemento ocupar todo oespao disponvel 24. android:layout_heightExatamente como android:layout_width, porm refere-se altura 25. android:textDefine o texto a ser exibido pelo TextView Ao invs de uma string hard-coded, definimosuma referncia ao elemento definido no arquivo res/values/strings.xml 26. Para que a aplicao utilize o layout main.xmlprecisamos alterar o arquivoHelloWorldActivity.java como na imagem: 27. Como parmetro de setContentView() passamos R.layout.main, um objeto compilado derepresentao ao layout definido em/res/layout/main.xml 28. Para ver o resultado das alteraes no preciso reiniciar o AVD, apenas rodar novamente oprojeto 29. Podemos perceber que as duas abordagens delayout produzem resultados identicos 30. Arquivo R.java 31. O arquivo gen/R.java gerado automaticamentee funciona como um ndice de todos os recursos definidos no projeto, permitindo referenci-los rapidamente