SlideShare ist ein Scribd-Unternehmen logo
1 von 61
Aula 01
Configurando ambiente
Introdução
 Android é um sistema operacional voltado para
dispositivos móveis

 Desenvolvido pela OHA - Open Handset Alliance
(aliança entre várias empresas:
Google, HTC, LG, Samsung, Motorola...)

 Sistema Operacional baseado no kernel 2.6 do Linux e
kernel 3.x(Android versão 4.0 ou superior)
Introdução
 Seu código é open source sob licença Apache,
permitindo que seja modificado livremente e
redistribuídos

 O ambiente de desenvolvimento oficial é o Eclipse +
plugin ADT(Android Development Tools), usando a
linguagem Java

 Laptops, netbooks, smartbooks e TVs inteligentes já
estçao utilizando o sistema operacional Android
Ambientação
 Download do Android ADT Bundle, encontrado em
http://developer.android.com/sdk/index.html

 No ADT Bundle já se encontram todos os softwares
que antes eram necessários ser baixados
separadamente: Eclipse + ADT plugin, Android SDK
Tools, Android Platform-tools, etc.
Criando uma aplicação
 Com o Eclipse aberto(e já ambientado), basta clicar
em File -> New -> Android Application Project

 Será necessário preencher alguns campos:
 Application Name – nome da aplicação
 Project Name – nome do projeto no Eclipse
 Package Name – parâmetro bastante importante pois
serve como identificador único(dentre todos os outros
publicados no Google Play) da aplicação
 Acitivity Name – nome da Activity
 Layout Name – nome do layout da tela inicial
Dalvik Debug Monitor Server
(DDMS)
 Ferramenta que possui diversas funções que
interagem com o emulador ou o próprio celular

 É possível utilizá-la para visualizar logs da aplicação,
simular ligações telefônicas, simular envio de SMS,
simular uma posição GPS, etc
LogCat
 Local onde são exibidas as mensagens de log da
aplicação

 Se o método System.out.println() for chamado, sua
saída não será no console, como de costume, e sim no
LogCat
LogCat
 Tipos de logs:






Informação – Log.i(“”,””)
Erro – Log.e(“”, “”)
Verbose – Log.v(“”,””)
Alerta – Log.w(“”,””)
Debug – Log.d(“”,””)

 Cada tipo tem uma cor, melhorando a visualização no
LogCat
Arquivos gerados
 activity_main.xml
 Localizado na pasta /res/layout
 Define a interface gráfica que será apresentada na tela
da aplicação
 Arquivo criado com basicamente duas tags:
<RelativeLayout> e <TextView>
 A tag <RelativaLayout> indica que o layout raiz da
aplicação será do tipo relativo
 A tag <TextView>, localizada dentro da tag
<RelativeLayout>, indica que a telá terá uma View do tipo
TextView localizada no centro
Arquivos gerados
 strings.xml
 Localizado na pasta /res/values
 Permite a organização de todas as mensagens da aplicação
 Além de ser uma boa prática de programação, facilita a
internacionalização do aplicativo

 R.java
 Classe gerada automaticamente
 Contém constantes de todos os recursos da aplicação(recursos
estão localizados na pasta /res)
 Toda vez que um arquivo da pasta /res é retirado, adicionado
ou modificado, a classe R.java é regerada
Arquivos gerados
 MainActivity.java
 Localizado no pacote definido no momento da criação do
projeto
 Classe que herda de Activity, representa uma tela na
aplicação
 Responsável por tratar os eventos de tela, como um
clique em um botão, por exemplo
 O primeiro método disparado dessa classe é o
onCreate(Bundle). Nesse método é definido que o layout
que será utilizado é o acitivity_main.xml
Arquivos gerados
 AndroidManifest.xml
 Funciona como o coração da aplicação
 Contém todas as configurações de uma aplicação:







Nome da aplicação
Pacote da aplicação
Declaração de Activities
Declaração de Services
Declaração de BroadcastReceivers
Quais permissões a aplicação necessitará para ser
executada
 Ícone da aplicação
