Este é um post disponível para assinantes MVPUtilização de sensores na plataforma Android - Revista Mobile Magazine 38
O artigo ensina como um desenvolvedor pode fazer uso das bibliotecas do Android para trabalhar com sensores. Ao longo do texto, o leitor é apresentado a alguns dos principais conceitos, além de ir produzindo passo a passo um aplicativo que lê e
[Artigo já está disponível no Leitor Digital DevMedia®. Clique aqui para acessá-lo]
> Clique aqui para ler todos os artigos da Mobile magazine 38
Uma tendência muito
forte que vem trazendo novas possibilidades ao mundo da tecnologia é a
computação sensível ao contexto e sensível a localização. Além disso, outro
fenômeno chamado convergência digital também está varrendo as mentes de todos
profissionais de TI. Ambas estão intimamente ligadas graças a uma palavra:
sensores.
O uso de sensores
tem possibilitado aplicativos simplesmente sensacionais, tecnologias que vem
proporcionando avanços incríveis no uso da computação. Um exemplo pode ser a
indústria automotiva. Sensores já permitem que carros estacionem sozinhos, que
limpadores de parabrisa sejam acionados automaticamente quando um pingo d’água
atinge o vidro, informações essenciais do funcionamento do motor, dos pneus e
de uma diversidade de sistemas eletrônicos são enviados ao computador de bordo
do automóvel. E assim poderíamos ficar falando durante este artigo inteiro.
A telemedicina
também já nos apresenta alguns casos bem interessantes do uso de sensores, além
disso, o futuro aponta para tecnologias realmente intrigantes nos próximos
anos. Sensores já estão sendo usados para monitorar frequência cardíaca, ondas
cerebrais, atividades musculares e muito mais. Além disso, a maioria destes
dados vitais pode ser vista de qualquer telefone celular ou smartphone.
A idéia é que nos
próximos anos o uso de sensores sofrerá um aumento considerável, ao ponto de
estar presente na quase totalidade dos aparelhos eletrônicos que possuímos
hoje. A internet das coisas (ler Nota
DevMan 1) dará as caras, mudando totalmente o modo de vida de milhões de
pessoas, tornando a computação ubíqua mais viva do que nunca (ler Nota DevMan 2).
E as plataformas mobile, estão atentas a isso? A resposta é: sim, com certeza. Desde os tempos de ouro do Java ME já existiam sensores acoplados aos telefones celulares. Fato que originou a criação do pacote opcional Mobile Sensor API, infelizmente pouco difundida. Mas, os sucessores da plataforma mobile da Sun não deixaram este legado esquecido.
O BlackBerry
talvez seja a plataforma com menos possibilidade de interação com sensores da
tríade líder de mercado. As outras duas plataformas, Android e iOS, fornecem um
grande número de classes e métodos em suas API´s, tornando possível que
aplicativos acessem uma gama de sensores facilmente programável por
desenvolvedores.
Outras plataformas
com menos espaço no mercado mundial de sistema operacional mobile também não
ficam muito atrás. Bons exemplos são o Windows Phone 7 e Bada.
Porém, o foco
deste artigo é a plataforma Android em especial. Vamos estudar o uso da API
para trabalhar com alguns sensores disponíveis no Samsung Galaxy S e no
Motorola Defy, aparelhos que serão usados como testes do aplicativo que iremos
criar ao longo deste texto. Boa leitura.
O
Aplicativo
O aplicativo que
desenvolveremos neste artigo se trata de um gravador de notas pessoais. Sua
funcionalidade é extremamente simples. O usuário aproxima o aparelho da sua
boca, neste instante, ele é avisado de que pode começar a gravar a nota, sendo
então, iniciado o processo de gravação. Posteriormente, o usuário pode
recuperar e ouvir suas notas pessoais no mesmo aplicativo.
A única tela do
aplicativo mostra um microfone com um círculo vermelho ou não, com um
background preto ou vermelho. Essa diferença de layout será definida pelos
sensores e as informações captadas pelos mesmos. Observe as Figuras 1 e 2.
Na Figura 1 temos um fundo preto, isso acontece quando o sensor de luminosidade detecta forte incidência de claridade. Já a Figura 2 apresenta um fundo totalmente branco, configurado quando o mesmo sensor detecta pouca incidência de luz ambiente. A troca de cor acontece automaticamente através da codificação do aplicativo.
Além disso, a Figura 1 apresenta a imagem do
microfone com um símbolo de não acessível na frente. Isso acontece porque o
sensor de proximidade detecta uma distância não satisfatória para a futura
captura do áudio. Já a Figura 2 utiliza
somente a imagem, informando ao usuário que pode começar a gravação.
Como o leitor já
deve imaginar, o XML que representa a interface é muito simples. Veja a Listagem 1. Nesta listagem, temos inicialmente
a imagem do microfone referenciada como microfoneoff,
identificando que o usuário não está na distância correta. O leitor pode
utilizar qualquer imagem que julgar adequada. Além disso, precisamos criar um id para o LinearLayout, isso porque vamos recuperar este objeto na classe,
alternando a cor do background conforme
os dados do sensor de proximidade.
Listagem 1. Definindo a interface com usuário
<?xml version="1.0" encoding="utf-8""
ATENÇÃO! A exibição deste artigo foi interrompida.
Este é um post disponível para assinantes MVP



0
0
