Aprenda a programar para Android – Parte II
Depois de termos ensinado a instalar e configurar o SDK (ver aqui) e de termos desenvolvido a primeira aplicação para Android (Hello Word, ver aqui) hoje vamos aprender a fazer uma simples aplicação.
Como normalmente refiro, programar em Android não é diferente de programar em outras linguagens de programação, no entanto é necessário perceber como se interligam os layouts em XML, com as classes em Java e por aí fora. Para isso vamos hoje desenvolver o layout de uma aplicação tipo calculadora para somar números.
Pretende-se com este artigo, que os nossos leitores aprendam a criar layouts XML, com vários widgets.
Como desenvolver uma mini calculadora em Android?
Passo 1 - Para começar vamos criar um novo projecto Android com os seguintes dados (Para perceber o que significa cada um dos dados, pode ver aqui o nosso artigo anterior). Depois de introduzirmos os dados carregamos em Finish.
Passo 2 - Vamos agora abrir a estrutura do projecto criado, e vamos aceder ao ficheiro main.xml que está dentro da projecto calculadora, dentro da pasta res-->layout
Passo 3 – Carregando na TextView que tem o texto inicial “Hello Word Calculadora”,vamos às propriedades do widget (propriedade Text) e mudamos o texto para “Introduza o primeiro número:”
Passo 4 – Vamos agora adicionar mais widgets. Para isso basta arrastar o que pretendemos para cima do layout que estamos a criar. Para este exemplo, e pela ordem indicada, vamos precisar de:
- 1 textView
- 1 EditText
- 1 textView
- 1 EditText
- 1 Button
Passo 5 – O próximo passo é associar um nome a cada widget, para posteriormente podermos obter uma referencia ao mesmo no código java que vamos produzir. O nome a atribuir a cada widget é definido no parâmetro id tal como ilustra a figura seguinte (@id/edt_num1).
Nota importante: mantenham o ‘@id/’ no nome do widget.
Nomes a atribuir aos widgets (a azul)
- EditText - @id/edt_num1
- EditText - @id/edt_num2
- Button - @id/btn_somar
Depois de definidos correctamente os elementos anteriores, temos o nosso layout pronto. Como referi no artigo anterior sobre programação para Android, os layouts são produzidos com base em XML. Se pretenderem ver o XML do vosso layout, basta carregar em main.xml (neste exemplo) como mostra a figura seguinte.
Para quem estive com problemas no layout, pode simplesmente copiar o código seguinte para dentro do main.xml e terá o layout todo definido.
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="<a href="http://schemas.android.com/apk/res/android"">http://schemas.android.com/apk/res/android"</a> android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Introduza primeiro numero:" android:id="@+id/num1"></TextView> <EditText android:layout_height="wrap_content" android:layout_width="fill_parent" android:id="@+id/edt_num1"></EditText> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Introduza o segundo numero:"></TextView> <EditText android:layout_height="wrap_content" android:id="@+id/edt_num2" android:layout_width="fill_parent"></EditText> <Button android:id="@+id/btn_somar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Somar"></Button> </LinearLayout> |
Carregando no botão Run, podemos ver de imediato no emulador o layout produzido por nós.
No próximo tutorial vamos então passar a parte da programação. Decidimos dividir este artigo em dois, de forma a que todas as duvidas relativamente a criação de layouts fossem esclarecidas. No caso de alguma dúvida ou questão não hesitem em deixar nos comentários que eu terei todo o gosto em vos ajudar.
Artigos relacionados
Este artigo tem mais de um ano
Este artigo já é a parte II?!
Já agora, excelente artigo! E estou ansioso pela próxima parte do tutorial!
Parabens Sr. Pedro!
Obrigado Ivan. Já agora tira o “Sr” 🙂
..e põe “professor” 😀
Bom artigo!
stor 🙂
Stor Pedro! Não me vou esquecer! 😀
Parabens pelo Artigo 🙂
Parabéns pela iniciativa. Deixo no entanto as seguintes sugestões.
Por questões de independência de componentes, e ainda permitir a internacionalização as strings deveriam estar em values > strings.xml.
Uma vez que o objectivo é uma calculadora, o texEdit deveria ser do tipo “number”, acrescentando ao editText: android:inputType=”number”
@Johny
Bom contributo.
Bom trabalho Pedro Pinto, continua!
Ainda bem que esta rubrica não ficou esquecida!
Acho que podiam ser abordadas as técnicas de colocação de widgets por forma a adaptarem-se a diferentes resoluções de tlms e diferentes formas de visualização (horizontal/vertical)!
Alguém conhece alguma forma de desenvolver aplicações para dispositivos móveis que seja independente do S.O. target?
Isto é, funcione tanto e IOS como em Android?
Bom dia Simões, podes fazer isso recorrendo a aplicações webbased, que correm usando o elemento browser, deixo aqui a referência a um site que depois de sumeteres a webapp te devolve a aplicação para os vários SOs:
http://www.phonegap.com
submeteres*
Obrigado pelo contributo.
Não conhecia essa ferramenta.
De qualquer das formas, teria de partir para algo webbased…
Alguém tem experiencia de como se comporta o html5 em dispositivos móveis?
Já existe no mercado um bom IDE para trabalhar em html5?
HTML5
Adobe Flex? RhoMobile? Appcelerator? MoSync? PhoneGap?
Com o Qt podes desenvolver em C++, para Nokia mobiles, tablets com SO Meego, telemoveis Android e ainda plataformas desktop windows, linux e Apple (Qt – Code once deploy everywhere). Uma excelente opção para quem prefere o C++ ao Java do Android.
http://qt.nokia.com/
http://sourceforge.net/p/necessitas/home/
Continuem, por favor!
Preciso mesmo destes artigos!
Excelente trabalho!
Acho que este artigo não ensina a programar, ensina é a usar o IDE.
Seria, talvez, mais conveniente explicar as diferenças entre os tipos de layout, por exemplo. Na prática, com layouts dentro de layouts eu não gosto nada de usar o IDE.
Quando a aplicação crashar porque não foi definido um width não há IDE que valha :p
Caro Tiago,
Este artigo faz parte de uma rubrica e tem como objectivo começar do “zero” até se conseguir desenvolver algumas aplicações. Se tens experiência nesta área, devias saber que antes de partires para a programação é necessário conhecer o IDE e neste caso já estamos na definição de layouts.
Queres tentar escrever um artigo deste tipo para ver quanto custa? tal vez aí, o teu discurso fosse outro 😉
Eliminado pelo Administrador !
já há algum tempo que ando bastante interessado em aplicações para o android, inclusive estou a pensar desenvolver uma para o projecto PAP, gostei da iniciativa, uma pequena critica, apesar de ser mais facil assim, acho que usar o “visual programming” não é a melhor forma de começar, mas também compreendo que é o mais acessivel
Bom artigo…
Já agora, e por questões de funcionalidade, poderiam também criar um scroll view pois os número podem ser grandes (i mean extremamente grandes) e começarem a encher o ecrã até ao ponto de não conseguirmos carregar no botão…E, ao contrário do que possam pensar, isso é bastante simples!
Basta que metam o seguinte antes de <LinearLayout … no xml:
e, claro, têm de fechar a tag:
no fim do xml!
Continuem com estes artigos pois são bastante interessantes!
Cumprimentos
Teste… :\
Excelente artigo. Mal tenha um tempo livre vou dedicar-me a programação para Android e nada melhor que os artigos do pplware para começar! 🙂
Boas Tardes.
Mais um Excelente artigo.
Maravilha era por o android a calcular integrais que 2ª Feira tenho exame de Matemática loool 😛
Não seja por isso! Se estás familiarizado com o cálculo simbólico da TI Voyage 200 (ou TI-89), então está aqui um óptimo emulador: TI Emulator
Para poderes usar as ROMs é suposto teres uma calculadora destas… Por isso, no programa, para poderes fazer o download da ROM tens de o afirmar.
Tenho ti-Nspire cas aquilo é uma bimbi para matemática.lol
Thanks vou dar uma vista de olhos no emulator
excelente trabalho
Obrigado and :). Ao contrário do nosso amigo “Tiago” há leitores que sabem dar valor ao trabalho que as coisas dão a realizar. Além disso partilhamos com todo o gosto matérias que demoram o seu tempo a aprender.
É pena que ainda haja leitores (Tiago) que critiquem o trabalho dos outros. Gostava de os ver um dia a ensinar qualquer coisa.
Mais uma vez obrigado @and.
Pedro Pinto
Já me estão a denegrir o nome :p
Estou ansioso pelo próximo tutorial, comprei recentemente um Sapo a5 e queria desenvolver umas aplicações para ver se “engato” com a coisa. Nunca programei em java e sem estes tutoriais acho que não conseguia arranjar coragem para começar!
Espero que não desanimem com estes comentários de pessoas que pura e simplesmente não sabem sequer do que falam.
Cumprimentos a toda a equipa do Pplware 🙂
Boas, tenho um problema ao correr o emulador já que este fica bloqueado no logótipo do android e não aparece mais nada, alguém sabe como resolver isto?
Espera um bocadinho que o bicho arranca, pelo menos comigo demorou uns 2 minutos para arrancar da primeira vez!
Muito bom,quando tiver mais um pouco de tempo vou ver isto…
Pedro Pinto, agora a seguir pode ser como adicionar os onClickListeners dos botões, os diferentes tipos de menu, toasts, e passar de uma activity para outra 😀
parabéns pela iniciativa ;D
Tenho um problema ao utilizar floats com inteiros.
Seria interessante ser possível na calculadora colocar virgulas para vermos como converter e trabalhar com inteiros e virgulas em simultâneo.
Algo do género 5/2 = 3,5
Muito obrigado pelo artigo.
Proximo, um jogo para android!
Sempre as ordens. Já sabem, se quiserem colaborar podem-me enviar um e-mail. Acho que está na altura de criarmos uma boa comunidade Android.
Pedro Pinto
bom tutorial
mas como faço para por a somar os 2 valores?
Excelente tutorial!
Porque é que a pplware não faz a sua própria aplicação para android? Não fazem ideia como isso dava jeito!
Boas, Gostei do artigo…
queria saber como poso colaborar ?
Boas Dwolf, envia-me um e-mail para ppinto @ pplware .com para trocarmos contactos.
Abraço
Já fiz o TPC pessoal do pplware, uma calculadora com as quatro operações básicas. (:
Boas a todos
Excelente trabalho. Onde está a parte 3 do tutorial?
Continuem assim
Cumprimentos
Boas!
Entao e o resto do tutorial é para quando?
Cumprimentos.
Excelente tutorial para quem esta a começar como eu 🙂
mas tenho um problema, ao fazer o RUN, aparece o emulador com a palavra ” ANDROID ” e não o dito layout aqui descrito, alguém me pode ajudar ?
Posso usar o strings.xml para gerir as strings das varias linguas que a minha app pode ter? Isto é, ter uma versão da string para PT outra para ENG, … e conforme a definição actual da aplicação ele ir buscar a string PT ou a ENG?
Thanks
Olá, parabéns pelo tutorial, muito bom!
Mas tenho uma dúvida, quando faço Run, aparece a janela do emulador, só que aparece tudo em preto. Não sei que pode ser, poderá ser de ter o programa mais recente e este tutorial ser de um mais antigo? de qq maneira agradeço resposta e obrigado
Ola
Parabéns pelo tuto
Agora eu queria saber como eu poderia fazer uma calculadora que some o hora ?