Aula 02
Activites e views básicas
O que é uma Activity?
 Representa uma tela do aplicativo

 Trata os eventos ocorridos – Ex: onClick
 setContentView(View): define a interface que será
usada

 onCreate (Bundle)
 AndroidManifest .xml
 Layout em xml
Exemplo activity
AndroidManifest.xml
Ciclo de vida
Ciclo de vida
 onCreate(Bundle)

 onStart()
 onResume()
 onPause()
 onStop()
 onDestroy()

 onRestart()
View
 Superclasse das classes de interface (UI) que
interagem com o usuário

 Propriedades:







Layout – Tamanho do controle. Ex: (match, fill..)
Padding – Distância para a margem
Gravity – Define a posição (ex: center, left, top..)
Text
Background
Entre outras…
TextView

 Representa um texto na tela
 Similar ao JLabel do Swing
 Alguns tipos comuns: normal, com
hint, autolink, password, etc..
EditText
 Utilizado para entrada de
texto

 Similar ao JTextField no
Swing

 Tipos de entrada: texto
normal, apenas números,
senha, etc
Button

 Cria um botão na tela

 Normalmente associado a um evento de
onClick, definido no XML ou criado listener na activity
Button - XML
 1o: Define propriedade no nó do botão:

 2o: Cria método na Activity
Button - onClickListener
 1o: Faça a activity implementar onClickListener:

 2o: Implementar o método onClick(View v)

 Solução alternativa: classe anônima!
Outras Views
 CheckBox

 ToggleButton

 Radio Button
Outras Views
 Spinner

 ImageView

 SeekBar
Prática
 Criar uma calculadora de IMC (peso/altura^2)
(kg/m^2), que receba o peso e a altura do usuário
(EditText ou SeekBar), calcule e exiba o resultado
(TextView, Image, etc) conforme a tabela abaixo:
Aula 03
Layouts
Layout
 Classes que herdam de ViewGroup

 Usados para organizar componentes graficos na tela

 Podem ser desenhados de duas formas:
 Via XML, pelo plugin gráfico do Eclipse
 Via programação, em tempo de execução
Linear Layout
 Exibe seus componentes em uma única direção:
horizontal ou vertical
FrameLayout
 Organiza seus componentes em forma de pilha, sendo
o último componente adicionado o do topo da pilha

 Muito utilizado quando se quer ter uma imagem de
fundo
FrameLayout
RelativeLayout
 Ajusta seus componentes atraves de relacionamentos
entre os próprios componentes ou ao seu pai

 Desvantagem: caso seja alterado a posição de um
componente, pode acontecer de os outros
componentes da tela perderem suas posições
originais, pois um componente sempre estará
posicionado em relação a outro.
RelativeLayout
ScrollView
 Classe que herda de Frame Layout

 É bastante utilizada quando a tela possui muitos
elementos, necessitando de um scroll.
Exemplo - Instagram
Exemplo - Facebook
Exemplo - Foursquare
Prática 02
 Criar três activites, navegando entre elas usando um menu (criado
com linear, table ou fragments), tal que o conteúdo das activites
contenha:

 activity1) três editText e três botões, dispostos em linhas
 activity2) 4 imagens dispostas nos cantos + um botão no na parte
inferior ocupando toda a linha

 activity3) Uma imagem grande, maior que a tela, com a opção de
visualizar toda

 observação: certifique-se que não há grandes diferenças entre
telas pequenas e telas grandes (de 2.7'' a 10.1''), principalmente
na activity2
Prática 02 – Activity 1
Prática 02 – Activity 2
Prática 02 – Activity 3
Aula 04
Views avançadas e notification
Toast
 Exibe uma mensagem temporária ao usuário

 Não interage com o usuário
Notifications
 Classe que representa uma notificação ao usuário

 Se localiza na barra de status do celular
 Bastante utilizada para notificar o usuário que algo
ocorreu de modo que não atrapalhe o que ele está
fazendo no momento
Notifications
ListActiviy
 Activity especial para listar elementos, com uma
