ARA0089 Slides
ARA0089 Slides
MÓVEIS EM ANDROID
Prof. Alessandro Larangeiras
2022
CONTEÚDO
1. SINTAXE E COMPONENTES DO REACT NATIVE
1.1 Ambiente de Desenvolvimento
1.2 Sintaxe JSX (JavaScript e XML)
1.3 Componentes Nativos do React Native
1.4 Depuração de Aplicativos
2. INTERFACE GRÁFICA COM REACT NATIVE
2.1 Construção da Interface e Interatividade
2.2 Listas e Outros Elementos Multivalorados
2.3 Estilização e Uso de Animações
2.4 Modelos de Navegação Entre Telas
3. PERSISTÊNCIA LOCAL COM REACT NATIVE
3.1 Uso de Dados Simples com AsyncStorage
3.2 Dados Estruturados com SQLite
3.3 Banco Orientado a Objetos com Realm
3.4 Bases NoSQL Usando MongoDB
2 / 123
CONTEÚDO (cont.)
3 / 123
BIBLIOGRAFIA
Básica:
• PLOTZE, Rodrigo. Programação para Dispositivos Móveis. SESES: Rio de
Janeiro, 2017.
• DEITEL, P. Android: Como Programar. 2. ed. Rio de Janeiro: Bookman, 2015.
• SIMAS, Victor Luiz. Desenvolvimento para Dispositivos Móveis. Porto Alegre:
SAGAH, 2013. Vol. 2.
4 / 123
BIBLIOGRAFIA (cont.)
Recomendada:
• ANDROID Tutorial. 2021. Java T Point. Disponível em:
<https://www.javatpoint.com/android-tutorial>. Acesso em: 25 jul. 2021.
• REACT NATIVE Tutorial. 2022. Java T Point. Disponível em:
<https://www.javatpoint.com/react-native-tutorial>. Acesso em: 11 fev. 2022.
• REACT NATIVE Tutorial. 2022. Tutorials Point. Disponível em:
<https://www.tutorialspoint.com/react_native/index.htm>. Acesso em: 07 mar.
2022.
• POP, Florin; MEDLOCK, Jim. App Ideas Collection. Disponível em:
<https://github.com/florinpop17/app-ideas>. Acesso em: 18 ago. 2021.
5 / 123
SISTEMA AVALIATIVO DO MODELO AURA
6 / 123
SISTEMA AVALIATIVO DO MODELO AURA (cont.)
Avaliações:
L AV1:
valerá 10 pontos (7 pontos da prova individual + 3 pontos das AAA – Atividades
Acadêmicas Avaliativas);
contemplará todos os temas abordados na disciplina até a data da prova.
L AV2:
valerá 10 pontos (prova individual);
contemplará os demais temas abordados a partir da AV1 ou conforme o formato
preestabelecido da disciplina.
L AVD – Avaliação Digital:
valerá 10 pontos (prova individual, realizada no campus virtual do aluno, no período
afixado no calendário acadêmico, sem necessidade de agendamento prévio);
contemplará os temas ou tópicos do crédito digital;
não substituirá a AV3.
7 / 123
SISTEMA AVALIATIVO DO MODELO AURA (cont.)
8 / 123
"Treine enquanto eles dormem,
estude enquanto eles se divertem,
persista enquanto eles descansam
e então viva o que eles sonham."
– Muhammad Ali.
9 / 123
INTRODUÇÃO À COMPUTAÇÃO MÓVEL &
AO SISTEMA OPERACIONAL ANDROID
10 / 123
COMPUTAÇÃO UBÍQUA
11 / 123
COMPUTAÇÃO UBÍQUA (cont.)
Colheitadeira autônoma (Fonte: Britannica W ). Fazenda digital (fonte: Revista Globo Rural W ).
12 / 123
COMPUTAÇÃO MÓVEL
13 / 123
COMPUTAÇÃO MÓVEL (cont.)
14 / 123
COMPUTAÇÃO MÓVEL (cont.)
Smartphone: hardware móvel + software móvel + comunicação móvel (fonte: Energepic [Pexels]).
15 / 123
DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS
CARATERÍSTICAS
16 / 123
DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS (cont.)
CARATERÍSTICAS
17 / 123
DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS
ABORDAGENS
18 / 123
DESENVOLVIMENTO DE APLICAÇÕES MÓVEIS
MONETIZAÇÃO
19 / 123
SISTEMA OPERACIONAL ANDROID
PLATAFORMA E ARQUITETURA
Principais características:
• suporta Apps desenvolvidos nas linguagens Java, Kotlin, C e C++;
• mantido pelo Google em parceria com a Open Handset Alliance – OHA, um con-
sórcio de fabricantes de aparelhos celulares (Samsung, LG, HTC etc.), operado-
ras de telefonia móvel (Telecom Italia, Telefónica, Vodafone etc.), companhias de
desenvolvimento de software (Google, eBay, PacketVideo etc.) e fabricantes de
semicondutores (ARM, Intel, Nvidia etc.) (ABLESON; SEN; KING, 2011; PLOTZE, 2017);
• idealizado inicialmente para câmeras e depois direcionado para smartphones;
• lançamento do primeiro Android Mobile em 2008 para smartphones da HTC
(ANDROID. . . , 2021).
Veja mais sobre a história do sistema operacional Android no
canal TecMundo (YouTube) W .
20 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA
21 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA
22 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA
23 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA
24 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA
25 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
PLATAFORMA E ARQUITETURA
Arquitetura do sistema
operacional Android (JAIN,
2014).
26 / 123
SISTEMA OPERACIONAL ANDROID
AMBIENTES E FERRAMENTAS DE DESENVOLVIMENTO
27 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
AMBIENTES E FERRAMENTAS DE DESENVOLVIMENTO
Android Studio
(fonte: O Autor).
28 / 123
SISTEMA OPERACIONAL ANDROID (cont.)
AMBIENTES E FERRAMENTAS DE DESENVOLVIMENTO
29 / 123
SINTAXE E COMPONENTES DO REACT NATIVE
Fonte: Mundo JS W .
30 / 123
REACT NATIVE
CARACTERÍSTICAS
31 / 123
REACT NATIVE (cont.)
CARACTERÍSTICAS
32 / 123
REACT NATIVE (cont.)
CARACTERÍSTICAS
33 / 123
REACT NATIVE (cont.)
CARACTERÍSTICAS
34 / 123
REACT NATIVE
AMBIENTE DE DESENVOLVIMENTO
35 / 123
REACT NATIVE (cont.)
AMBIENTE DE DESENVOLVIMENTO
36 / 123
REACT NATIVE (cont.)
AMBIENTE DE DESENVOLVIMENTO
37 / 123
REACT NATIVE (cont.)
AMBIENTE DE DESENVOLVIMENTO
38 / 123
JSX – JAVASCRIPT SYNTAX EXTENSION
39 / 123
JSX – JAVASCRIPT SYNTAX EXTENSION (cont.)
40 / 123
JSX – JAVASCRIPT SYNTAX EXTENSION (cont.)
O JSX – JavaScript Syntax eXtension, como o próprio nome sugere, é uma coleção
de palavras-chave, na forma de tags inspiradas em XML e HTML, que estendem a
sintaxe do JavaScript, a linguagem de programação suportada pelo React Native (fonte:
Cairo Noleto [Trybe] W ).
41 / 123
JSX – JAVASCRIPT SYNTAX EXTENSION (cont.)
1 import React from ’react ’;
2 import { View , Text , StyleSheet } from ’react - native ’;
3
4 export default function App () {
5 return (
6 // sintaxe JSX.
7 <View style ={ styles . container }>
8 <Text >Hello , World !</Text >
9 </View >
10 );
11 }
12
13 const styles = StyleSheet . create ({
14 container: {
15 flex: 1,
16 backgroundColor: ’#fff ’,
17 alignItems: ’center ’,
18 justifyContent: ’center ’,
19 },
20 });
42 / 123
COMPONENTES NATIVOS DO REACT NATIVE
43 / 123
COMPONENTES NATIVOS DO REACT NATIVE (cont.)
Leia o artigo Core Components and APIs W , do website React Native Developers,
para conhecer a documentação dos componentes do React Native (sintaxe e propri-
edades), bem como para analisar as vantagens e desvantagens de se utilizar contro-
les visuais exclusivos de determinada plataforma de sistema operacional alvo, como
o ToastAndroid.
44 / 123
COMPONENTES NATIVOS DO REACT NATIVE (cont.)
45 / 123
DEPURAÇÃO DE APPS
46 / 123
DEPURAÇÃO DE APPS (cont.)
47 / 123
INTERFACE GRÁFICA COM REACT NATIVE
48 / 123
INTEFACE GRÁFICA & INTERATIVIDADE
49 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)
«Protótipos são versões interativas dos wireframes, onde é possível clicar ou intera-
gir com algumas partes da tela para simular como será o seu funcionamento – mesmo
que a funcionalidade ainda não tenha sido implementada [...].» (TEIXEIRA, 2014, p. 56, grifo
nosso).
Os protótipos podem ser construídos com uma ferramenta de wireframing, que atri-
buirá comportamento aos controles visuais (widgets) e definirá links entre as telas
(TEIXEIRA, 2014, p. 54).
50 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)
51 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)
«Quando você usa algum [objeto] [...], você tem uma experiência. Se você já ficou
nervoso na frente do caixa eletrônico porque ele não entregou o dinheiro que você
estava esperando e não deu nenhuma explicação sensata sobre o motivo da recu-
sa, você possivelmente teve uma péssima experiência enquanto usuário do caixa
eletrônico.» (TEIXEIRA, 2014, p. 2).
52 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)
«"A maioria das pessoas acredita que User Experience é somente encontrar a melhor
solução para os seus usuários – mas não é. UX se trata sobre definir o problema que
precisa ser resolvido (o porquê), definir para quem esse problema precisa ser resolvi-
do (o quem), e definir o caminho que deve ser percorrido para resolvê-lo (o como)." –
Whitney Hess» (TEIXEIRA, 2014, p. 2).
«O que UX Design não é? Para começo de conversa: UX Design não é direção de ar-
te. Também não é planejamento, não é gerência de projetos, não é desenvolvimento
de software. UX faz o meio de campo entre todas essas disciplinas, garantindo que
todas elas estejam caminhando juntas em direção a um mesmo objetivo. É o UX de-
signer, por exemplo, que traduz a estratégia criada pelo planejador em forma de telas
e fluxos que serão utilizados pelo usuário.» (TEIXEIRA, 2014, p. 12).
53 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)
54 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)
55 / 123
INTEFACE GRÁFICA & INTERATIVIDADE (cont.)
Layout do sistema MedSys, proposto para implementação no React Native (Fonte: O Autor).
56 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS
57 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)
58 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)
59 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)
60 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)
61 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)
62 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)
63 / 123
LISTAS E OUTROS ELEMENTOS MULTIVALORADOS (cont.)
64 / 123
SITUAÇÃO-PROBLEMA
65 / 123
ESTILIZAÇÃO E USO DE ANIMAÇÕES
Assista ao vídeo React Native Basics: Layout with Flexbox (en-US) W , do canal
React Native School (YouTube), para acompanhar a estilização dos controles visuais
(widgets) do React Native, ou seja, sua diagramação em uma folha de estilos. Aten-
ção: ative as legendas para o idioma português.
66 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS
67 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)
68 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)
69 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)
70 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)
71 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)
72 / 123
MODELOS DE NAVEGAÇÃO ENTRE TELAS (cont.)
Leia o artigo React Navigation: Stack, Tab and Drawer Navigation in Same React
Native Application W , do website Medium, para conhecer mais sobre estas três es-
tratégias de navegação do React Native.
73 / 123
PERSISTÊNCIA LOCAL COM REACT NATIVE
74 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE
Bem, são muitos adjetivos para uma API – Application Programming Interface. Va-
mos desmembrar esta terminologia. Assíncrono significa que cada um dos seus
métodos retorna um objeto que pode ser do tipo Promise [(objeto dedicado a co-
municações assíncronas, com garantias superiores ao modelo de callback)] ou
Error. Ela é não-criptografada, então cuidado ao utilizá-la para armazenar da-
dos sensíveis. Ser persistente quer dizer que ela salva os dados, independente
se o usuário encerrar o App ou o dispositivo. Finalmente, o par chave-valor é o
modo como os dados são armazenados.» (Fonte: ASAP Developers W , tradução nossa).
75 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE (cont.)
«Por que você deveria utilizá-la? Em primeiro lugar, ela é uma solução leve que não
envolve banco de dados, servidor ou mesmo uma conexão de Internet. Essa parece
ser uma boa escolha, mas lembre-se de que é apenas uma dentre muitas alternativas
de armazenagem de informação e compartilhamento de dados para o seu App – e
que nem sempre pode ser a melhor.
Esta biblioteca geralmente é substituída pelo React Context ou Redux, mas, apesar
de terem a mesma finalidade, eles não são a mesma coisa. Principalmente porque o
React Context e o Redux armazenam dados na memória, que é apagada quando o
App se encerra, e o AsyncStorage salva os dados persistentemente no dispositivo,
semelhante ao armazenamento local utilizado por aplicações Web.» (Fonte: ASAP
Developers W , tradução nossa).
76 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE (cont.)
77 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE (cont.)
78 / 123
USO DE DADOS SIMPLES COM ASYNCSTORAGE (cont.)
79 / 123
DADOS ESTRUTURADOS COM SQLITE
80 / 123
DADOS ESTRUTURADOS COM SQLITE (cont.)
81 / 123
DADOS ESTRUTURADOS COM SQLITE (cont.)
82 / 123
DADOS ESTRUTURADOS COM SQLITE (cont.)
Para conhecer mais sobre bancos de dados SQL e o SQLite, consulte o conteúdo
digital da disciplina de Programação para Dispositivos Móveis em Android, no te-
ma 3, módulo 2.
83 / 123
BANCO ORIENTADO A OBJETOS COM REALM
84 / 123
BANCO ORIENTADO A OBJETOS COM REALM (cont.)
Leia o artigo Iniciação ao Realm W , do website Android Dev BR, para uma introdu-
ção ao banco de dados Realm.
85 / 123
BANCO ORIENTADO A OBJETOS COM REALM (cont.)
Para conhecer mais sobre bancos de dados orientados a objetos e o Realm, consulte
o conteúdo digital da disciplina de Programação para Dispositivos Móveis em Android,
no tema 3, módulo 3.
86 / 123
BANCO ORIENTADO A OBJETOS COM REALM (cont.)
87 / 123
BANCO ORIENTADO A OBJETOS COM REALM (cont.)
88 / 123
BASES NOSQL USANDO MONGODB
89 / 123
BASES NOSQL USANDO MONGODB (cont.)
90 / 123
BASES NOSQL USANDO MONGODB (cont.)
Para conhecer mais sobre bancos de dados NoSQL e o MongoDB, consulte o con-
teúdo digital da disciplina de Programação para Dispositivos Móveis em Android, no
tema 3, módulo 4.
91 / 123
BASES NOSQL USANDO MONGODB (cont.)
92 / 123
CONEXÃO REMOTA COM REACT NATIVE
93 / 123
COMPONENTES PARA CONEXÃO EM REDE
94 / 123
PERSISTÊNCIA REMOTA COM REST
95 / 123
PERSISTÊNCIA REMOTA COM REST (cont.)
Assista ao vídeo Consumindo Dados de Uma API com React Native W , do canal
Stack Mobile (YouTube), para acompanhar uma implementação envolvendo integra-
ção com uma API RESTful.
96 / 123
CONTROLE DE ACESSO COM OAUTH 2.0
97 / 123
CONTROLE DE ACESSO COM OAUTH 2.0 (cont.)
Para conhecer mais sobre o protocolo OAuth 2.0, consulte o conteúdo digital da dis-
ciplina de Programação para Dispositivos Móveis em Android, no tema 4, módulo 2.
98 / 123
CONTROLE DE ACESSO COM OAUTH 2.0 (cont.)
Assista ao vídeo Login Social com OAuth2 no React Native W , do canal Rocketseat
(YouTube), para acompanhar uma implementação envolvendo integração com o proto-
colo OAuth 2.0.
99 / 123
IMPLEMENTAÇÃO NO MODELO OFFLINE FIRST
Assista ao vídeo Como Utilizar Offline First com React Native? W , do canal
Rocketseat (YouTube), para uma rica introdução sobre este modelo de conexão
remota.
100 / 123
IMPLEMENTAÇÃO NO MODELO OFFLINE FIRST (cont.)
Para conhecer mais sobre o modelo Offline First, consulte o conteúdo digital da dis-
ciplina de Programação para Dispositivos Móveis em Android, no tema 4, módulo 3.
101 / 123
IMPLEMENTAÇÃO NO MODELO OFFLINE FIRST (cont.)
Assista ao vídeo Offline First: Apps que Funcionam sem Internet W , do canal
Rocketseat (YouTube), para acompanhar uma implementação envolvendo o mo-
delo de conexão remota Offline First.
102 / 123
TÓPICOS AVANÇADOS EM REACT NATIVE (CRÉDITO DIGITAL)
103 / 123
ARQUITETURA MVC NO REACT NATIVE
104 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)
105 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)
Leia o artigo React Native com Mobx W , do website Antonio Lopes (Medium), para
uma introdução sobre o Mobx, biblioteca de gerenciamento de estado de objetos que
será utilizada nos vídeos do exemplo de implementação apresentados a seguir.
106 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)
Assista ao vídeo Applying MVC in React Native: Creating Model W , do canal Pham
Quang Vi (YouTube), para acompanhar a implementação da camada Model do padrão
arquitetural MVC.
107 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)
108 / 123
ARQUITETURA MVC NO REACT NATIVE (cont.)
Assista ao vídeo Applying MVC in React Native: Creating View W , do canal Pham
Quang Vi (YouTube), para acompanhar a implementação da camada View do padrão
arquitetural MVC.
109 / 123
UTILIZAÇÃO DO MODELO FLUX
Assista ao vídeo Flux e Redux: O Que Houve Com o MVC? W , do canal Locaweb
(YouTube), para uma introdução ao padrão arquitetural Flux e o framework Redux,
que abstrai a sua implementação.
110 / 123
UTILIZAÇÃO DO MODELO FLUX (cont.)
Para conhecer mais sobre o padrão arquitetural Flux e o framework Redux, consulte o
conteúdo digital da disciplina de Programação para Dispositivos Móveis em Android,
no tema 5, módulo 2.
111 / 123
UTILIZAÇÃO DO MODELO FLUX (cont.)
112 / 123
UTILIZAÇÃO DO MODELO FLUX (cont.)
Assista ao vídeo React Native e Redux W , do canal Wesley Bruno (YouTube), para
acompanhar uma implementação do padrão arquitetural Flux.
113 / 123
CRIPTOGRAFIA NO ARMAZENAMENTO DE DADOS
114 / 123
CRIPTOGRAFIA NO ARMAZENAMENTO DE DADOS (cont.)
115 / 123
CRIPTOGRAFIA NO ARMAZENAMENTO DE DADOS (cont.)
116 / 123
TESTE, PERFORMANCE TUNING E SHIPPING
117 / 123
TESTE, PERFORMANCE TUNING E SHIPPING (cont.)
118 / 123
TESTE, PERFORMANCE TUNING E SHIPPING (cont.)
119 / 123
TESTE, PERFORMANCE TUNING E SHIPPING (cont.)
Assista ao vídeo Uma Dica para Melhorar a Performance da sua Aplicação React
W , do canal Vinicius Dacal (YouTube), para uma breve discussão sobre performance
tuning.
120 / 123
REFERÊNCIAS
ABLESON, W. Frank; SEN, Robi; KING, Chris. Android in Action. 2nd ed. rev..
ed. [S.l.]: Manning Publications, 2011.
ANDROID Tutorial. 2021. Java T Point. Disponível em: <https://www.javatpoint.
com/android-tutorial>. Acesso em: 25 jul. 2021.
CINCO Estratégias de Monetização para seu App. 2021. Google Admob.
Disponível em: <https://admob.google.com/intl/pt-BR_br/home/resources/
5-app-monetization-strategies-to-grow-and-monetize-your-app/>. Acesso em: 18
ago. 2021.
JAIN, Sumit. Android System Architecture. 2014. Android, Tutorial Horizon.
Disponível em: <https://android.tutorialhorizon.com/android-system-architecture/>.
Acesso em: 04 set. 2019.
K19 TREINAMENTOS. Desenvolvimento Mobile com Android. 2012.
MOBILE Computing Tutorial. 2021. Java T Point. Disponível em: <https:
//www.javatpoint.com/mobile-computing>. Acesso em: 26 jul. 2021.
121 / 123
REFERÊNCIAS (cont.)
MONETIZAR. In: DICIONÁRIO Priberam da Língua Portuguesa online. S.l.: s.n.,
2021. Disponível em: <https://dicionario.priberam.org/monetizar>. Acesso em: 18
ago. 2021.
NAVARRO, Juan Enrique G.; PENICHET, Víctor Manuel R.; PÉREZ,
María Dolores L. An Architecture Proposal for Residential Care Home
Environments. In: Handbook of Research on ICTs and Management
Systems for Improving Efficiency in Healthcare and Social Care.
Hershey: IGI Global, 2013. cap. 40, p. 770–785. Disponível em: <https:
//www.igi-global.com/chapter/architecture-proposal-residential-care-home/78054>.
Acesso em: 25 jul. 2021.
NERI, Renan. Aprenda 6 Formas de Monetizar um Aplicativo. 2017. Blog de
Engenharia, Fluxo Consultoria, Universidade Federal do Rio de Janeiro – UFRJ.
Disponível em: <https://fluxoconsultoria.poli.ufrj.br/blog/monetizar-um-aplicativo/>.
Acesso em: 18 ago. 2021.
122 / 123
REFERÊNCIAS (cont.)
123 / 123