Buscar

Banco de dados para dispositivos móveis

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 30 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Banco de dados para dispositivos móveis
APRESENTAÇÃO
As organizações têm muitos dados sobre usuários, sobre estratégias de negócio, sobre o sistema, 
entre muitos outros. Uma das formas de armazenar tais dados é por meio da utilização de banco 
de dados. Com o mercado cada vez mais competitivo e acelerado, exigindo das empresas respost
as rápidas e assertivas, além de estratégias bem planejadas e executadas, o banco de dados arma
zena e gerencia os bens mais valiosos de uma empresa.
Em meio a tanta competitividade, informação é poder, pois todo o funcionamento da empresa é 
pautado por essas informações. Com isso, independentemente da plataforma em que o sistema s
erá disponibilizado, é necessária a escolha de um banco de dados adequado para a aplicação.
Nesta Unidade de Aprendizagem, você verá conceitos básicos de banco de dados e algumas solu
ções de banco de dados disponíveis no mercado, as quais podem ser utilizadas de forma local, re
mota ou baseada em serviços. Além disso, você também verá um caso de utilização prática de b
anco de dados em aplicações mobile.
Bons estudos.
Ao final desta Unidade de Aprendizagem, você deve apresentar os seguintes aprendizados:
Diferenciar o uso de bancos de dados locais, remotos e baseados em serviços na nuvem.•
Reconhecer os prós e os contras das diferentes opções de bancos de dados.•
Ilustrar o uso de um banco de dados em um app Android.•
DESAFIO
Ao desenvolver aplicativos Andoroid ou qualquer outra aplicação, é necessário e sempre import
ante relacionar o front-end (tela do usuário) com o back-end (ações do sistema).
A escola Jardim Viver solicitou que a empresa TechZ, na qual você trabalha, desenvolvesse um 
sistema com um formulário que capturasse as seguintes informações dos pais dos alunos: nome; 
sobrenome; e-mail; idade; endereço.
 •
Tais informações listadas na tela serão persistidas em banco de dados, e, para isso, deve existir u
ma classe que receberá tais valores e funcionará como um objeto de transferência de dados (DT
O — Data Transfer Object), para que, então, sejam persistidos.
Observe o arquivo da tela:
Clique aqui
 
Crie uma classe Java que irá abstrair os atributos descritos no arquivo da tela apresentada e impl
emente o método onCreate() inicializando os campos da tela. Lembre-se de que os atributos da t
ela devem estar relacionados com os atributos da classe de persistência.
INFOGRÁFICO
Existem diferentes gerenciadores de banco de dados, como, por exemplo, PostgreSQL ou MySQ
L. O que esses gerenciadores e alguns outros têm em comum é que eles são do tipo relacionais. 
Um banco de dados relacional é baseado em esquemas e tabelas nos quais os dados são armazen
ados.
Nos últimos anos, outro tipo de banco de dados se tornou muito popular: os bancos de dados não 
relacionais, chamados de NoSQL. Esse tipo de banco de dados não tem tabelas nem esquemas fi
xos.
https://statics-marketplace.plataforma.grupoa.education/sagah/227ecfb9-dc1e-494a-a3fd-b0abeb3cee00/2e488b5f-aea6-4efd-8669-20047bc934be.pdf
Neste Infográfico, você irá conhecer um pouco mais sobre as diferenças entre bancos de dados r
elacionais e não relacionais, bem como qual destes escolher para uma aplicação.
CONTEÚDO DO LIVRO
Atualmente, são desenvolvidas aplicações para diversas finalidades e para diversas plataformas. 
Grande parte das aplicações atua sob dados e deve persistir tais dados em algum tipo de armazen
amento. Para essa finalidade, existem diversas soluções, como armazenamento em arquivo de te
xto, em estruturas no próprio código e em banco de dados.
As aplicações mobile e Web têm optado pela utilização de banco de dados, uma vez que atribue
m maior segurança para os dados dos usuários ou até mesmo da própria empresa. Quanto aos ba
ncos de dados, existem diversas soluções, as quais podem ser utilizadas de forma local, remota o
u, ainda, em banco de dados baseados em serviço.
No capítulo Banco de dados para dispositivos móveis, da obra Programação mobile, você irá ob
servar algumas opções para se utilizar, bem como um exemplo prático de utilização de banco de 
dados baseado em serviço em uma aplicação mobile.
Boa leitura.
PROGRAMAÇÃO 
MOBILE
Camila Andrade Santos
Banco de dados para 
dispositivos móveis
Objetivos de aprendizagem
Ao final deste texto, você deve apresentar os seguintes aprendizados:
  Diferenciar o uso de bancos de dados locais, remotos e baseados em 