listView interna

 Scrollable
 Necessário preencher um ArrayAdapter para mostrar
os dados

 onListItemClick(ListView l, View v, int position, long id)
Dialog
 Pequena janela que exibe um alerta para o usuário e
pode aguardar uma tomada de decisão dele
LayoutInflate
 Transforma um layout XML em uma View

 Usado quando se quer modificar um layout em tempo
de execução
Aula 05
Intents e recursos do dispositivo
Intent
 “Intenção” de fazer algo
 Classe que representa uma mensagem enviada ao
sistema operacional

 Pode ser utilizada para:







Abrir uma Activity da aplicação atual
Abrir uma Activity de outra aplicação
Abrir o Google maps
Abrir o browser
Abrir o aplicativo de câmera fotográfica
etc
Abrindo o browser
Abrindo a agenda de contatos
Fazendo uma ligação
Mostrando um endereço no
Google Maps
Pratica 04
 Criar uma Activity que capture um Intent enviado por
uma nova Activity, de outra aplicação.


Aula 06
Banco de dados: SQLite
SharedPreferences
SQLite
 Biblioteca escrita em linguagem C que implementa um
banco de dados SQL

 Rápido, leve e poderoso
 Multiplataforma

 Suporta tipo de dados integer, real, text e blob
 Uma das formas de persistir dados no Android
SQLite
 Não necessita de instalação, configuração ou
administração

 Escreve os dados no próprio disco do dispositivo(a
biblioteca não se conecta a um servidor de banco de
dados)

 Não permite que os dados de uma aplicação sejam
acessados por outra aplicação
SharedPreferences
 Permite salvar dados do tipo

primitivo(boolean’s, float’s, int’s, long’s, e string’s) na forma
de chave-valor

 Os dados ficam salvos mesmo quando a aplicação é
fechada

 SharedPreferences geralmente não é utilizado para salvar
grandes cargas de dados, mas apenas para salvar
configurações de usuário ou configurações da própria
aplicação

 Um exemplo bastante utilizado é salvar o login e senha de
um usuário. Isto faz que o usuário não necessite digitar seu
login e senha sempre
Aula 07
Utilizando Services
Aula 08
Dúvidas e projetos

Weitere ähnliche Inhalte

Was ist angesagt?

Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Gabriel Jesus
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swingArmando Daniel
 
Wind 7 passo a passo
Wind 7 passo a passoWind 7 passo a passo
Wind 7 passo a passofernandesabza
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Strutseduan
 
Aula 03 04 e 5 o desktop do windows 7
Aula 03 04 e 5   o desktop do windows 7Aula 03 04 e 5   o desktop do windows 7
Aula 03 04 e 5 o desktop do windows 7Boris Junior
 
Introdução ao desenvolvimento de aplicativos com interface gráfica
Introdução ao desenvolvimento de aplicativos com interface gráficaIntrodução ao desenvolvimento de aplicativos com interface gráfica
Introdução ao desenvolvimento de aplicativos com interface gráficaArtur Barreto
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações AndroidFelipe Silveira
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeansSliedesharessbarbosa
 
Aula 06 personalizando o windows 7
Aula 06   personalizando o windows 7Aula 06   personalizando o windows 7
Aula 06 personalizando o windows 7Boris Junior
 
Window Maker
Window MakerWindow Maker
Window Makerang3lus
 

Was ist angesagt? (17)

Apostila microsoft visual basic
Apostila microsoft visual basicApostila microsoft visual basic
Apostila microsoft visual basic
 
Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.Apresentação-Resumo sobre o Java Swing.
Apresentação-Resumo sobre o Java Swing.
 
Java interface gráfica swing
Java   interface gráfica swingJava   interface gráfica swing
Java interface gráfica swing
 
Curso Básico Android - Aula 05
Curso Básico Android - Aula 05Curso Básico Android - Aula 05
Curso Básico Android - Aula 05
 
Java Swing
Java SwingJava Swing
Java Swing
 
