Tutorial Android #25 – Fazendo Ligações (Chamadas)

Olá pessoal! Tudo bem?

Sei que é triste a dor da partida, mas esse é o último tutorial dessa primeira série de tutoriais sobre Android. Mas como disse no último post, isso não significa que o tema não será mais abordado aqui no blog. Estou considerando seriamente a possibilidade de, em breve, voltar a falar de Android e as novidades que temos ao utilizar a versão 4.

Mas por enquanto, vamos fechar essa primeira série com chave de ouro. Como toda a série foi voltada para Android, um sistema utilizado massivamente em aparelhos celulares, vamos ver hoje como realizar chamadas.

Nesta última sessão de modificações em nosso aplicativo, vamos adicionar um campo chamado telefone aos nossos restaurantes e, a partir dele, vamos possibilitar que o usuário faça uma chamada diretamente do nosso aplicativo. Bacana, não?

Bom, começando, temos inicialmente que atualizar o nosso modelo de dados para que armazene o novo dado necessário (o número de telefone). Primeiramente, modifique o método onCreate() da classe GerenciadorRestaurantes para abrigar o novo campo:

Em seguida, altere o método onUpgrade() para atualizar o modelo de dados do banco, caso o usuário esteja vindo de uma versão anterior:

Pronto. Agora, vamos procurar pelos métodos inserir(), atualizar(), obterTodos() e obterPorId() para adicionar o campo telefone a eles também.

Para concluir as alterações nesta classe, crie o método obterTelefone():

Pronto. Com relação a persistência, já estamos aptos a prosseguir. Vamos agora adicionar o campo telefone aos nossos formulários. Como devem estar lembrados, temos 2 layouts, um para o modo retrato, outro para o modo paisagem. Primeiro no modo retrato, adicione o seguinte trecho logo após o campo de endereço, no arquivo res/layout/form_detalhes.xml.

Agora no res/layout-land/form_detalhes.xml. Também, logo depois do trecho do campo de endereço.

Pronto. Nossas modificações agora serão na classe FormularioDetalhes. Primeiramente adicione o atributo telefone à classe:

Agora, precisamos atualizar os métodos onCreate(), salvar(), carregar(), onSaveInstanceState() e onRestoreInstanceState(). Pode parecer bastante coisa, mas são apenas ajustes leves para adicionar o novo campo.

Ufa! Perceberam como as alterações foram mínimas? 😀

Prosseguindo, precisamos dizer ao Android que nossa aplicação deseja realizar chamadas. Para isso, adicione a seguinte linha às permissões no arquivo AndroidManifest.xml.

Agora, vamos criar a opção ao menu para realizar as chamadas. Edite o arquivo res/menu/opcao_detalhes.xml para acomodar a nova opção (é… vai ficar meio espremido em telas pequenas…).

O arquivo de ícone utilizado foi o ic_menu_call.png encontrado na pasta de instalação do Android e devidamente renomeado para chamada.png.

Agora precisamos definir as novas strings utilizadas no formulário e no menu. Adicione-as ao arquivo res/values/strings.xml

… e no res/values-es/strings.xml.

Por fim, vamos fazer com que a opção de menu realize a chamada. Adicione o seguinte trecho aos encadeamentos de ifs no método onOptionsItemSelected().

Execute a aplicação para conferir as modificações.

Caso queira que a ligação seja realizada diretamente, sem exibir o discador, modifique, na linha 158 do trecho ali em cima, ACTION_DIAL por ACTION_CALL.

Bom pessoal, é isso! Como não podia deixar de ser, para baixar o projeto, basta clicar aqui.

Agradeço a todos que vem acompanhando o blog. Continuem sempre por aqui, pois sempre tem coisa nova! Comentem, critiquem, cliquem nos banners e enviem sugestões!

Até logo!!!

11 comentários sobre “Tutorial Android #25 – Fazendo Ligações (Chamadas)

  1. Wyllyam disse:

    Pô Rafael valeu cara.. muito fino seus tutôs hehe aprendi d+ tava precisando de umas explicações assim! esta me ajudando e vai ajudar mais ainda no meu tcc em android.. uma pergunta.. nao sei se está explicando em seu blog.. mais tiop tem como eu enviar os dados salvos no banco de dados do smartphone para um servidor? tipo para ser visualizado depois saca? Mais uma vez muiiiiiiiitooooooo obrigado cara! Abração!

    Curtir

  2. Wyllyam disse:

    so mais uma duvidazinha hehe, baixei seu projeto e ele nao roda na minha maquina o que pode ser? e outra,,, tem como igual estou inserindo no banco fazer a busca desses dados depois? e tambem ele salva no banco né tem algum programa que eu possa abrir esse arquivo para visualizacao? tipo ver no arquivo do banco todos os dados que eu inseri… vlw

    Curtir

  3. Jackson Santos disse:

    Excelente série de tutoriais, cara!

    Nesse último, você só não explicitou que a variável “VERSAO_SCHEMA” da classe “GerenciadorRestaurante” tem de ser alterada para 4.

    Ua

    Curtir

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.