serviços na nuvem.
  Reconhecer os prós e contras das diferentes opções de bancos de 
dados.
  Ilustrar o uso de um banco de dados em um app Android.
Introdução
Atualmente, em quase toda aplicação que se desenvolva, o armazena-
mento de dados se faz necessário. Dependendo da aplicação, um arquivo 
de texto local pode ser o suficiente, como em sistemas embarcados. 
Outras aplicações podem necessitar de banco de dados mais robustos, 
com serviços complementares como aplicações web e mobile.
Neste capítulo, você verá alguns conceitos básicos de banco de dados 
e as principais diferenças entre banco de dados locais, remotos e baseados 
em serviço na nuvem. Ao final, você poderá observar uma utilização 
prática de um banco de dados baseado em serviço na nuvem em uma 
aplicação mobile.
1 Banco de dados
Com a evolução dos sistemas de informação as pessoas começaram a cada 
vez mais armazenar seus dados em ambientes virtuais. Para isso as apli-
cações precisam persistir os dados dos usuários em algum lugar. No meio 
computacional, o lugar em que os dados são armazenados chama-se banco de 
dados. O banco de dados é uma coleção de dados persistentes, usados pelos 
sistemas de aplicação de uma determinada organização comercial (DATE, 
2004). Desta forma, temos que, qualquer empresa precisa necessariamente 
manter muitos dados sobre sua operação, como por exemplo, dados sobre 
produtos, contas, pacientes, sobre alunos, planejamento, entre outros, de 
acordo com o escopo da organização.
Algumas vantagens de se utilizar banco de dados para persistir dados 
estão listadas a seguir.
  Densidade: não há a necessidade de arquivos de papel, possivelmente 
volumosos de acordo com a aplicação.
  Velocidade: o computador pode obter e atualizar dados com maior 
rapidez que o ser humano.
  Atualidade: informações precisas e atualizadas estão disponíveis a 
qualquer momento sob consulta.
  Proteção: os dados podem estar mais protegidos contra perda não in-