Wind 7 passo a passo
Wind 7 passo a passoWind 7 passo a passo
Wind 7 passo a passo
 
Curso Básico Android - Aula 03
Curso Básico Android - Aula 03Curso Básico Android - Aula 03
Curso Básico Android - Aula 03
 
Spring & Struts
Spring & StrutsSpring & Struts
Spring & Struts
 
Apostila do windows 7 2011-1
Apostila do windows 7   2011-1Apostila do windows 7   2011-1
Apostila do windows 7 2011-1
 
Aula 03 04 e 5 o desktop do windows 7
Aula 03 04 e 5   o desktop do windows 7Aula 03 04 e 5   o desktop do windows 7
Aula 03 04 e 5 o desktop do windows 7
 
Curso Básico Android - Aula 02
Curso Básico Android - Aula 02Curso Básico Android - Aula 02
Curso Básico Android - Aula 02
 
Introdução ao desenvolvimento de aplicativos com interface gráfica
Introdução ao desenvolvimento de aplicativos com interface gráficaIntrodução ao desenvolvimento de aplicativos com interface gráfica
Introdução ao desenvolvimento de aplicativos com interface gráfica
 
Android Core Aula 6 - Desenvolvimento de aplicações Android
Android Core Aula 6 -  Desenvolvimento de aplicações AndroidAndroid Core Aula 6 -  Desenvolvimento de aplicações Android
Android Core Aula 6 - Desenvolvimento de aplicações Android
 
Construindo aplicações com netbeans
Construindo aplicações com netbeansConstruindo aplicações com netbeans
Construindo aplicações com netbeans
 
Aula 06 personalizando o windows 7
Aula 06   personalizando o windows 7Aula 06   personalizando o windows 7
Aula 06 personalizando o windows 7
 
Java AWT
Java AWTJava AWT
Java AWT
 
Window Maker
Window MakerWindow Maker
Window Maker
 

Andere mochten auch

Curso de android
Curso de androidCurso de android
Curso de androidflaviokreis
 
Minicurso de Android Básico I - Dia 2
Minicurso de Android Básico I - Dia 2Minicurso de Android Básico I - Dia 2
Minicurso de Android Básico I - Dia 2Thales Levi
 
Curso Android Slide 5 Deploy - Wellington Pinto de Oliveira
Curso Android Slide 5 Deploy - Wellington Pinto de OliveiraCurso Android Slide 5 Deploy - Wellington Pinto de Oliveira
Curso Android Slide 5 Deploy - Wellington Pinto de OliveiraWellington Oliveira
 
Webinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADA
Webinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADAWebinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADA
Webinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADAAVEVA
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteWellington Oliveira
 
Construindo sua primeira aplicação android
Construindo sua primeira aplicação androidConstruindo sua primeira aplicação android
Construindo sua primeira aplicação android666Insanity
 
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de OliveiraCurso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de OliveiraWellington Oliveira
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para AndroidClaudio Pereira
 
Desenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidDesenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidMayron Cachina
 
Instalação de Aplicativos Linux
Instalação de Aplicativos LinuxInstalação de Aplicativos Linux
Instalação de Aplicativos LinuxWellington Oliveira
 
Android 02 - Recycler View Adapter
Android 02 - Recycler View AdapterAndroid 02 - Recycler View Adapter
Android 02 - Recycler View AdapterAline Borges
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidJosé Alexandre Macedo
 
Curso Android 01: Introdução
Curso Android 01: IntroduçãoCurso Android 01: Introdução
Curso Android 01: IntroduçãoAline Borges
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidIury Teixeira
 
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidDesenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidLucas Aquiles
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Tchelinux
 

Andere mochten auch (20)

Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Curso de java
Curso de javaCurso de java
Curso de java
 
Curso de android
Curso de androidCurso de android
Curso de android
 
Minicurso de Android Básico I - Dia 2
Minicurso de Android Básico I - Dia 2Minicurso de Android Básico I - Dia 2
Minicurso de Android Básico I - Dia 2
 
