Aprenda a programar para Android – Parte II

49 Comentários

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.

android_000

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.

android_01

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

android_02

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:”

android_03

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

android_04

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

android_05

    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.android_06

    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="http://schemas.android.com/apk/res/android"
     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.

    android_07 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

    Partilhar:
    Tags:

    Comentários

    49

    Deixe um comentário

    O seu endereço de email não será publicado. Campos obrigatórios marcados com *

    1. Avatar de Ivan Silva
      Ivan Silva

      Este artigo já é a parte II?!
      Já agora, excelente artigo! E estou ansioso pela próxima parte do tutorial!
      Parabens Sr. Pedro!

      1. Avatar de Pedro Pinto

        Obrigado Ivan. Já agora tira o “Sr” 🙂

        1. Avatar de bruno
          bruno

          ..e põe “professor” 😀

          Bom artigo!

            1. Avatar de Ivan Silva
              Ivan Silva

              Stor Pedro! Não me vou esquecer! 😀

    2. Avatar de Renato Almeida
      Renato Almeida

      Parabens pelo Artigo 🙂

    3. Avatar de johny

      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”

      1. Avatar de Pedro Pinto
    4. Avatar de Antonio Campos

      Bom trabalho Pedro Pinto, continua!

    5. Avatar de Simões
      Simões

      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)!

    6. Avatar de Simões
      Simões

      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?

      1. Avatar de Pedro Peixoto
        Pedro Peixoto

        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

        1. Avatar de Pedro Peixoto
          Pedro Peixoto

          submeteres*

        2. Avatar de Simões
          Simões

          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?

      2. Avatar de pfbc
        pfbc

        Adobe Flex? RhoMobile? Appcelerator? MoSync? PhoneGap?

      3. Avatar de Joao de Deus

        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/

    7. Avatar de S Pimenta

      Continuem, por favor!

      Preciso mesmo destes artigos!

      Excelente trabalho!

    8. Avatar de Tiago
      Tiago

      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

      1. Avatar de Pedro Pinto

        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 😉

        1. Avatar de Tiago
          Tiago

          Eliminado pelo Administrador !

    9. Avatar de Alexandre Santos
      Alexandre Santos

      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

    10. Avatar de Gonzaga
      Gonzaga

      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

    11. Avatar de Gonzaga
      Gonzaga

      Teste… :\

    12. Avatar de Carlos Morais
      Carlos Morais

      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! 🙂

    13. Avatar de David Luís
      David Luís

      Boas Tardes.
      Mais um Excelente artigo.
      Maravilha era por o android a calcular integrais que 2ª Feira tenho exame de Matemática loool 😛

      1. Avatar de Hugo Cura

        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.

        1. Avatar de David Luís
          David Luís

          Tenho ti-Nspire cas aquilo é uma bimbi para matemática.lol

          Thanks vou dar uma vista de olhos no emulator

    14. Avatar de and
      and

      excelente trabalho

      1. Avatar de Pedro Pinto

        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

        1. Avatar de Tiago Dinis
          Tiago Dinis

          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 🙂

    15. Avatar de dinarte
      dinarte

      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?

      1. Avatar de Tiago Dinis
        Tiago Dinis

        Espera um bocadinho que o bicho arranca, pelo menos comigo demorou uns 2 minutos para arrancar da primeira vez!

    16. Avatar de Deus
      Deus

      Muito bom,quando tiver mais um pouco de tempo vou ver isto…

    17. Avatar de zee
      zee

      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

    18. Avatar de ze
      ze

      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

    19. Avatar de Nobitazzz
      Nobitazzz

      Muito obrigado pelo artigo.

      Proximo, um jogo para android!

      1. Avatar de Pedro Pinto

        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

    20. Avatar de BR
      BR

      bom tutorial
      mas como faço para por a somar os 2 valores?

    21. Avatar de Tiago Queirós
      Tiago Queirós

      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!

    22. Avatar de Dwolf
      Dwolf

      Boas, Gostei do artigo…
      queria saber como poso colaborar ?

      1. Avatar de Pedro Pinto

        Boas Dwolf, envia-me um e-mail para ppinto @ pplware .com para trocarmos contactos.

        Abraço

    23. Avatar de João Reis
      João Reis

      Já fiz o TPC pessoal do pplware, uma calculadora com as quatro operações básicas. (:

    24. Avatar de Rui Nunes
      Rui Nunes

      Boas a todos
      Excelente trabalho. Onde está a parte 3 do tutorial?
      Continuem assim
      Cumprimentos

    25. Avatar de Daniel Sousa
      Daniel Sousa

      Boas!

      Entao e o resto do tutorial é para quando?

      Cumprimentos.

    26. Avatar de José
      José

      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 ?

    27. Avatar de dt
      dt

      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

    28. Avatar de João
      João

      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

    29. Avatar de Edson
      Edson

      Ola
      Parabéns pelo tuto
      Agora eu queria saber como eu poderia fazer uma calculadora que some o hora ?