Pesquise algo no blog

terça-feira, 27 de janeiro de 2015

Curso Android Aula 05 Enviar SMS

Introdução

Olá para todos participantes do curso, hoje iremos aprender como criar um aplicativo Android capaz de enviar mensagens via SMS. O programação será bem simples, com foco no resultado em si, que é tratar todos os pré-requisitos para criar, configurar, e enviar SMS a partir do seu celular.

Você poderá aplicar o que vai aprender nesta aula em seus projetos. Todo celular já tem esta funcionalidade disponível, mas é comum hoje em dia encontrar nos aplicativos o recurso de envio de SMS. Isso é uma facilidade que o aplicativo oferece para tornar a usabilidade e a experiência do usuário mais interessante.

Código Fonte

Os códigos fontes deste aplicativo você poderá efetuar o download acessando a página de download
Se você perdeu as aulas anteriores, acesse a relação de todos as aulas e visite o canal no YouTube com a PlayList das Vídeo Aulas.

Pré-Requisitos para esta aula

Você deve ter os conhecimentos prévios listados abaixo para criar um aplicativo para envio de SMS utilizando os orientações desta aula.

  1. Capacidade de Criar um projeto no Android Studio;
  2. Capacidade de trabalhar com Intent;
  3. Capacidade de alterar o arquivo AndroidManifest.xml;
  4. Capacidade de criar um layout de formulário simples contendo os componentes de layout TextView, EditText e Button;
  5. Capacidade de implementar uma ação para o botão do formulário;
  6. Capacidade de executar o projeto em um dispositivo real ou virtual e
  7. Um nível básico de conhecimentos da linguagem Java.


Como fazer?

Existem duas formas de enviar SMS programaticamente na plataforma Android, a primeira delas é utilizas a API SmsManager e a segunda é utilizar o aplicativo nativo que pode estar pré-instalado no dispositivo.


Envio de SMS utilizando a API SmsManager


Esta API é responsável em gerencias as operações que envolvem SMS, tais como o envio de mensagens de texto, mensagens multimídia e dados.

O código abaixo demonstrar como é simples a sua utilização:

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("numeroDestino", null, "texto do SMS", null, null);

O método getDefault() cria um objeto estático que nos permitirá acessar o método sendTextMessage() para o envio do SMS.

Devemos informar o número do telefone do destinatário e a mensagem texto a ser enviada, no caso, representados em vermelho no código acima.

Esta informações podem vir de um formulário, de uma lista a partir de uma consulta do banco de dados SqlLite ou via uma consulta a um WebService. 


Compatibilidade da API SmsManager

Com as constantes atulizações de versões do Android, a preoculpação com segurança é cada vez maior. Está API vem sendo atualizada regularmente, e pode não funcionar em algumas versões do Android. Para saber maiores detalhes sobre compatibilidade acesse a documentação oficial.

Envio de SMS utilizando um aplicativo nativo.

A melhor forma de enviar SMS é entregar esta responsabilidade para o aplicativo nativo do dispositivo. A partir da versão 4.4 KitKat do Android ficou mais trabalhoso criar um aplicativo para envio de SMS. Leia este artigo contendo mais informações a respeito. 

O código abaixo exemplifica o que devemos programar na ação de um botão ENVIAR SMS por exemplo, e invocar o aplicativo nativo utilizando o método ACTION_VIEW.

Intent enviarSMS = new Intent(Intent.ACTION_VIEW)
enviarSMS.putExtra("texto da mensagem", "default content");
enviarSMS.setType("vnd.android-dir/mms-sms");
startAcvitity(enviarSMS);


Permissões do Usuário Requeridas

Este tipo de aplicativo requer a inclusão no arquivo AndroidManifest.xml a inclusão da permissão abaixo.

<uses-permission android:name="android.permission.SEND_SMS" />

Desafio aos participantes do curso

Crie dois aplicativos Android capazes de enviar SMS utilizando as opções apresentadas nesta aula. Comente o seu sucesso ou qualquer dificuldade que você encontrou. Em breve irei disponibilizar as soluções para este desafio.


Conclusão

Conforme podemos observar, criar um aplicativo para enviar SMS é uma tarefa relativamente simples, podendo ser feita de duas maneiras. É importante adicionar as permissões necessárias, caso contrário o seu projeto será instalado, porém não enviar o SMS, gerando um erro para o usuário. Vimos também que manter-se atualizado lendo sempre a documentação oficial faz parte do nosso dia-a-dia e é neessário principalmente para garantir compatibilidade do nosso aplicativo com as versões do Android.

terça-feira, 27 de janeiro de 2015