Curso Android Slide 5 Deploy - Wellington Pinto de Oliveira
Curso Android Slide 5 Deploy - Wellington Pinto de OliveiraCurso Android Slide 5 Deploy - Wellington Pinto de Oliveira
Curso Android Slide 5 Deploy - Wellington Pinto de Oliveira
 
Webinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADA
Webinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADAWebinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADA
Webinar: Usando o InduSoft Web Studio para Criar Gráficos HTML5 IHM/SCADA
 
Redes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de TransporteRedes de Computadores Capítulo 6 - Camada de Transporte
Redes de Computadores Capítulo 6 - Camada de Transporte
 
Construindo sua primeira aplicação android
Construindo sua primeira aplicação androidConstruindo sua primeira aplicação android
Construindo sua primeira aplicação android
 
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de OliveiraCurso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
Curso Android Slide 2 Introdução Plataforma - Wellington PInto de Oliveira
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Desenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com AndroidDesenvolvendo Aplicativos com Android
Desenvolvendo Aplicativos com Android
 
Instalação de Aplicativos Linux
Instalação de Aplicativos LinuxInstalação de Aplicativos Linux
Instalação de Aplicativos Linux
 
Android 02 - Recycler View Adapter
Android 02 - Recycler View AdapterAndroid 02 - Recycler View Adapter
Android 02 - Recycler View Adapter
 
Desenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma AndroidDesenvolvimento de Aplicativos para a Plataforma Android
Desenvolvimento de Aplicativos para a Plataforma Android
 
Curso Android 01: Introdução
Curso Android 01: IntroduçãoCurso Android 01: Introdução
Curso Android 01: Introdução
 
Apostila Android
Apostila AndroidApostila Android
Apostila Android
 
Android Firebase
Android FirebaseAndroid Firebase
Android Firebase
 
Orientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores AndroidOrientação a Objetos para Desenvolvedores Android
Orientação a Objetos para Desenvolvedores Android
 
Desenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google androidDesenvolvimento de aplicações para a plataforma google android
Desenvolvimento de aplicações para a plataforma google android
 
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
Desenvolvendo aplicações em Java para o Google Android - Ranieri de Souza Fer...
 

Ähnlich wie Configurando ambiente Android

Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Rodrigo Rocha
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidRodolfo Faquin Della Justina
 
Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com androidRicardo Ogliari
 
Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Erisvaldo Junior
 
Java - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionalJava - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionala41172
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para AndroidJorge Cardoso
 
Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoLuiz Carvalho
 
Android Palestra
Android PalestraAndroid Palestra
Android PalestraRenato
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOSDevmedia
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com PythonLuiz Aldabalde
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com PythonPythOnRio
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Laís Vidal
 

Ähnlich wie Configurando ambiente Android (20)

Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Dê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com AndroidDê seus primeiros passos no desenvolvimento com Android
Dê seus primeiros passos no desenvolvimento com Android
 
Como criar interfaces gráficas com android
Como criar interfaces gráficas com androidComo criar interfaces gráficas com android
Como criar interfaces gráficas com android
 
Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2Desenvolvimento de Apps e Games para Android - Parte 2
Desenvolvimento de Apps e Games para Android - Parte 2
 
Hello World Android
Hello World AndroidHello World Android
Hello World Android
 
Java - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissionalJava - Gestão de componentes curso profissional
Java - Gestão de componentes curso profissional
 
Introdução à programação para Android
Introdução à programação para AndroidIntrodução à programação para Android
Introdução à programação para Android
 
Curso de Introdução ao Android Básico
Curso de Introdução ao Android BásicoCurso de Introdução ao Android Básico
Curso de Introdução ao Android Básico
 
Android
AndroidAndroid
Android
 
Android Palestra
Android PalestraAndroid Palestra
Android Palestra
 
Pdm -final
Pdm  -finalPdm  -final
Pdm -final
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Android - Notas de aula
Android - Notas de aulaAndroid - Notas de aula
Android - Notas de aula
 
Introdução a programação para plataforma iOS
Introdução a programação para plataforma iOSIntrodução a programação para plataforma iOS
Introdução a programação para plataforma iOS
 