tencional e acesso ilegal.
Existem disponíveis alguns modelos de bancos de dados. Atualmente os 
mais utilizados são os modelos relacionais e não relacionais (Figura 1). Bancos 
de dados baseados em modelo relacional são bancos em que basicamente os 
dados dos usuários são persistidos em uma estrutura de dados lógicos, sendo 
que tabelas de dados, exibições e índices são separados de estruturas de arma-
zenamento físico. Este modelo fornece acesso a pontos de dados relacionados 
entre si (DATE, 2004). Como exemplo de bancos de dados relacionais temos 
o PostgreSQL, MySQL, SQLServer, entre outros.
O banco de dados de modelo não relacional, por sua vez, é um banco em 
que não se utiliza esquema de tabelas; em vez disso, utiliza-se um modelo de 
armazenamento otimizado para os requisitos específicos do tipo de dados que 
está sendo armazenado (MICROSOFT, 2018). O modelo de banco de dados 
a ser utilizado dependerá da regra de negócio do sistema. Como exemplo de 
banco de dados não relacional, temos o MongoDB, Redis, Cassandra, Riak, 
entre outros.
Banco de dados para dispositivos móveis2
Figura 1. Banco de dados relacional e não relacional.
Como podemos observar na Figura 1, no modelo relacional temos uma 
estrutura que relaciona informações de uma tabela com a outra, e caso existis-
sem mais registros de livros ou de filmes, ambos seriam registrados em suas 
respectivas tabelas e relacionados na tabela principal. No modelo não relacio-
nal, todos os dados estão em somente uma estrutura, e caso existissem mais 
registros de livros ou de filmes, seriam inseridos na mesma linha. O modelode banco de dados que se utilizará dependerá da regra de negócio do sistema.
Tais bancos de dados, relacionados a espaço físico, podem ser locais, re-
motos ou ainda, baseados em serviços na nuvem. Banco de dados locais pode 
ser entendido por um banco que está no mesmo local físico que a aplicação. 
Normalmente, desenvolvedores desktop, web ou mobile utilizam um banco 
de dados local durante o desenvolvimento de uma aplicação. Neste caso o 
software de banco de dados é instalado na mesma máquina em que o sistema 
está sendo executado. 
Em bancos de dados remotos, o software de banco de dados é instalado 
em uma máquina remota, ou seja, em uma máquina distinta da máquina em 
que se encontra a aplicação. Desta forma é necessário que a aplicação faça 
requisições a outro servidor, e que o servidor possibilite acesso externo.
3Banco de dados para dispositivos móveis
Por fim, banco de dados baseados em serviço são bancos de dados pro-
prietários, normalmente já com a infraestrutura configurada, ou seja, o de-
senvolvedor não precisa se preocupar com esta tarefa; se consome apenas 
o serviço armazenando, alterando e recuperando seus dados. Esse tipo de 
banco de dados geralmente fornece outros serviços que podem ser facilmente 
integrados a uma aplicação mobile.
2 Prós e contras dos tipos de banco de dados
Há no mercado diversas propostas de tipo de banco de dados que necessitamos 
para construir nossas aplicações. Para banco de dados tanto remoto quanto 
local, é necessária a utilização de sistema de gerenciamento de banco de dados 
(SGBD). Há a opção de SGBDs proprietários, como o SQLServer criado pela 
empresa Microsoft, um banco de dados relacional que possui característi-
cas como: segurança, atuando com um sistema de criptografi a integrada; 
integridade, com recursos que impedem que sejam geradas inconsistências 
que inviabilizem a utilização precisa das informações; e concorrência, pois 
possibilita que mais de um usuário acesse a mesma tabela ao mesmo tempo. 
E o sistema de gerenciamento de banco de dados de código livre e gratuito, 
PostgresSQL. Ambos possuem base no structure query language (SQL) sendo 
o diferencial de ambos, e de qualquer outro sistema de gerenciamento de banco 
de dados, a estrutura e a forma de gerenciar os dados.
Amazon Web Service é uma plataforma de serviços na nuvem que fornece 
soluções para armazenamento, redes e computação, em várias camadas, que 
pode ser totalmente gerenciada por meio de uma interface web, ou por meio de 
APIS e linha de comando, dependendo do serviço utilizado. Como banco de 
dados, o serviço da Amazon fornece o serviço Relational Database Service, 
um serviço de banco de dados relacional que facilita o gerenciamento de 
bancos de dados, tendo como principal vantagem a escalabilidade e o auto-
gerenciamento. O Relational Database Service permite a criação de banco 
de dados utilizando os sistemas de gerenciamento de banco de dados Aurora, 
MySQL, MariaDB, PostgreSQL, Oracle e SQL Server.
DynamoDB é um banco de dados não relacional totalmente gerenciado 
que fornece desempenho rápido e previsível com escalabilidade contínua, 
permitindo que você não se preocupe com provisionamento, instalação e 
configuração de hardware, replicação e correção de software e escalabilidade. 
Ele faz com que as cargas administrativas de operação e escalabilidade de 
um banco de dados distribuído sejam transferidas para o serviço em nuvem.
Banco de dados para dispositivos móveis4
Outra solução robusta oferecida pela Amazon Web Service é o AppSync, 
uma implementação de servidor de GraphQL. GraphQL é uma maneira dife-
rente de conectar os aplicativos à parte de trás de seus aplicativos. Com outras 
tecnologias, como REST, por exemplo, há uma necessidade de conhecer os 
chamados end points (MASSÉ, 2011), porém utilizando-se a abordagem do 
GraphQL efetua-se somente uma implementação, não sendo necessário se 
preocupar com mais de uma estrutura como end point. Isso é muito útil quando 
se tem diversos clientes que trabalham com bancos de dados diferentes. Na 
Figura 2, a seguir, podemos observar esta diferença.
Figura 2. REST versus GraphQL.
Ao lado esquerdo temos a necessidade de conhecer cada end point e de-
senvolver um código específico para cada um. Caso vários clientes utilizem 
o sistema em bancos de dados distintos, haverá a necessidade de duplicar o 
código. Já à direita não, pois o GraphQL se encarrega desta tarefa.
Temos ainda o Firebase, uma plataforma de desenvolvimento mobile e web 
da empresa Google que fornece diversos serviços que auxiliam no desenvol-
vimento e no gerenciamento de aplicativos. Na web há um dashboard para 
auxiliar o desenvolvedor durante a implementação de suas aplicações. Na 
Figura 3 é possível observar a tela inicial do Firebase. Esta plataforma oferece 
serviços gratuitos e pagos, de acordo com a utilização. Podemos observar no 
menu à esquerda diversos serviços oferecidos, sendo um deles o banco de dados 
(database). Para criar uma conta, basta possuir uma conta no Google (Gmail).
5Banco de dados para dispositivos móveis
Figura 3. Área de trabalho do Firebase.
O banco de dados oferecido pelo Firebase é o Firestore, um banco de dados 
não relacional, flexível e escalonável, para armazenar e sincronizar dados de 
aplicativos de dispositivos móveis, web e servidores. Como principais recursos 
a Google elenca em seu site oficial, a flexibilidade no armazenamento dos 
dados conforme a necessidade do usuário, consultas expressivas, atualização 
em tempo real, e suporte off-line, ou seja, além de oferecer um banco de dados 
remoto, oferece também banco de dados local.
A Microsoft também oferece um banco de dados baseado em serviço, 
denominado de Azure Cosmos DB. Inicialmente a Microsoft oferece 12 
meses de uso gratuito para testes, e posteriormente assinatura paga. Pos-
sibilita ainda a integração com o repositório de códigos GitHub. Para criar 
uma conta, basta possuir uma conta Microsoft (Outlook). Conforme exposto 
em seu site oficial, este banco é para aplicativos que necessitem de tempos 
de resposta baixos, na ordem de milissegundos, e ser expandidos de forma 
rápida e global.
Banco de dados para dispositivos móveis6
Há também vários outros serviços disponíveis no mercado. Após obser-
var alguns deles, podemos observar que a escolha de onde o banco estará, 
sendo local, remoto ou baseado em serviço, estará relacionada com o que 
sua aplicação necessita. Bancos locais normalmente são utilizados para 
testar o aplicativo desenvolvido, ou ainda em sistemas em que é neces-
sário manter um armazenamento de dados off-line para posteriormente 
ser sincronizado com um banco de dados remoto ou baseado em serviço, 
quando o dispositivo tiver novamente acesso à internet. Aplicações mobile 
normalmente utilizam SQLite. Uma das maiores limitações ao se utilizar 
bancos de dados locais é o armazenamento, pois, utilizando um smart-
phone como exemplo, o armazenamento é reduzido e dificilmente pode 
ser expandido.
Bancos de dados remotos podem possuir maior capacidade de armazena-
mento, porém ainda pode exigir uma certa mão de obra, uma vez que será 
necessário recursos de pessoal para manter o servidor e o banco de dados 
funcionando e disponíveis para os clientes.
Ao se utilizar bancos de dados baseados em serviço, temos mais robustez, 
facilidade e segurança, uma vez que há todo um ambiente preparado para 
atender às necessidades de suas aplicações.
3 Android e banco de dados na prática
Nesta seção exemplifi caremos um aplicativo Android com comunicação com o 
banco de dados no Firebase. Neste capítulo não será abordada a confi guração 
do servidor e da aplicação, somente a construção e ações de inserção, seleção, 
atualização e deleção de dados. Para a construção deste exemplo, foi utilizado 
como base Boyer e Mew (2016). Construiremos um aplicativo como exposto 
na Figura 4.
7Banco de dados para dispositivos móveis
Figura 4. Aplicativo Android com Firebase.
Este aplicativo exemplifica as ações de inserção(símbolo de +), exclusão 
(símbolo de –), atualização (símbolo de recarregar) e seleção, quando o usuário 
selecionar um aluno da lista. A lista apresenta dados já salvos no banco de 
dados no Firebase.
Como estamos salvando alunos, criaremos inicialmente uma classe com 
o nome “Pessoa”, que conterá todos os atributos de uma pessoa. Na Figura 5 
temos o código da classe Pessoa.
Banco de dados para dispositivos móveis8
Figura 5. Classe Pessoa.
Nesta classe temos os atributos Nome, Sobrenome, Email e id de uma 
pessoa. Além disso, temos os getters e setters dos atributos, e ainda sobrescre-
vemos, na linha 54, o método toString, para retornar o nome concatenado 
ao sobrenome de uma pessoa para listarmos na tela inicial. Inseriremos as 
ações desta tela na classe MainActivity, que já é criada por padrão quando 
criamos um projeto. Esta classe estende AppCompatActivity. É necessário 
estender esta classe para capturar as ações do Android, caso contrário seria 
uma classe Java comum. Observe a Figura 6.
9Banco de dados para dispositivos móveis
Figura 6. Classe MainActivity e declaração de variáveis.
Podemos observar na linha 23 extensão da classe AppCompatActivity. 
Nas linhas 25 e 26, declaramos nossas variáveis que receberão os componentes 
criados na tela, além do objeto pessoaSelecionada, que receberá a pessoa 
selecionada na lista. Ao estender a classe AppCompatActivity alguns 
métodos devem ser sobrescritos por padrão, como por exemplo, o onCreate, 
exposto na Figura 7. Tais métodos são anotados por @Override.
Figura 7. Método onCreate da classe MainActivity.
Banco de dados para dispositivos móveis10
O método onCreate carrega consigo as ações que devem ser tomadas 
quando a tela referente a esta classe é renderizada. Em nosso exemplo, 
inicializamos as nossas variáveis nas linhas 38 a 43, lembrando que o 
cast do tipo dos dados deve ser o mesmo inserido no arquivo xml da 
tela, por exemplo, um componente de entrada de texto, e provavelmente 
será um tipo EditText. Chamamos os métodos eventoDataBase 
(Figura 8) e inicializarFirebase (Figura 9), e a ação de carregar 
no formulário os dados do usuário selecionado na lista por meio da ação 
setOnIOtemClickListener.
Figura 8. Método eventoDatabase da classe MainActivity.
O método eventoDatabase efetua a verificação de alguma ação 
feita no banco. Sempre que ocorrer uma ação de inserção, atualização ou 
deleção, este método atualizará a lista de alunos em nosso aplicativo. Ao 
utilizarmos o método addValueEventListenet (linha 60), é criado 
automaticamente os métodos onDataChange para alteração de dado no 
banco e onCancelled, que indica erros ao efetuar alguma operação. O pa-
râmetro dataSnapshot armazena os alunos armazenados no banco, e com 
isso adicionamos à nossa lista “Pessoa” (linha 66). Após, atualizamos nossa 
listagem na tela.
11Banco de dados para dispositivos móveis
Figura 9. Método inicializarFirebase da classe MainActivity.
O método inicializarFirebase é responsável por inicializar nossa cone-
xão com o banco. Então passamos nossa classe atual para o Firebase, capturamos a 
instância do banco e pegamos os dados em databaseReference (Figura 10).
Figura 10. Métodos onOptionsItemSelected e limparCampos da classe 
MainActivity.
Banco de dados para dispositivos móveis12
Os últimos métodos estão relacionados às ações do usuário no menu. Nosso 
menu possui três botões: o de inserir novo aluno, atualizar um aluno, e excluir 
um aluno. Na primeira instrução if, implementamos a ação de criar um aluno. 
Criamos um objeto Pessoa, alteramos seus atributos conforme preenchido no 
formulário, e a ação de salvar no banco está na linha 103. Utilizamos nosso 
databaseReference inicializado no método da Figura 9. Em Child pas-
samos o nome da nossa base de dados no Firebase, nomeada de Pessoa. Em 
child(p.getUid()) indicamos que as pessoas inseridas serão ordenadas 
por id, e então alteramos todos os valores passando o objeto p.
O segundo if efetua a ação atualizar. Observe que agora utilizamos o id 
da pessoa selecionada, e não de uma nova pessoa. Para os outros atributos, 
pegamos o que foi inserido no formulário. E o processo para atualizar os dados 
de uma pessoa é similar à ação de inserir, só que agora o banco entenderá que 
aquele id já existe e fará uma alteração.
O último if efetua a ação de excluir. De forma análoga, pegamos o id 
da pessoa selecionada e. em vez de utilizar o setVealue, utilizamos o 
removeValue. Desta forma temos todas as ações básicas de um CRUD.
Na Figura 11 podemos observar um exemplo de criação de um componente 
na tela. Na Figura 9 em editNome = (EditText)findViewById(R.
id.editNome); o R.id.editNome refere-se ao parâmetro informado 
no android:id, desta forma relacionamos um componente na tela a uma 
variável na classe Java.
A Figura 12 apresenta como os dados são armazenados no Firebase. Note 
que são os mesmos dados listados na tela do aplicativo na Figura 4.
Figura 11. Exemplo de um componente na tela.
13Banco de dados para dispositivos móveis
Figura 12. Resultado no Firebase.
BOYER, R.; MEW, K. M. Android application development cookbook. 2nd ed. Birmingham: 
Packt Publishing, 2016.
DATE, C. J. Introdução a sistemas de bancos de dados. Rio de Janeiro: Elsevier Brasil, 2004. 
MASSÉ, M. REST API design rulebook: designing consistent RESTful web service Interfaces. 
Sebastopol: O'Reilly Media, 2011.
MICROSOFT. Dados não relacionais e NoSQL. 2018. Disponível em: https://docs.micro-
soft.com/pt-br/azure/architecture/data-guide/big-data/non-relational-data. Acesso 
em: 5 maio 2020.
Leitura recomendada
MICROSOFT. Casos de uso comuns do Azure Cosmos DB. 2019. Disponível em: https://docs.
microsoft.com/pt-br/azure/cosmos-db/use-cases. Acesso em: 5 maio 2020.
Banco de dados para dispositivos móveis14
Os links para sites da web fornecidos neste livro foram todos testados, e seu funciona-
mento foi comprovado no momento da publicação do material. No entanto, a rede 
é extremamente dinâmica; suas páginas estão constantemente mudando de local 
e conteúdo. Assim, os editores declaram não ter qualquer responsabilidade sobre 
qualidade, precisão ou integralidade das informações referidas em tais links.
15Banco de dados para dispositivos móveis
DICA DO PROFESSOR
Utilizar serviços em nuvem para integração com aplicativos mobile e Web pode ser a melhor alt
ernativa, uma vez que os serviços em nuvem são robustos e conseguem disponibilizar todo o sup
orte necessário para uma aplicação executar em diversos dispositivos de forma segura sem que s
eja necessário se preocupar com infraestrutura e com futuras expansões.
Com isso, tem-se uma vantagem crucial em relação aos custos dos serviços, uma vez que somen
te será pago o recurso utilizado, além da escalabilidade e da garantia de que a aplicação estará di
sponível durante o acesso em horários de pico.
Nesta Dica do Professor, você verá como integrar o firebase com uma aplicação Android.
Aponte a câmera para o código e acesse o link do vídeo ou clique no código para acessar.
EXERCÍCIOS
1) Ao utilizar banco de dados em uma aplicação, é necessário efetuar a configuração da 
comunicação da aplicação no servidor, independentemente de ser local, remoto ou ba
seado em serviço. Além disso, é necessário estender classes ou importar bibliotecas qu
e serão responsáveis por gerenciar o banco de dados.
Ao optar pela utilização de um banco de dados local em aplicações Android, se está te
ntando cumprir principalmente qual necessidade?
A) 
Prover espaço de armazenamento maior.
B) 
Prover armazenamento off-line de dados do usuário.
C) 
Prover maior segurança dos dados.
https://fast.player.liquidplatform.com/pApiv2/embed/cee29914fad5b594d8f5918df1e801fd/fa4959815cb63c4be85770287a2f2052
D) 
Prover rapidez no acesso das informações da aplicação.
E) 
Manter o usuário fora da rede.
2) Para utilizar um banco de dados, necessariamente deve-se ter um sistema de gerencia
mento de banco de dados.
Selecione a alternativa que indique as funçõesde um sistema de gerenciamento de ba
nco de dados (SGBD).
A) 
Gerenciar a integridade de dados, o dicionário e o armazenamento de dados, bem como a 
memória do computador enquanto o SGBD estiver em execução.
B) 
Transformar e apresentar dados, controlar o acesso de multiusuário e prover interfaces de c
omunicação do banco de dados.
C) 
Gerenciar o backup e a recuperação dos dados, bem como o escalonamento de processos n
o processador por meio do banco de dados.
D) 
Gerenciar o sistema de arquivos e a segurança do banco de dados de forma automática par
a auxiliar o usuário durante a auditoria.
E) 
Gerenciar a entrada e a saída de dispositivos, linguagens de acesso ao banco de dados e int
erfaces de programação de aplicações.
3) Quando trabalhamos com banco de dados, podemos encontrar diversos modelos. Os 
mais populares têm sido o banco de dados relacional e o não relacional.
Selecione a alternativa que indique o conceito de ambos.
A) 
Um banco de dados relacional apresenta ralação forte entre o cliente e o servidor, enquanto 
o não relacional necessita de um framework.
B) 
Um banco de dado relacional utiliza um esquema de relacionamento, como, por exemplo, 
chave valor. Um banco de dados não relacional relaciona bancos.
C) 
Um banco de dado relacional não utiliza linguagem SQL. Um banco de dados não relacion
al utiliza linguagem SQL.
D) 
Um banco de dados relacional relaciona tabelas em um servidor. Um banco de dados não r
elacional não utiliza a linguagem SQL.
E) 
Um exemplo de banco de dados relacional é o GraphQL, e de um banco não relacional, o 
NoSQL.
4) Grande parte dos sistemas atualmente utiliza banco de dados para armazenar seus d
ados. De acordo com a aplicação, é necessário verificar a possibilidade de se utilizar b
anco de dados local, remoto ou baseado em serviço em nuvem.
Selecione a alternativa que indique um exemplo de cada na sequência.
A) 
Redis, SQLServer e Firebase.
B) 
MongoDB, AWS e Jenkins.
C) 
MariaDB, Google Cloud e SQLite.
D) 
SQLite, Redis e Firebase.
E) 
Postgres, Postman e Oracle.
5) Ao desenvolver um aplicativo, o desenvolvedor pode optar entre diferentes opções pa
ra armazenar os dados. É possível utilizar bancos de dados locais, remotos ou basead
os em serviços. Os bancos de dados baseados em serviços oferecem algumas vantagen
s.
Assinale a alternativa a seguir que indica vantagens de se utilizar um banco de dados 
baseado em serviços.
A) 
Não é necessário muitos recursos, como tempo/dinheiro, para criar uma estrutura back-en
d.
B) 
As dependências de funcionalidades são totalmente cobertas pelo BaaS.
C) 
Os dados estão totalmente seguros em um servidor BaaS.
D) 
Os desenvolvedores têm maior controle sobre o sistema.
E) 
O serviço permite que o desenvolvedor instale localmente o servidor para teste em desenv
olvimento.
NA PRÁTICA
Muitas vezes, no processo de desenvolvimento, há pouco tempo para implementar um projeto. 
Nesse cenário, escolher as ferramentas adequadas é essencial para não desperdiçar tempo e para 
focar nos aspectos mais importantes do projeto.
Um exemplo desse cenário é imaginar uma empresa com um time reduzido que ganhou uma lici
tação do governo para produzir um aplicativo em curto prazo de tempo. Dessa forma, optando p
or ferramentas como um banco de dados baseado em serviços, o time ganharia tempo, sem preci
sar se preocupar com a configuração, e direcionaria os esforços para a implementação da regra d
e negócio.
Neste Na Prática, você verá como Ana escolheu o banco de dados para um projeto mobile com p
razo curto de forma que essa escolha otimizasse o tempo de desenvolvimento.
SAIBA +
Para ampliar o seu conhecimento a respeito desse assunto, veja abaixo as sugestões do professo
r:
Página de desenvolvedor do Android
Antes de iniciar o desenvolvimento de qualquer aplicação, é necessário conhecer a linguagem de 
desenvolvimento, as abordagens e as tecnologias que serão utilizadas. No link a seguir, você pod
erá verificar o site oficial da comunidade Android.
Aponte a câmera para o código e acesse o link do vídeo ou clique no código para acessar.
Análise comparativa de desempenho de aplicação Android com persistência em banco de d
ados relacional e banco de dados orientado a objetos
Ao optar por utilizar determinada tecnologia para compor nossos sistemas, é importante buscar 
por exemplos, testes e até mesmo comparação de desempenho de tecnologias para que se possa
m tomar decisões coerentes, pois, por vezes, decidir mudar de tecnologia no futuro pode não ser 
uma tarefa trivial. Neste artigo, você poderá verificar o desempenho da utilização de banco de d
ados relacional e orientado a objetos em aplicações mobile.
Aponte a câmera para o código e acesse o link do vídeo ou clique no código para acessar.
Desenvolvimento do aplicativo ML-SAI para Android com uso do app Inventor
Por vezes não há todo o aparato necessário para desenvolver aplicações em nossas máquinas pes
soais. Para finalidade de estudo e desenvolvimento de protótipos de aplicativos Android, há o ap
p Inventor, ferramenta gratuita e on-line. Neste artigo, você poderá verificar a utilização da ferra
menta app Inventor para desenvolvimento de um aplicativo didático.
https://developer.android.com/
https://periodicos.ufersa.edu.br/index.php/ecop/article/view/7088
Aponte a câmera para o código e acesse o link do vídeo ou clique no código para acessar.
https://sol.sbc.org.br/index.php/eri-mt/article/view/8593/8494

Continue navegando