Curso Android Aula 05 Enviar SMS

Introdução

Olá para todos participantes do curso, hoje iremos aprender como criar um aplicativo Android capaz de enviar mensagens via SMS. O programação será bem simples, com foco no resultado em si, que é tratar todos os pré-requisitos para criar, configurar, e enviar SMS a partir do seu celular.

Você poderá aplicar o que vai aprender nesta aula em seus projetos. Todo celular já tem esta funcionalidade disponível, mas é comum hoje em dia encontrar nos aplicativos o recurso de envio de SMS. Isso é uma facilidade que o aplicativo oferece para tornar a usabilidade e a experiência do usuário mais interessante.

Código Fonte

Os códigos fontes deste aplicativo você poderá efetuar o download acessando a página de download
Se você perdeu as aulas anteriores, acesse a relação de todos as aulas e visite o canal no YouTube com a PlayList das Vídeo Aulas.

Pré-Requisitos para esta aula

Você deve ter os conhecimentos prévios listados abaixo para criar um aplicativo para envio de SMS utilizando os orientações desta aula.

  1. Capacidade de Criar um projeto no Android Studio;
  2. Capacidade de trabalhar com Intent;
  3. Capacidade de alterar o arquivo AndroidManifest.xml;
  4. Capacidade de criar um layout de formulário simples contendo os componentes de layout TextView, EditText e Button;
  5. Capacidade de implementar uma ação para o botão do formulário;
  6. Capacidade de executar o projeto em um dispositivo real ou virtual e
  7. Um nível básico de conhecimentos da linguagem Java.


Como fazer?

Existem duas formas de enviar SMS programaticamente na plataforma Android, a primeira delas é utilizas a API SmsManager e a segunda é utilizar o aplicativo nativo que pode estar pré-instalado no dispositivo.


Envio de SMS utilizando a API SmsManager


Esta API é responsável em gerencias as operações que envolvem SMS, tais como o envio de mensagens de texto, mensagens multimídia e dados.

O código abaixo demonstrar como é simples a sua utilização:

SmsManager smsManager = SmsManager.getDefault();
smsManager.sendTextMessage("numeroDestino", null, "texto do SMS", null, null);

O método getDefault() cria um objeto estático que nos permitirá acessar o método sendTextMessage() para o envio do SMS.

Devemos informar o número do telefone do destinatário e a mensagem texto a ser enviada, no caso, representados em vermelho no código acima.

Esta informações podem vir de um formulário, de uma lista a partir de uma consulta do banco de dados SqlLite ou via uma consulta a um WebService. 


Compatibilidade da API SmsManager

Com as constantes atulizações de versões do Android, a preoculpação com segurança é cada vez maior. Está API vem sendo atualizada regularmente, e pode não funcionar em algumas versões do Android. Para saber maiores detalhes sobre compatibilidade acesse a documentação oficial.

Envio de SMS utilizando um aplicativo nativo.

A melhor forma de enviar SMS é entregar esta responsabilidade para o aplicativo nativo do dispositivo. A partir da versão 4.4 KitKat do Android ficou mais trabalhoso criar um aplicativo para envio de SMS. Leia este artigo contendo mais informações a respeito. 

O código abaixo exemplifica o que devemos programar na ação de um botão ENVIAR SMS por exemplo, e invocar o aplicativo nativo utilizando o método ACTION_VIEW.

Intent enviarSMS = new Intent(Intent.ACTION_VIEW)
enviarSMS.putExtra("texto da mensagem", "default content");
enviarSMS.setType("vnd.android-dir/mms-sms");
startAcvitity(enviarSMS);


Permissões do Usuário Requeridas

Este tipo de aplicativo requer a inclusão no arquivo AndroidManifest.xml a inclusão da permissão abaixo.

<uses-permission android:name="android.permission.SEND_SMS" />

Desafio aos participantes do curso

Crie dois aplicativos Android capazes de enviar SMS utilizando as opções apresentadas nesta aula. Comente o seu sucesso ou qualquer dificuldade que você encontrou. Em breve irei disponibilizar as soluções para este desafio.


Conclusão

Conforme podemos observar, criar um aplicativo para enviar SMS é uma tarefa relativamente simples, podendo ser feita de duas maneiras. É importante adicionar as permissões necessárias, caso contrário o seu projeto será instalado, porém não enviar o SMS, gerando um erro para o usuário. Vimos também que manter-se atualizado lendo sempre a documentação oficial faz parte do nosso dia-a-dia e é neessário principalmente para garantir compatibilidade do nosso aplicativo com as versões do Android.