Aula1 c++ builder
Aula1   c++ builderAula1   c++ builder
Aula1 c++ builder
 
Entendendo Frameworks web com Python
Entendendo Frameworks web com PythonEntendendo Frameworks web com Python
Entendendo Frameworks web com Python
 
Entendendo Framework Web com Python
Entendendo Framework Web com PythonEntendendo Framework Web com Python
Entendendo Framework Web com Python
 
Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012Aula 1 -_ambiente_visual_studio_2012
Aula 1 -_ambiente_visual_studio_2012
 
Framework Miolo
Framework MioloFramework Miolo
Framework Miolo
 

Configurando ambiente Android

  • 2. Introdução  Android é um sistema operacional voltado para dispositivos móveis  Desenvolvido pela OHA - Open Handset Alliance (aliança entre várias empresas: Google, HTC, LG, Samsung, Motorola...)  Sistema Operacional baseado no kernel 2.6 do Linux e kernel 3.x(Android versão 4.0 ou superior)
  • 3. Introdução  Seu código é open source sob licença Apache, permitindo que seja modificado livremente e redistribuídos  O ambiente de desenvolvimento oficial é o Eclipse + plugin ADT(Android Development Tools), usando a linguagem Java  Laptops, netbooks, smartbooks e TVs inteligentes já estçao utilizando o sistema operacional Android
  • 4. Ambientação  Download do Android ADT Bundle, encontrado em http://developer.android.com/sdk/index.html  No ADT Bundle já se encontram todos os softwares que antes eram necessários ser baixados separadamente: Eclipse + ADT plugin, Android SDK Tools, Android Platform-tools, etc.
  • 5. Criando uma aplicação  Com o Eclipse aberto(e já ambientado), basta clicar em File -> New -> Android Application Project  Será necessário preencher alguns campos:  Application Name – nome da aplicação  Project Name – nome do projeto no Eclipse  Package Name – parâmetro bastante importante pois serve como identificador único(dentre todos os outros publicados no Google Play) da aplicação  Acitivity Name – nome da Activity  Layout Name – nome do layout da tela inicial
  • 6. Dalvik Debug Monitor Server (DDMS)  Ferramenta que possui diversas funções que interagem com o emulador ou o próprio celular  É possível utilizá-la para visualizar logs da aplicação, simular ligações telefônicas, simular envio de SMS, simular uma posição GPS, etc
  • 7. LogCat  Local onde são exibidas as mensagens de log da aplicação  Se o método System.out.println() for chamado, sua saída não será no console, como de costume, e sim no LogCat
  • 8. LogCat  Tipos de logs:      Informação – Log.i(“”,””) Erro – Log.e(“”, “”) Verbose – Log.v(“”,””) Alerta – Log.w(“”,””) Debug – Log.d(“”,””)  Cada tipo tem uma cor, melhorando a visualização no LogCat
  • 9. Arquivos gerados  activity_main.xml  Localizado na pasta /res/layout  Define a interface gráfica que será apresentada na tela da aplicação  Arquivo criado com basicamente duas tags: <RelativeLayout> e <TextView>  A tag <RelativaLayout> indica que o layout raiz da aplicação será do tipo relativo  A tag <TextView>, localizada dentro da tag <RelativeLayout>, indica que a telá terá uma View do tipo TextView localizada no centro
  • 10. Arquivos gerados  strings.xml  Localizado na pasta /res/values  Permite a organização de todas as mensagens da aplicação  Além de ser uma boa prática de programação, facilita a internacionalização do aplicativo  R.java  Classe gerada automaticamente  Contém constantes de todos os recursos da aplicação(recursos estão localizados na pasta /res)  Toda vez que um arquivo da pasta /res é retirado, adicionado ou modificado, a classe R.java é regerada
  • 11. Arquivos gerados  MainActivity.java  Localizado no pacote definido no momento da criação do projeto  Classe que herda de Activity, representa uma tela na aplicação  Responsável por tratar os eventos de tela, como um clique em um botão, por exemplo  O primeiro método disparado dessa classe é o onCreate(Bundle). Nesse método é definido que o layout que será utilizado é o acitivity_main.xml
  • 12. Arquivos gerados  AndroidManifest.xml  Funciona como o coração da aplicação  Contém todas as configurações de uma aplicação:       Nome da aplicação Pacote da aplicação Declaração de Activities Declaração de Services Declaração de BroadcastReceivers Quais permissões a aplicação necessitará para ser executada  Ícone da aplicação
  • 13. Aula 02 Activites e views básicas
  • 14. O que é uma Activity?  Representa uma tela do aplicativo  Trata os eventos ocorridos – Ex: onClick  setContentView(View): define a interface que será usada  onCreate (Bundle)  AndroidManifest .xml  Layout em xml
  • 17. Ciclo de vida  onCreate(Bundle)  onStart()  onResume()  onPause()  onStop()  onDestroy()  onRestart()
  • 18. View  Superclasse das classes de interface (UI) que interagem com o usuário  Propriedades:       Layout – Tamanho do controle. Ex: (match, fill..) Padding – Distância para a margem Gravity – Define a posição (ex: center, left, top..) Text Background Entre outras…
  • 19. TextView  Representa um texto na tela  Similar ao JLabel do Swing  Alguns tipos comuns: normal, com hint, autolink, password, etc..
  • 20. EditText  Utilizado para entrada de texto  Similar ao JTextField no Swing  Tipos de entrada: texto normal, apenas números, senha, etc
  • 21. Button  Cria um botão na tela  Normalmente associado a um evento de onClick, definido no XML ou criado listener na activity
  • 22. Button - XML  1o: Define propriedade no nó do botão:  2o: Cria método na Activity
  • 23. Button - onClickListener  1o: Faça a activity implementar onClickListener:  2o: Implementar o método onClick(View v)  Solução alternativa: classe anônima!
  • 24. Outras Views  CheckBox  ToggleButton  Radio Button
  • 25. Outras Views  Spinner  ImageView  SeekBar
  • 26. Prática  Criar uma calculadora de IMC (peso/altura^2) (kg/m^2), que receba o peso e a altura do usuário (EditText ou SeekBar), calcule e exiba o resultado (TextView, Image, etc) conforme a tabela abaixo:
  • 28. Layout  Classes que herdam de ViewGroup  Usados para organizar componentes graficos na tela  Podem ser desenhados de duas formas:  Via XML, pelo plugin gráfico do Eclipse  Via programação, em tempo de execução
  • 29. Linear Layout  Exibe seus componentes em uma única direção: horizontal ou vertical
  • 30. FrameLayout  Organiza seus componentes em forma de pilha, sendo o último componente adicionado o do topo da pilha  Muito utilizado quando se quer ter uma imagem de fundo
  • 32. RelativeLayout  Ajusta seus componentes atraves de relacionamentos entre os próprios componentes ou ao seu pai  Desvantagem: caso seja alterado a posição de um componente, pode acontecer de os outros componentes da tela perderem suas posições originais, pois um componente sempre estará posicionado em relação a outro.
  • 34. ScrollView  Classe que herda de Frame Layout  É bastante utilizada quando a tela possui muitos elementos, necessitando de um scroll.
  • 38. Prática 02  Criar três activites, navegando entre elas usando um menu (criado com linear, table ou fragments), tal que o conteúdo das activites contenha:  activity1) três editText e três botões, dispostos em linhas  activity2) 4 imagens dispostas nos cantos + um botão no na parte inferior ocupando toda a linha  activity3) Uma imagem grande, maior que a tela, com a opção de visualizar toda  observação: certifique-se que não há grandes diferenças entre telas pequenas e telas grandes (de 2.7'' a 10.1''), principalmente na activity2
  • 39. Prática 02 – Activity 1
  • 40. Prática 02 – Activity 2
  • 41. Prática 02 – Activity 3
  • 42. Aula 04 Views avançadas e notification
  • 43. Toast  Exibe uma mensagem temporária ao usuário  Não interage com o usuário
  • 44. Notifications  Classe que representa uma notificação ao usuário  Se localiza na barra de status do celular  Bastante utilizada para notificar o usuário que algo ocorreu de modo que não atrapalhe o que ele está fazendo no momento
  • 46. ListActiviy  Activity especial para listar elementos, com uma listView interna  Scrollable  Necessário preencher um ArrayAdapter para mostrar os dados  onListItemClick(ListView l, View v, int position, long id)
  • 47. Dialog  Pequena janela que exibe um alerta para o usuário e pode aguardar uma tomada de decisão dele
  • 48. LayoutInflate  Transforma um layout XML em uma View  Usado quando se quer modificar um layout em tempo de execução
  • 49. Aula 05 Intents e recursos do dispositivo
  • 50. Intent  “Intenção” de fazer algo  Classe que representa uma mensagem enviada ao sistema operacional  Pode ser utilizada para:       Abrir uma Activity da aplicação atual Abrir uma Activity de outra aplicação Abrir o Google maps Abrir o browser Abrir o aplicativo de câmera fotográfica etc
  • 52. Abrindo a agenda de contatos
  • 54. Mostrando um endereço no Google Maps
  • 55. Pratica 04  Criar uma Activity que capture um Intent enviado por uma nova Activity, de outra aplicação. 
  • 56. Aula 06 Banco de dados: SQLite SharedPreferences
  • 57. SQLite  Biblioteca escrita em linguagem C que implementa um banco de dados SQL  Rápido, leve e poderoso  Multiplataforma  Suporta tipo de dados integer, real, text e blob  Uma das formas de persistir dados no Android
  • 58. SQLite  Não necessita de instalação, configuração ou administração  Escreve os dados no próprio disco do dispositivo(a biblioteca não se conecta a um servidor de banco de dados)  Não permite que os dados de uma aplicação sejam acessados por outra aplicação
  • 59. SharedPreferences  Permite salvar dados do tipo primitivo(boolean’s, float’s, int’s, long’s, e string’s) na forma de chave-valor  Os dados ficam salvos mesmo quando a aplicação é fechada  SharedPreferences geralmente não é utilizado para salvar grandes cargas de dados, mas apenas para salvar configurações de usuário ou configurações da própria aplicação  Um exemplo bastante utilizado é salvar o login e senha de um usuário. Isto faz que o usuário não necessite digitar seu login e senha sempre
  • 61. Aula 08 Dúvidas e projetos

