Android na Prática – Parte 1
Este artigo apresenta como criar aplicativos para o Android OS da Google, concentrando-se principalmente em demonstrar o compartilhamento de funcionalidades entre aplicações e o modo como os dados são armazenados.
Em que situação o tema é útil:
O Android é um sistema operacional móvel que vem ganhando adeptos no mundo inteiro. O tema é útil para o profissional que deseja aprender uma tecnologia nova que tem grandes perspectivas de mercado.
Resumo DevMan:
Neste segundo artigo sobre o Android abordaremos como as funcionalidades podem ser compartilhadas entre aplicativos usando as classes Intent e IntentFilter. Além disso, veremos como persistir e manipular dados com o SQLite.
O Android é um sistema operacional móvel baseado no kernel do Linux que vem chamando a atenção da comunidade de TI por se tratar de uma plataforma que preza pela liberdade no desenvolvimento de aplicações. Com ela, os desenvolvedores têm fácil acesso aos recursos de hardware que o dispositivo oferece, conseguem usufruir dos mesmos frameworks utilizados nas aplicações principais do Android, além de escreverem softwares utilizando a popular linguagem de programação Java.
Com base neste contexto, na primeira parte desta série foram apresentados conceitos básicos para o desenvolvimento de aplicações Android, enfatizando principalmente a criação de Interfaces Gráficas e a comunicação de dados entre activities.
Neste artigo analisaremos o que fazer para usufruir de funcionalidades de aplicativos externos no nosso próprio sistema, através das classes Intent e IntentFilter. Esse recurso é viável graças à inovadora arquitetura do Android, que permite que os sistemas instalados no dispositivo se comuniquem com muita facilidade entre si.
Também será abordado o SQLite, uma tecnologia usada para persistir dados que funciona como um mini SGBD (ler Nota DevMan 1). Trata-se de uma ferramenta open source bastante utilizada no desenvolvimento de software, por se tratar de uma tecnologia leve e segura. O SQLite se adequou perfeitamente à estrutura do Android, atendendo muito bem às necessidades de armazenamento de dados que surgem no decorrer da criação de aplicações.
O SQLite se trata de uma poderosa biblioteca de banco de dados baseado em SQL (Structured Query Language) que atua como um “mini-SGBD”, capaz de controlar diversos bancos de dados que podem conter diversas tabelas. O desenvolvedor pode criar o banco de dados e as tabelas, assim como manipular seus dados através dos comandos DDL (Data Definition Language) e DML (Data Manipulation Language) do SQL padrão. Isso traz um ganho considerável de produtividade, pois o desenvolvedor agora pode apenas focar nas regras de negócio, tendo em vista que os serviços para persistência de dados são fornecidos pelo SQLite. Entretanto, o SQLite é muitas vezes utilizado para armazenar dados simples, como conteúdo de campos, configurações do aplicativo e pequenas quantidades de dados, o que não é a situação ideal.
Como se comunicar com outros aplicativos
Os prazos apertados para a construção de softwares é sem sombra de dúvida um problema partilhado pela maioria das empresas de tecnologia no Brasil e no mundo. Obviamente qualquer tecnologia que incentive o reuso e a colaboração será muito bem aceita pelo universo das fábricas de software devido ao tempo que pode ser economizado na etapa de desenvolvimento e análise do sistema.
Foi pensando nesse cenário que a arquitetura do Android foi desenhada, permitindo que as aplicações se comuniquem entre si, mesmo pertencendo a criadores diferentes. Para isso, basta que o autor da aplicação disponibilize “filtros” que permitam o acesso a recursos do seu próprio sistema por aplicações de terceiros.
Mas antes de nos aprofundarmos nessa questão, vamos analisar a forma com a qual os aplicativos instalados se comportam no Android. Superficialmente temos a impressão de que os aplicativos instalados não possuem qualquer ligação entre si, porém não é isso o que realmente ocorre. Quando um aplicativo é instalado em um dispositivo Android, ele se integra automaticamente aos outros sistemas que ali estavam, como se todos se transformassem em um só.
As vantagens geradas por esse modelo são inúmeras. Para compreender este conceito, imagine uma situação em que você precise de um leitor de código de barras integrado a sua aplicação. Felizmente já existe um sistema que tem este tipo de funcionalidade, porém seria um incomodo para o usuário sair da aplicação, abrir a outra que possui este recurso, ler o código de barras, anotar em um papel e em seguida entrar com os dados no seu aplicativo novamente.
No Android é possível fazer a integração entre os dois sistemas de forma simples e transparente para o usuário. Para isso, basta que a aplicação do terceiro disponibilize um filtro (IntentFilter) para que os outros sistemas possam fazer uso dele.
Conforme visto no primeiro artigo, as IntentFilters são registradas geralmente no arquivo de configuração da aplicação, o AndroidManifest.xml, e servem para interceptar ações que são disparadas pelas Intents.
Quando disparamos uma intent, é como se enviássemos uma mensagem para o sistema operacional solicitando que alguma ação aconteça. Essa solicitação percorrerá todos os aplicativos instalados procurando por uma IntentFilter específica, e caso ela seja encontrada, a ação desejada será executada.
Essa ação geralmente implica na exibição de alguma Activity ou o início de algum serviço. No decorrer do artigo esse tópico será mais bem explicado. Portanto, o exemplo exposto acima se comportaria da seguinte maneira: quando existir a necessidade de ler um código de barras, uma Intent da sua aplicação será disparada solicitando um leitor de código de barras. A mensagem disparada pela Intent da sua aplicação percorrerá as outras aplicações instaladas até encontrar a IntentFilter do aplicativo de código de barras, que então será executado. Após a captura do código de barras, uma String que representa o código lido será enviada de volta para a aplicação de origem, que poderá processar essa informação como bem desejar.
Filtrando Solicitações – IntentFilter
Antes de analisarmos um exemplo prático, vamos detalhar um pouco mais o que é a estrutura IntentFilter. Já sabemos que a classe IntentFilter tem o objetivo de filtrar requisições provocadas pelas Intents e geralmente são registradas no ...
Confira outros conteúdos:
Programador Mobile
Desenvolvimento de aplicativos para...
Conceitos básicos para programar para...
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.