Programação para dispositivos Móveis - Criação de aplicativos - Android Aulas de 1 a 10 - CENTEC, aulas de java, android e andoird studio, aplicativos, app, apps, kotlin
Programação para dispositivos Móveis - Criação de aplicativos - Android Aulas de 1 a 10 - CENTEC.pptx
1. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Programação para dispositivos Móveis
2. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Programação para dispositivos Móveis
Aulas de 1 à 10
3. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Programação para dispositivos Móveis
Com Android do Básico ao Avançado
4. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
CENTEC. DR. AM. Programação para dispositivos
Móveis: Com Android do Básico ao Avançado /
Diogo Rafael da Silva. Manaus: CENTEC/AM, 2023. 168
p. II. Inclui Referências. Por.
ANDROID; DISPOSITIVO MÓVEL; SISTEMA
OPERACIONAL GOOGLE; ARQUITETURA DADOS;
ANDROID; ANDROID; DE LINGUAGEM DE
PROGRAMAÇÃO; JAVA; KOTLIN; SMARTPHONE,
BUILD TOOLS, AVD MANAGER
5. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
MÉDIA 7
75 % de presença
Recomendado uso de
camisa uniforme, calça
jeans fechada
Programação para dispositivos Móveis
6. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
10 ideias
7. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Calendário
S T Q Q S
25 26 27 28 jul
31 1 2 3 4
7 8 9 10 11 ago
14
8. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Expectativas
• O Android é uma plataforma aberta voltada para dispositivos
móveis desenvolvida pela Google e atualmente é mantida pela
Open Handset Alliance (OHA). Todas as aplicações desenvolvidas
para essa plataforma foram criadas com a linguagem Java, o que
facilita muitos programadores com conhecimentos em Java (ou
de outras linguagens próximas de Java como C++ e C#) a
desenvolver aplicações para o Android.
9. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Sobre o Android
• O Android é uma plataforma aberta voltada para dispositivos
móveis desenvolvida pela Google e atualmente é mantida pela
Open Handset Alliance (OHA). Todas as aplicações desenvolvidas
para essa plataforma foram criadas com a linguagem Java, o que
facilita muitos programadores com conhecimentos em Java (ou
de outras linguagens próximas de Java como C++ e C#) a
desenvolver aplicações para o Android.
10. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Sobre o Android
• A OHA (Open Handset Alliance). Visite link:
https://www.openhandsetalliance.com/), um grupo constituído
por aproximadamente 84 empresas as quais se uniram para
inovar o acelerar o desenvolvimento de aplicações e serviços,
com o objetivo a trazer nos consumidores uma experiência mais
rica em termos de recursos, menos dispendiosa em termos
financeiros para o mercado móvel.
11. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exemplos de dispositivos
Smartphone Samsung Galaxy S10
12. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exemplos de dispositivos
Smartphone Samsung Galaxy Note
13. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• O Android SDK é uma ferramenta de
desenvolvimento que disponibiliza um
conjunto de APIs necessárias para desenvolver
aplicações para a plataforma Android,
utilizando a linguagem Java.
14. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Application framework: Permite a
reutilização e substituição de
componentes
15. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Dalvik Virtual Machine: É uma
Máquina Virtual Java (JVM) voltada
para dispositivos móveis.
16. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Android Runtime: É uma Máquina Virtual
Java (JVM) voltada para dispositivos
móveis, o mesmo é uma máquina virtual
baseada em registradores. Executada
após do Android KITKAT 4.4, a partir
da 5.0, Substituindo o Dalvik Virtual
Machine.
17. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Browser Integrado baseado no webkit
engine;
18. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Gráficos Otimizados O Android é
constituído por bibliotecas 2D e 3D
baseada na especificação OpenGL ES
1.0:
19. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• SQLite: Sistema Gerenciador de
Banco de Dados (SGBD) já embutido
no Android para guardar dados:
20. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Suporte multimidia: A plataforma já
oferece para áudio, vídeo e formatos
de imagem (MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG, GIF):
21. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Suporte multimidia: A plataforma já
oferece para áudio, vídeo e formatos
de imagem (MPEG4, H.264, MP3,
AAC, AMR, JPG, PNG, GIF):
22. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Telefonia GSM (dependente de
hardware):
23. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Bluetooth, EDGE, 3G e WiFi
(dependente de hardware); - Câmera,
GPS, compasso e acelerómetro
(dependente de hardware):
24. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Plataforma Google Android
• Rico ambiente de desenvolvimento,
incluindo um emulador de dispositivo,
ferramentas de depuração, memória e
performance
25. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
A ARQUITETURA DO ANDROID
26. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
A ARQUITETURA DO ANDROID
27. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
A ARQUITETURA DO ANDROID
28. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
A ARQUITETURA DO ANDROID
29. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
A ARQUITETURA DO ANDROID
• Rico ambiente de desenvolvimento,
incluindo um emulador de dispositivo,
ferramentas de depuração, memória e
performance
30. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
APLICAÇÕES
• O Android nos fornece um conjunto de aplicações fundamentais,
são elas:
• -Um cliente de e-mail;
• -Programa de SMS;
• -Agenda;
• -Mapas;
• -Navegador;
• -Contatos entre outros.
31. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Android SDK
O Android SDK é uma ferramenta de
desenvolvimento que
disponibiliza um conjunto de APIs
necessárias(bibliotecas e etc...)
para desenvolver aplicações para
a plataforma Android, utilizando a
linguagem Java.
32. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Instalação do Java
Como saber se eu tenho a Máquina Virtual Java instalada?
• Basta chamarmos o “Prompt de Comando” do Windows,
digitando na caixa de diálogo “Executar” (pressionando as teclas
“Windows” + “R”) o seguinte comando
33. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Instalação do Java
em “OK” e será aberta a seguinte caixa de diálogo, conforme
podemos ver a seguir
34. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Instalação do Java
digitar o seguinte comando abaixo:
java –version
35. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Instalação do Java
mostrar a seguinte mensagem
java –version
36. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Instalação do Java
• https://www.oracle.com/br/java/technol
ogies/javase-downloads.html
Prof.: Diogo Rafael da Silva ans.diogo@hotmail.com
37. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Instalação do Java
• https://www.oracle.com/br/java/technol
ogies/javase-downloads.html
38. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Instalação do Java
• https://www.oracle.com/br/java/technol
ogies/javase-downloads.html
Prof.: Diogo Rafael da Silva ans.diogo@hotmail.com
39. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Aguardar download do Gradle
40. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Build Tools
(ferramentas de construção)
Gradle
Maven
CMake
Webpack
Gulp
SBT
Buck
Bazel
...
Other
41. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
O que é o Gradle?
O Gradle é um sistema de automatização
de builds(Ferramenta de contrução) que une
o melhor da flexibilidade do Ant com o
gerenciamento de dependências e as
convenções do Maven.
42. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
AVD Manager
AVD Manager é o Android
Virtual Device, em português é
o gerenciamento de dispositivo
virtual do Android.
43. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
AVD Manager
É uma interface que pode ser
iniciada no Android Studio
para ajudar a criar e gerenciar
AVDs.
44. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof.: Diogo Rafael da Silva ans.diogo@hotmail.com
AVD Manager
45. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
Passo para criar um novo no Android
Virtual Device (AVD):
No Android Studio, Item de Menu
“TOOLS” e depois vamos no subitem
AVD Manager 1
+ CREATE VIRTUAL DEVICE
Escolher o Dispositivo ,Clico Next+FINISH
46. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof.: Diogo Rafael da Silva ans.diogo@hotmail.com
AVD Manager
47. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
AVD Manager
Passos para executar um app no
Android Virtual Device (AVD):
No Android Studio, vá no Item
de Menu “RUN” e depois vamos
no subitem Run “APP” (Shift+F10)
48. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Android
50. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
1. Como faço para saber a
versão do Java?
51. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
2. Como faço para saber se o
Android Studio está instalado?
52. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
3. Como faço para executar um
app no Android Virtual Device
(AVD)?
53. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
4. O que é o Android SDK?
54. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
5. O que é o Dalvik Virtual
Machine?
55. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
6. O que é o Gradle?
56. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
7. O que é o AVD?
57. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
8. Quais são as 2 principais
linguagens de programação que
posso usar no Android Studio?
58. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
9. O que é o Android Studio?
59. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
10. O que é o Android?
60. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
Vamos construir Respostas?
61. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
Como faço para saber a versão do
Java?
1. Windows + R, digitar CMD, clicar
Enter, e escrever no prompt de
comando: Java -version
62. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
2. Como faço para saber se o Android
Studio está instalado?
1. Clicar no Botão Iniciar do Windows.
2. Verificar se estar em instalado
recentemente, ou
3. Ir nas Pastas de Letra A e ver se tem
a Pasta do Android Studio
4. Com o Android Studio
63. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
3. Como faço para executar um
app no Android Virtual Device
(AVD)?
No Android Studio, Item de Menu
“RUN” e depois vamos no subitem
Run “APP” (Shift+F10)
64. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
3.1. Como criar um novo no Android
Virtual Device (AVD)?
No Android Studio, Item de Menu
“TOOLS” e depois vamos no subitem
AVD Manager 1
+ CREATE VIRTUAL DEVICE
Escolher o Dispositivo ,Clico Next+FINISH
65. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
4. O que é o Android SDK?
é uma ferramenta de
desenvolvimento que
disponibiliza um conjunto de APIs
necessárias(bibliotecas e etc...)
para desenvolver aplicações para
a plataforma Android, utilizando a
linguagem Java.
66. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
5. O que é o Dalvik Virtual Machine?
É uma Máquina Virtual Java (JVM)
voltada para dispositivos móveis, é uma
máquina virtual baseada em
registradores. Executada até o Android
KITKAT 4.4, Substituida pelo ANDROID
RUNTIME
67. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
5.1. O que é o ANDROID RUNTIME?
É uma Máquina Virtual Java (JVM)
voltada para dispositivos móveis, é
uma máquina virtual baseada em
registradores. Executada após do
Android KITKAT 4.4, a partir da 5.0,
Substituindo o Dalvik Virtual
Machine.
Fonte: https://en.wikipedia.org/wiki/Dalvik_(software)
68. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
O que é o Build Tools?
(ferramentas de construção)
Gradle
Maven
CMake
Webpack
Gulp
SBT
Buck
Bazel
...
Other
69. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
6. O que é o Gradle?
O Gradle é um sistema de
automatização de builds(Ferramenta
de contrução) que une o melhor da
flexibilidade do Ant com o
gerenciamento de dependências e as
convenções do Maven.
70. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
7. O que é o AVD?
É o Android Virtual Device,
dispositivo virtual do Android
71. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
7.1. O que é o AVD
Manager?
É uma interface que pode
ser iniciada no Android
Studio para ajudar a criar
e gerenciar AVDs.
72. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
7.1. AVD Manager?
Prof.: Diogo Rafael da Silva ans.diogo@hotmail.com
73. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
8. Quais são as 2 principais
linguagens de programação que
posso usar no Android Studio?
Java e Kotlin
74. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
9. O que é o Android Studio?
Android Studio é um ambiente de
desenvolvimento integrado(IDE)
para desenvolver para a plataforma
Android. Foi anunciado em 16 de Maio de
2013 na conferência Google I/O. Android Studio
é disponibilizado gratuitamente sob a Licença
Apache 2.0.
75. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Questões
10. O que é o Android?
É o sistema operacional da Google para
dispositivos móveis baseado no núcleo
do Linux. E mantida pela Open Handset
Alliance,
76. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
JAVA
78. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercicío
• O que é?
• Para que serve?
• O que me possibilita?
• Expectativas?
79. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Expectativas de programadores
• A - aprender a lin. criar sites, e sw
• B - Aplicativo Desktop, web, Mobile
• C - Qualificação profissional
• D - desktop e web
• E - mobile
• F - Interativo, inovador, mobile
• G - aplicações para o mercado
• H - Mercado
80. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Expectativas
81. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Expectativas
82. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Expectativas
83. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Expectativas
85. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Histórico
• A linguagem de programação Java foi criada em 1991 por James
Gosling, ela iniciou-se como parte do projeto Green da Sun
Microsystems. Inicialmente a linguagem iria chamar-se Oak
(Carvalho) em referência a árvore que era visível pela janela de
James Gosling. A mudança de nome ocorreu pois já existia uma
linguagem de programação com este nome, então a linguagem
foi rebatizada para Java.
86. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Histórico
O termo Java é utilizado, geralmente,
quando nos referimos a:
• Linguagem de programação orientada a objetos;
• Ambiente de desenvolvimento composto pelo compilador,
interpretador, gerador de documentação e etc.;
• Ambiente de execução que pode ser praticamente qualquer
máquina que possua Java Runtime Environment (JRE) instalado
87. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Histórico
linguagem de programação Java é uma linguagem de alto-nível com as seguintes
características:
• Simples: O aprendizado da linguagem de programação Java pode ser feito em
um curto período de tempo;
• Orientada a objetos: Desde o início do seu desenvolvimento esta linguagem
foi projetada para ser orientada a objetos;
• Familiar: A linguagem Java é muito familiar para os programadores C/C++ ;
• Robusta: Ela foi pensada para o desenvolvimento de softwares confiáveis
provendo verificações tanto em tempo de execução quanto compilação, o
coletor de lixo responsabiliza-se pela limpeza da memória quando houver
necessidade
88. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Histórico
• Segura: Aplicações Java são executadas em ambiente próprio
(JRE) o que inviabiliza a intrusão de código malicioso;
• Portável: Programas desenvolvidos nesta linguagem podem ser
executados em praticamente qualquer máquina desde que esta
possua o JRE instalado
• Etc...
89. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - máquina virtual java (JVM)
• A máquina virtual java (JVM) é uma máquina imaginária que emula uma
aplicação em uma máquina real. É a JVM que permite a portabilidade do
código Java, isto ocorre porque todo código Java é compilada para um formato
intermediário, bytecode, este formato é então interpretado pela JVM.
• Existem diversas JVMs cada uma delas destinada a um tipo de sistema
operacional (Windows, Linux, Mac, Android e etc.), desta forma sendo o
código da aplicação Java, bytecode, um código interpretado pela JVM,
podemos desenvolver uma aplicação sem nos preocuparmos onde ela será
executada pois sabemos que existindo a JVM instalada nosso código será
executável.
90. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - máquina virtual java (JVM)
91. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - máquina virtual java (JVM)
Byte Code (.class)
(Aplication.apk)
Java Code(.java)
JAVAC
compiler
JVM JVM JVM JVM
Windows Linux Android MacOS
92. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java -Coletor de
Lixo Garbage Collection
• Muitas linguagens de programação nos permitem alocar espaço na memória em tempo de
execução, uma vez encerrado o programa deve haver uma maneira de liberar este espaço para
que outras aplicações possam utilizá-lo. -- Em muitas das linguagens de programação, inclusive
C e C++, a responsabilidade pela liberação do espaço que não mais será utilizado é do
programador, no entanto, nem sempre é fácil gerenciar o que está e o que não está sendo
utilizado, a má gerência da memória ocasiona muitas vezes o estouro de pilha (stack overflow)
entre outros problemas . -- Na linguagem de programação Java a responsabilidade pela
gerência da memória é do Coletor de lixo (Garbage Collector), desta forma, programadores
Java ficam livres da preocupação de alocação e desalocação da memória.
• O Coletor de lixo é um processo que roda em segundo plano e é responsável pela liberação de
memória alocada por variáveis que não mais serão utilizadas pela aplicação.
93. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - JVM
• As fases pelo qual passam um programa Java relacionam-se da
seguinte forma:
•
1. Criação do código fonte (Programa.java);
2. Compilação do código fonte e geração do bytecode
(Programa.class), ou Aplicativo.apk;
3. Interpretação do bytecode pela máquina virtual;
4. Conversão do bytecode em linguagem de máquina;
Programa.java compilador program.class JVM
aplicativo.apk
0110011
1000000
0101110
0000100
1000110
94. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Hotspot
• Hotspot é a máquina virtual Java, ela provê algumas funcionalidades muito
importantes. Ao contrário de outras aplicações, que são compiladas
diretamente para código da máquina em que serão executadas, em Java estas
somente são transformadas em código de máquina em tempo de execução
quando necessário.
• Este desempenho vem melhorando muito devido a otimização que a máquina
virtual consegue fazer a medida que o código é executado. Perceba que
quando programamos em C, por exemplo, o código fonte é transformado em
código
• de máquina imediatamente.
95. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Hotspot
• Em princípio podemos pensar que o fato do programa não precisar passar por
uma etapa a mais, interpretação, irá torná-lo mais eficiente, mas muitas vezes
a compilação estática não consegue prever situações que irão ocorrer durante
a execução do código: trechos da aplicação mais utilizados, carga do sistema,
quantidade de usuários simultâneos, memória disponível e etc..
• Estas informações, relativas ao ambiente no qual a aplicação está sendo
executada, são utilizadas pela JVM para fazer otimizações em tempo de
execução e havendo necessidade o código que está sendo interpretado é
transformado em instruções nativas do sistema operacional (código de
máquina) em um processo de compilação dinâmica.
96. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Hotspot
• Esta transformação em tempo de execução é realizada pelo JIT, Just-in-time
compiler. O fato do código (bytecode) ser transformado, em tempo de
execução, em código de máquina permite que a JVM mude a estratégia de
compilação em busca de um melhor desempenho, em um ciclo de
“aprendizado” contínuo.
97. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – JRE e JDK
• JRE: O Java Runtime Environment contém tudo aquilo que um usuário comum
precisa para executar uma aplicação Java (JVM e bibliotecas), como o próprio
nome diz é o “Ambiente de execução Java”;
• JDK: O Java Development Kit é composto pelo JRE e um conjunto de
ferramentas úteis ao desenvolvedor Java
98. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Ferramentas do JDK
A seguir temos uma breve descrição das principais ferramentas que fazem parte do JDK:
• javac: Compilador da linguagem Java;
• java: Interpretador Java;
• jdb: Debugador Java;
• java -prof: Interpretador com opção para gerar estatísticas sobre o uso dos métodos;
• Javadoc: Gerador de documentação;
• jar: Ferramenta que comprime, lista e expande;
• appletviewer: Permite a execução e debug de applets sem browser;
• javap: Permite ler a interface pública das classes;
• extcheck: Detecta conflitos em arquivos Jar
99. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java - Exercicio
Criar um Hello word
101. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Primeiros Contatos
102. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Primeiros Contatos - Definições
• Classe: É a estrutura que, quando construída, produzirá um objeto, dizemos
“todo objeto é instância de alguma classe”;
• Objeto: Em tempo de execução, quando a JVM encontra a palavra reservada
new é criada uma instância da classe apropriada;
• Estado: É definido pelo conjunto de atributos de uma classe, isto é, cada
instância da classe possuirá um estado independente dos demais objetos.
• Comportamento: São os métodos da classe, comportamento é aquilo que uma
classe faz (algoritmos), muitas vezes, um determinado comportamento
(método) muda o estado do objeto, isto é, após a execução do método um ou
mais atributos mudaram de valor;
103. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Primeiros Contatos - Nomeclatura
Existem três aspectos importantes, em relação a nomenclatura,
que devemos considerar quando estamos programando Java.
Identificadores válidos: Definem as regras para que o
compilador identifique o nome como válido.
I. Devem iniciar com uma letra, cifrão ($) ou
sublinhado/underscore (_);
II. Após o primeiro caracter podem ter qualquer combinação de
letras, caracteres e números;
III.Não possuem limite de tamanho;
IV. Não podem ser palavras reservadas;
V. Identificadores são case-sensitive isto é, “Nome” e “nome” são
identificadores diferentes.
104. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Primeiros Contatos - Nomeclatura
Exemplos:
Identificadores válidos Identificadores inválidos
_codigo 5ident
$turma -idade
$$_5A %valor
105. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Nomeclatura
• Convenção de nomenclatura da SUN: São recomendações da
SUN para nomenclatura de classes, métodos e variáveis. Seu
programa irá funcionar mesmo que você não siga estas
convenções.
106. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Nomeclatura
I. Classes e interfaces: A primeira letra deve ser maiúscula e, caso
o nome seja formado por mais de uma palavra, as demais
palavras devem ter sua primeira letra maiúscula também
(camelCase);
• Exemplos:
107. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Nomeclatura
II. Métodos: A primeira letra deve ser minúscula e após devemos
aplicar o camelCase;
• Exemplos:
108. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Nomeclatura
III.Variáveis: Da mesma forma que métodos;
• Exemplos:
109. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Nomeclatura
IV. Constantes: Todas as letras do nome devem ser maiúsculas e
caso seja formada por mais de uma palavra separada por
underscore.
• Exemplos:
110. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Nomeclatura
Convenção JavaBeans: Requisitos para que os nomes atendam a
especificação para JavaBeans.
I. Se o atributo não for um booleano o método getter (utilizado para obter a
variável) deve iniciar por “get”;
I. Se o atributo for um booleano o método getter pode iniciar por “get” ou
“is”;
II. O método setter (atribuição) da propriedade sempre deve iniciar por “set”;
III.O restante do nome deve ser o nome do atributo concatenado ao prefixo
(is, get ou set) em letra maiúscula;
IV. O método setter e getter sempre devem ser públicos.
111. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – JDK
Acessar o site:
http://www.oracle.com/technetwork/java/javase/downloads/index.html
112. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – JDK
Após a instalação do Java nós devemos iniciar a configuração das variáveisde
ambiente.
1. Clique com o botão direito em cima do ícone “Meu Computador”;
2. Vá em “Propriedades”;
3. Selecione a aba “Avançado”;
4. Clique no botão “Variáveis de ambiente”;
5. Clique no botão “Nova” em “Variáveis do sistema”;
5.1. Nome da variável: JAVA_HOME
5.2. Valor da variável: Coloque aqui o endereço de instalação neste caso =
C:Arquivos de programasJavajdk1.5.0_05
5.3. Clique em OK
113. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – JDK
6. Clique novamente no botão “Nova” em “Variáveis do sistema”;
6.1. Nome da variável: CLASSPATH
6.2. Valor da variável:
.;%JAVA_HOME%lib;%JAVA_HOME%libtools.jar;%JAVA_HOME
%libdt.jar;%JAVA_HOME%libhtmlconverter.jar;%JAVA_HOME%
jrelib;%JAVA_HOME%jrelibrt.jar
6.3. Clique em OK
7. Selecione a váriavel PATH em “Variáveis do sistema”;
7.1. Adicione o seguinte endereço ao campo Valor da variável:
7.2.%JAVA_HOME%bin
7.3. Clique em OK;
8. Clique em OK;
9. Clique em OK.
114. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java
Para testar a aplicação temos que no botão
• Iniciar
• Executar
• Digitar CMD
115. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – JDK
Baixar o jdk e testar no prompt de comando
$: Java –version
Testar o compilador
$: Javac –version
$: Java –version
$: Java –version
$: Java –version
116. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java
Para criar a 1ª aplicação
Digite
Edit teste.java
e digite o codigo
117. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java
• Saia do editor pressionando ALT + F e X, se a versão do MS-DOS for em
português a combinação de teclas será diferente (provavelmente ALT + A e R),
ao sair, o editor perguntará se você deseja salvar. Escolha a opção afirmativa.
• Retorne ao console e digite: javac Teste.java. Este comando irá compilar a
nossa classe e gerar o bytecode (Teste.class).
• Após a geração do arquivo compilado (.class) digite: java Teste. Este comando
invoca o interpretador que irá transformar o nosso bytecode em código de
máquina.
• Pronto.
118. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Vamos lá
• Exercicio
120. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Tipos de Dados
• Esses tipos são conhecidos como Tipos de Dados Primitivos. Como podemos observar a
linguagem Java oferece diversos tipos de dados com os quais podemos trabalhar. Há
basicamente duas categorias em que se encaixam os tipos de dados: tipos primitivos e tipos
de referências. Os tipos primitivos correspondem a dados mais simples ou escalares, enquanto
os tipos de referências consistem em arrays, classes e interfaces. Estes serão vistos nos
módulos subseqüentes.
121. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Tipos de Dados
122. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Tipos de Dados
• Exercicio: vamos testar cada tipo de dados
123. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Tipos de Dados
• Exercicio:
124. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Tipos de Dados
• Exercicio:
125. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Tipos de Dados
• Exercicio:
126. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Java – Tipos de Dados
• Exercicio:
127. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
128. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
• Build – Build Bundle(s) / APK(s) – Build APK(s)
129. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
130. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
• Clicar em LOCALE
131. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
132. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
133. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
• Clique no Application que você vai
instalar
134. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
• Clique em INSTALAR
135. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
• Clique em
• Instalar assim mesmo
136. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
• Optei em clicar em Enviar´para um
teste
137. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
• Clique em “Abrir”
138. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK para testar no celular
139. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Vamos para prática?
Gerando APK para testar no celular
140. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
141. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
• Build – Make Project
142. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
143. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
• Clicar em LOCALE
144. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
145. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
146. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
• Clique no Application que você vai
instalar
147. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
• Clique em INSTALAR
148. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
• Clique em
• Instalar assim mesmo
149. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
• Optei em clicar em Enviar´para um
teste
150. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
• Clique em “Abrir”
151. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando APK pelo Make Project
152. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Vamos para prática?
Gerando APK pelo Make Project
153. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
154. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
155. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
156. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
157. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
158. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
159. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
160. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
161. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
162. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Depurando no Celular
163. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Vamos para prática?
Depurando no Celular
164. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Presença
165. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Gerando a assinatura do APK
166. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Build – Genered Signed Bundle
167. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
APK - NEXT
168. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Preencher
169. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Preencher
170. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Preencher
171. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
• Ideias de app desenvolver para a cidade de Manaus
– Ideias alcançáveis e tangíveis
172. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Android
Introduzindo componentes TextView e Button na Activity
173. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
• Colocar numa Empty Activity:
– TextView (“Olá CENTEC!”)
– Button
• Ao clicar no Botão:
– Mudar o texto do TextView para:
(“Botão Clicado”)
• Código de exemplo:
Dontpad.com/cassina_diogo/
174. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
• Colocar numa Empty Activity:
– TextView (“Oi, seu nome!”)
– TextView (“Tudo bem?”)
– Button
• Ao clicar no Botão:
– TextView (“Tudo bem?”)
– TextView (“Oi, seu nome!”)
• Código de exemplo:
pg128
String txt1 = (edt1).getText().toString();
edt2.setText(txt1);
175. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
• Ideias de app desenvolver para a cidade de Manaus
– Ideias alcançáveis e tangíveis
176. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
• Ideias de app desenvolver para a cidade de Manaus
– Ideias alcançáveis e tangíveis
177. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
1) Calculadora
2) Combustível
• New Project
• Login Activity
• Menu “RUN”
– “run APP”
• Hint Gasolina
• Text “”
• Display 3
• All Tributes
BackgroundTInt
início
Fim
Gas*0,7<Etanol
Abastecer
com Gasolina
Abastecer
com Etanol
Etanol >Gas*0,7
178. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
1) Exportar Projeto
2) Importar Projeto
início
Fim
Gas*0,7<Etanol
Abastecer
com Gasolina
Abastecer
com Etanol
Etanol >Gas*0,7
179. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
1) Calculadora
2) Combustível
• New Project
• Navigation Drawer
Activity
• Menu “RUN”
– “run APP”
• Hint Gasolina
• Text “”
• Display 3
• All Tributes
BackgroundTInt
início
Fim
Gas*0,7<Etanol
Abastecer
com Gasolina
Abastecer
com Etanol
Etanol >Gas*0,7
180. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Exercício
1) Aplicar tratamento de erro
2) Sugestão de preço
1) Abasteça com
gasolina
2) Caso contrario o
álcool custasse
2.90 ou menos
início
Fim
Gas*0,7<Etanol
Abastecer
com Gasolina
Abastecer
com Etanol
Etanol >Gas*0,7
181. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
182. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
183. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
184. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
185. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
186. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
187. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
188. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
189. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
190. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Adicionar ícone
191. Prof. Esp. Diogo Rafael da Silva
ans.diogo@hotmail.com
Entrega da Atividade de Ontem
• https://forms.gle/7UTd5YNwi9HDiGYG9