Hinweis der Redaktion

  1. Bundle: a mapping from string values to various Parcelable type
  2. onCreate(Bundle):Como já visto anteriormente, é o primeiro método a ser executado quando uma activity é lançada. Geralemente é responsável por carregar os layouts XML e outras operações de inicialização. É executado somente uma vez durante a “vida útil” de uma Activity.onStart(): É chamado quando a Activity está ficando visível para o usuário. Dependendo do estado da aplicação, esse método pode ser chamado após o onCreate() ou depois do onRestart(), que é quando a aplicação que estava em background volta a ter focoonResume(): É chamado quando a Activity está executando como Activity principal, ou seja, quando ela está no topo da pilha.onPause(): Método chamado quando a Activity do topo da pilha é interrompida por algum motivo(uma ligação recebida, por exemplo). É nesse método que o estado da aplicação é salvo para quando a voltar a executar, tudo possa ser recuperado.onStop(): Chamado quando uma Activity perde completamente o foco(uma outra Activity é iniciada, por exemplo). Em seguida é chamado o método onDestroy()(quando a Acitivity for encerrada) ou o método onRestart(quando a Activity for reiniciada)onDestroy(): É chamado quando uma Activity é finalizada. Pode ser chamado pelo método finish() da aplicação, ou quando o só decide liberar recursos. É executado somente uma vez durante a “vida útil” de uma Activity.onRestart(): Chamada imediatamente antes do onStart(), quando uma Activity volta a ter foco depois de estar em background.