SlideShare uma empresa Scribd logo
Desenvolvimento de
Apps e Games para Android




Por Erisvaldo Júnior.   Parte 4 (14/09/2011)
RECAPITULANDO…
Cada View tem propriedades de
Interface e também listeners de eventos
Não é necessário iniciar outra Activity, você
pode simplesmente mostrar uma Dialog
Se quiser iniciar outra Activity, basta usar o
        método startActivity(Intent intent)




Exemplo: startActivity( new Intent( this, OutraActivity.class ) );
Roteiro da Aula



       LOG E          SPLASH SCREEN        PERSISTÊNCIA
INTERNACIONALIZAÇÃO      E INTENT




                         Bem vindo ao mundo da mobilidade
LOG E
INTERNACIONALIZAÇÃO
android.util.Log

Classe de Log do Android. Permite armazenar logs de até cinco
tipos:
LogCat
Permite a visualização do Log. Disponível na perspectiva Debug do
ADT no Eclipse.
Internacionalização

1. Planejar como o App deve aparecer (imagens e textos) em
diferentes regiões e línguas, bem como um padrão.
Internacionalização

2. Organizar os recursos, mapeando as pastas values/ (strings.xml)
e res/ para cada região / linguagem suportada.
Internacionalização

3. Criar o strings.xml para cada linguagem.
Internacionalização

3. Criar o strings.xml para cada linguagem.
Internacionalização

4. Testar a aplicação no emulador.
SPLASH SCREEN E INTENT
Como criar uma Splash Screen
Activity em Tela Cheia (Full Screen)
Classe Intent
     Um objeto Intent é uma mensagem composta por duas partes: action e data.


• ACTION – ação a ser realizada.
       Exemplos: ACTION_VIEW, ACTION_EDIT, ACTION_DIAL, ACTION_MAIN, etc;

• DATA – dados a serem operados, geralmente expressado por uma URI (Identificador
  Uniforme de Recursos).


       Um objeto Intent pode ser usado de duas formas: Explícita ou Implícita.

• EXPLÍCITA – especifica o componente que provê a classe que será executada.
  Frequentemente não possui informações extras. Usado geralmente para navegar entre
  activities dentro da aplicação.

• IMPLÍCITA – não especifica o componente, apenas fornece as informações e o sistema se
  encarrega de utilizar o melhor componente para executar esse Intent.
Intent para Activity, Service ou Broadcast Receiver



              startActivity( Intent intent )


 startService( Intent intent )     bindService(Intent, …)



sendBroadcast( Intent intent )          registerReceiver(…)
E no caso de Activity, quais as ações possíveis?

As principais são ACTION_MAIN e ACTION_EDIT
Para Broadcast Receivers… ?
Exemplo Activity Implícita
(acessar uma URL no Browser)
PERSISTÊNCIA
Era da Computação Ubíqua
Computação Móvel / Pervasiva / Ubíqua
Computação Móvel / Pervasiva / Ubíqua
Computação em Nuvem (Cloud Computing)
Computação em Nuvem (Cloud Computing)
Armazenamento de Dados
O Android provê diversas opções para armazenar dados da
aplicação. A escolha da melhor opção deve ser feita de acordo
com a necessidade: dados privados ou públicos, quantidade de
espaço necessário, etc.

 • Shared Preferences – Armazena dados primitivos em um
 conjunto de pares do tipo chave – valor;
 • Internal Storage – Armazena dados privados na memória do
 dispositivo;
 • External Storage – Armazena dados públicos na mídia externa
 de armazenamento;
 • SQLite Databases – Armazena dados estruturados em um banco
 de dados privado;
 • Network Connection – Armazena dados na web com o seu
 próprio servidor de rede.
Shared Preferences
A classe SharedPreferences provê um framework geral que
permite salvar e recuperar pares de dados primitivos do tipo
chave-valor. Os dados ficam armazenados mesmo quando a
aplicação é finalizada.


Para obter uma instância de SharedPreferences para a sua aplicação,
usa-se um dos métodos abaixo:

• getSharedPreferences() – use se você precisar de múltiplos
arquivos de preferências identificados por um nome que é passado
como parâmetro;
• getPreferences() – use se você precisar de um único arquivo de
preferências para a sua Activity. Como se trata de um único arquivo,
não é necessário fornecer um nome.
Shared Preferences
Internal Storage
Para criar e escrever em um arquivo privado para a memória
interna, chama-se o método openFileOutput() com o nome do
arquivo e o tipo de operação, obtendo-se um
FileOutputStream. Em seguida, basta escrever com o write() e
finalizar com close().




Já para ler um arquivo da memória interna, chama-se o método
openFileInput() passando o nome do arquivo a ser lido como
parâmetro. Esse método retorna um FileInputStream. Assim, basta
ler com read() e finalizar com close().
Internal Storage
Também é possível armazenar arquivos como cache, usando o
método getCacheDir() para obter uma instância de File na qual
sua aplicação possa salvar arquivos temporários de cache.

Quando o dispositivo está com pouca memória, o Android
pode excluir os arquivos de cache para recuperar espaço.
Contudo, é responsabilidade do desenvolver manter seus
arquivos de cache e usar apenas um espaço razoável com os
mesmos, como 1MB. Ao desinstalar o aplicativo, os arquivos de
cache do mesmo são removidos.


Outros métodos interessantes:

• getFilesDir() – retorna o caminho absoluto dos arquivos salvos;
• getDir() – Cria ou abre um diretório para armazenamento interno;
• deleteFile() – Exclui um arquivo;
• fileList() – Lista de arquivos atualmente salvos por sua aplicação.
External Storage
  Todo dispositivo Android suporta uma mídia externa de
  armazenamento. Pode ser um cartão removível (como SD Card)
  ou um espaço de armazenamento interno (não removível). Em
  ambos os casos, os arquivos podem ser lidos e modificados por
  outras aplicações ou pelo usuário quando se conecta o
  dispositivo via USB para transferência de dados.
Antes de se trabalhar com o armazenamento externo, deve-se chamar o método
       getExternalStorageState() para verificar se a mídia está disponível:
Acessando arquivos em um External Storage
No caso da API Level 8 (Android 2.2) ou superior, usa-se o
método getExternalFilesDir() para obter um File que
representa o diretório da mídia externa em que se deve salvar
seus arquivos. Esse método recebe como parâmetro o tipo de
subdiretório desejado, tais como DIRECTORY_MUSIC ou
DIRECTORY_RINGTONES. Caso se deseje armazenar na raiz,
passa-se null como parâmetro.


Já no caso da API Level 7 (Android 2.1) ou inferior, usa-se o
getExternalStorageDirectory(). Os dados serão armazenados em
/Android/data/nome_do_pacote/files/. O nome do pacote é no
estilo Java, por exemplo: “com.example.android.app”. Caso o usuário
desinstale a aplicação, esse diretório e todo o seu conteúdo será
excluído.
Salvando arquivos que devem ser compartilhados
Caso se queira salvar arquivos que não são específicos da
aplicação e devem permanecer mesmo após a aplicação ser
desinstalada, basta salvá-los em diretórios de armazenamento
públicos, tais como Music/, Pictures/, Ringtones/ e outros.

Na      API      Level      8      ou      superior,   usa-se
getExternalStoragePublicDirectory() passando como parâmetro o
tipo de diretório público que se deseja, tais como:
DIRECTORY_MUSIC, DIRECTORY_PICTURES, etc.


 Já no caso da API Level 7 ou inferior, usa-se o
 getExternalStorageDirectory(). Em seguida, salva-se os arquivos
 compartilhados em algum desses diretórios: Music/, Podcasts/,
 Ringtones/, Alarms/, Notifications/, Pictures/, Movies/ e Download/.
Salvando arquivos externos de cache

Na API Level 8 ou superior, usa-se getExternalCacheDir().



 Já no caso da API Level 7 ou inferior, usa-se o
 getExternalStorageDirectory(). Em seguida, salva-se os dados de
 cache no seguinte diretório:

 /Android/data/nome_do_pacote/cache/

 O nome do pacote é           no   estilo   Java.   Por   exemplo:
 “com.example.android.app”.
obrigado
• e-mail: erisvaldo@yupistudios.com.br
• web: http://erisvaldojunior.com
• twitter: @erisvaldojunior

Mais conteúdo relacionado

Mais procurados

Spring Data Jpa
Spring Data JpaSpring Data Jpa
Spring Data Jpa
Ivan Queiroz
 
PowerShell e Active Directory
PowerShell e Active DirectoryPowerShell e Active Directory
PowerShell e Active Directory
Wellington Oliveira
 
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Felipe Silveira
 
Odi tutorial configuração repositórios mestre e trabalho
Odi tutorial   configuração repositórios mestre e trabalhoOdi tutorial   configuração repositórios mestre e trabalho
Odi tutorial configuração repositórios mestre e trabalhoCaio Lima
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Erisvaldo Junior
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
Denis L Presciliano
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento ORNécio de Lima Veras
 
Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - BackupCaio Lima
 
Alguns comandos tais como Atribuir e revogar privilégios em SQL
Alguns comandos tais como Atribuir e revogar privilégios em SQLAlguns comandos tais como Atribuir e revogar privilégios em SQL
Alguns comandos tais como Atribuir e revogar privilégios em SQL
Tudosbinformatica .blogspot.com
 
Mini curso hibernate com anotações
Mini curso hibernate com anotaçõesMini curso hibernate com anotações
Mini curso hibernate com anotações
dieguinhomcz
 
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Elvis Rocha
 
Odi tutorial glossário e termos técnicos
Odi tutorial   glossário e termos técnicosOdi tutorial   glossário e termos técnicos
Odi tutorial glossário e termos técnicos
Caio Lima
 
Spring Data Jpa
Spring Data JpaSpring Data Jpa
Spring Data Jpa
Ivan Queiroz
 
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
Felipe Silveira
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7
Claudio Martins
 
xDocLet - Geração de código com xdoclet
xDocLet - Geração de código com xdocletxDocLet - Geração de código com xdoclet
xDocLet - Geração de código com xdoclet
Denis L Presciliano
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
antonio sérgio nogueira
 

Mais procurados (20)

Spring Data Jpa
Spring Data JpaSpring Data Jpa
Spring Data Jpa
 
Java 14
Java 14Java 14
Java 14
 
PowerShell e Active Directory
PowerShell e Active DirectoryPowerShell e Active Directory
PowerShell e Active Directory
 
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
Android Core Aula 7 - Aplicações (Services, Broadcast Receivers, NDK/JNI)
 
Hibernate conceitos
Hibernate conceitosHibernate conceitos
Hibernate conceitos
 
Odi tutorial configuração repositórios mestre e trabalho
Odi tutorial   configuração repositórios mestre e trabalhoOdi tutorial   configuração repositórios mestre e trabalho
Odi tutorial configuração repositórios mestre e trabalho
 
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
Desenvolvimento de Apps e Games para Android - Partes 6 e 7 (Preview)
 
Fundamentos de JDBC
Fundamentos de JDBCFundamentos de JDBC
Fundamentos de JDBC
 
Processos iniciais do mapeamento OR
Processos iniciais do mapeamento ORProcessos iniciais do mapeamento OR
Processos iniciais do mapeamento OR
 
Essbase Series - Backup
Essbase Series - BackupEssbase Series - Backup
Essbase Series - Backup
 
Alguns comandos tais como Atribuir e revogar privilégios em SQL
Alguns comandos tais como Atribuir e revogar privilégios em SQLAlguns comandos tais como Atribuir e revogar privilégios em SQL
Alguns comandos tais como Atribuir e revogar privilégios em SQL
 
Mini curso hibernate com anotações
Mini curso hibernate com anotaçõesMini curso hibernate com anotações
Mini curso hibernate com anotações
 
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
Java EE 6 JPA 2.0, EJB 3.1 e CDI 1.0
 
Hibernate-consultas
Hibernate-consultasHibernate-consultas
Hibernate-consultas
 
Odi tutorial glossário e termos técnicos
Odi tutorial   glossário e termos técnicosOdi tutorial   glossário e termos técnicos
Odi tutorial glossário e termos técnicos
 
Spring Data Jpa
Spring Data JpaSpring Data Jpa
Spring Data Jpa
 
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
 
Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7Persistência com JPA usando o NetBeans 7
Persistência com JPA usando o NetBeans 7
 
xDocLet - Geração de código com xdoclet
xDocLet - Geração de código com xdocletxDocLet - Geração de código com xdoclet
xDocLet - Geração de código com xdoclet
 
Acessando o MySql com o Python
Acessando o MySql com o PythonAcessando o MySql com o Python
Acessando o MySql com o Python
 

Destaque

05 - Última aula Android
05 - Última aula Android05 - Última aula Android
05 - Última aula AndroidHelton Ritter
 
Aula03 android layouts_views
Aula03 android layouts_viewsAula03 android layouts_views
Aula03 android layouts_views
Roberson Alves
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2Kalil Maciel
 
Desenvolvimento, publicação, monetização e divulgação de jogos mobile
Desenvolvimento, publicação, monetização e divulgação de jogos mobileDesenvolvimento, publicação, monetização e divulgação de jogos mobile
Desenvolvimento, publicação, monetização e divulgação de jogos mobile
Victor Bruno Alexand Rosetti de Quiroz
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google Android
Iury Teixeira
 
Apresentação sistema JIF-MT 2016
Apresentação sistema JIF-MT 2016Apresentação sistema JIF-MT 2016
Apresentação sistema JIF-MT 2016
Pedro Neto
 
Conceitos do Active Diretory
Conceitos do Active DiretoryConceitos do Active Diretory
Conceitos do Active Diretory
Pedro Neto
 
Presentation plataforma mais 10
Presentation plataforma mais 10Presentation plataforma mais 10
Presentation plataforma mais 10
Pedro Neto
 
LDAP: Usos e Aplicações
LDAP: Usos e AplicaçõesLDAP: Usos e Aplicações
LDAP: Usos e Aplicaçõeselliando dias
 
Experiências do Programa Technovation Challenge em Mato Grosso
Experiências do Programa Technovation Challenge em Mato GrossoExperiências do Programa Technovation Challenge em Mato Grosso
Experiências do Programa Technovation Challenge em Mato Grosso
Pedro Neto
 
Modulo 4 active directory e dns
Modulo 4   active directory e dnsModulo 4   active directory e dns
Modulo 4 active directory e dns
Oi S.A
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open Source
Ricardo Pinheiro
 
Aula 1 active directory
Aula 1   active directoryAula 1   active directory
Aula 1 active directory
Oi S.A
 
Windows server 2012 active directory e server manager fabio hara
Windows server 2012 active directory e server manager fabio haraWindows server 2012 active directory e server manager fabio hara
Windows server 2012 active directory e server manager fabio hara
Fabio Hara
 
AD, UOs e GPO
AD, UOs e GPOAD, UOs e GPO
AD, UOs e GPO
Pedro Neto
 
Uma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active DirectoryUma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active Directory
elliando dias
 
Introdução ao Active Directory
Introdução ao Active DirectoryIntrodução ao Active Directory
Introdução ao Active DirectoryEduardo Sena
 

Destaque (20)

05 - Última aula Android
05 - Última aula Android05 - Última aula Android
05 - Última aula Android
 
Aula03 android layouts_views
Aula03 android layouts_viewsAula03 android layouts_views
Aula03 android layouts_views
 
Programando Android - Aula 2
Programando Android - Aula 2Programando Android - Aula 2
Programando Android - Aula 2
 
Fragmentos
FragmentosFragmentos
Fragmentos
 
Desenvolvimento, publicação, monetização e divulgação de jogos mobile
Desenvolvimento, publicação, monetização e divulgação de jogos mobileDesenvolvimento, publicação, monetização e divulgação de jogos mobile
Desenvolvimento, publicação, monetização e divulgação de jogos mobile
 
Aulas Google Android
Aulas Google AndroidAulas Google Android
Aulas Google Android
 
Apresentação sistema JIF-MT 2016
Apresentação sistema JIF-MT 2016Apresentação sistema JIF-MT 2016
Apresentação sistema JIF-MT 2016
 
Conceitos do Active Diretory
Conceitos do Active DiretoryConceitos do Active Diretory
Conceitos do Active Diretory
 
Social Media
Social MediaSocial Media
Social Media
 
Presentation plataforma mais 10
Presentation plataforma mais 10Presentation plataforma mais 10
Presentation plataforma mais 10
 
LDAP: Usos e Aplicações
LDAP: Usos e AplicaçõesLDAP: Usos e Aplicações
LDAP: Usos e Aplicações
 
Experiências do Programa Technovation Challenge em Mato Grosso
Experiências do Programa Technovation Challenge em Mato GrossoExperiências do Programa Technovation Challenge em Mato Grosso
Experiências do Programa Technovation Challenge em Mato Grosso
 
Modulo 4 active directory e dns
Modulo 4   active directory e dnsModulo 4   active directory e dns
Modulo 4 active directory e dns
 
LDAP
LDAPLDAP
LDAP
 
Controlador de Domínio Open Source
Controlador de Domínio Open SourceControlador de Domínio Open Source
Controlador de Domínio Open Source
 
Aula 1 active directory
Aula 1   active directoryAula 1   active directory
Aula 1 active directory
 
Windows server 2012 active directory e server manager fabio hara
Windows server 2012 active directory e server manager fabio haraWindows server 2012 active directory e server manager fabio hara
Windows server 2012 active directory e server manager fabio hara
 
AD, UOs e GPO
AD, UOs e GPOAD, UOs e GPO
AD, UOs e GPO
 
Uma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active DirectoryUma visão geral do OpenLDAP e Active Directory
Uma visão geral do OpenLDAP e Active Directory
 
Introdução ao Active Directory
Introdução ao Active DirectoryIntrodução ao Active Directory
Introdução ao Active Directory
 

Semelhante a Desenvolvimento de Apps e Games para Android - Parte 4

Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
Ana Dolores Lima Dias
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
Jose Berardo
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
Claudio Pereira
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma android
Juarez Junior
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - Android
Tiago Bencardino
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
Édipo Souza
 
Programando Android - Aula 3
Programando Android - Aula 3Programando Android - Aula 3
Programando Android - Aula 3
Kalil Maciel
 
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
Rodolfo Faquin Della Justina
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
Paulo Remoli
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
Jose Berardo
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
GPrimola
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
Erisvaldo Junior
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo OliveiraRonildo Oliveira
 
3 a-ac-conceitos fundamentais
3 a-ac-conceitos fundamentais3 a-ac-conceitos fundamentais
3 a-ac-conceitos fundamentaisFabiula Floripa
 
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
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma AndroidNatanael Fonseca
 
Treinamento básico de Android
Treinamento básico de AndroidTreinamento básico de Android
Treinamento básico de Android
Tiago Barreto
 
Aula04 android intents
Aula04 android intentsAula04 android intents
Aula04 android intents
Roberson Alves
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
Messias Batista
 

Semelhante a Desenvolvimento de Apps e Games para Android - Parte 4 (20)

Android - Conceito e Arquitetura
Android - Conceito e ArquiteturaAndroid - Conceito e Arquitetura
Android - Conceito e Arquitetura
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Desenvolvendo para Android
Desenvolvendo para AndroidDesenvolvendo para Android
Desenvolvendo para Android
 
Introdução ao android e plataforma android
Introdução ao android e plataforma androidIntrodução ao android e plataforma android
Introdução ao android e plataforma android
 
Computação Móvel 2012.2 - Android
Computação Móvel 2012.2 - AndroidComputação Móvel 2012.2 - Android
Computação Móvel 2012.2 - Android
 
Sistema Operacional Android
Sistema Operacional AndroidSistema Operacional Android
Sistema Operacional Android
 
Introdução a Plataforma Android
Introdução a Plataforma AndroidIntrodução a Plataforma Android
Introdução a Plataforma Android
 
Programando Android - Aula 3
Programando Android - Aula 3Programando Android - Aula 3
Programando Android - Aula 3
 
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
 
Introdução ao android
Introdução ao androidIntrodução ao android
Introdução ao android
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Apresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno CottaApresentacao android por Júlio Cesar Bueno Cotta
Apresentacao android por Júlio Cesar Bueno Cotta
 
Android Aula 2
Android Aula 2Android Aula 2
Android Aula 2
 
Minicurso Android Ronildo Oliveira
Minicurso Android  Ronildo OliveiraMinicurso Android  Ronildo Oliveira
Minicurso Android Ronildo Oliveira
 
3 a-ac-conceitos fundamentais
3 a-ac-conceitos fundamentais3 a-ac-conceitos fundamentais
3 a-ac-conceitos fundamentais
 
Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)Introdução ao Android (minicurso 4h)
Introdução ao Android (minicurso 4h)
 
Introdução à plataforma Android
Introdução à plataforma AndroidIntrodução à plataforma Android
Introdução à plataforma Android
 
Treinamento básico de Android
Treinamento básico de AndroidTreinamento básico de Android
Treinamento básico de Android
 
Aula04 android intents
Aula04 android intentsAula04 android intents
Aula04 android intents
 
Primeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor androidPrimeiros passos para o novo desenvolvedor android
Primeiros passos para o novo desenvolvedor android
 

Mais de Erisvaldo Junior

A Era da Mobilidade
A Era da MobilidadeA Era da Mobilidade
A Era da Mobilidade
Erisvaldo Junior
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Erisvaldo Junior
 
Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Erisvaldo Junior
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Erisvaldo Junior
 
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
 
Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1Erisvaldo Junior
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management systemErisvaldo Junior
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementarErisvaldo Junior
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementarErisvaldo Junior
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management systemErisvaldo Junior
 
Java me generic connection framework
Java me   generic connection frameworkJava me   generic connection framework
Java me generic connection frameworkErisvaldo Junior
 
Introdução a api de baixo nível do java me
Introdução a api de baixo nível do java meIntrodução a api de baixo nível do java me
Introdução a api de baixo nível do java meErisvaldo Junior
 
Introdução a game api do java me
Introdução a game api do java meIntrodução a game api do java me
Introdução a game api do java meErisvaldo Junior
 
O futuro do Android
O futuro do AndroidO futuro do Android
O futuro do Android
Erisvaldo Junior
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
Erisvaldo Junior
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
Erisvaldo Junior
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
Erisvaldo Junior
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
Erisvaldo Junior
 

Mais de Erisvaldo Junior (20)

A Era da Mobilidade
A Era da MobilidadeA Era da Mobilidade
A Era da Mobilidade
 
Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2Desenvolvimento de Apps e Games para iOS - Parte 2
Desenvolvimento de Apps e Games para iOS - Parte 2
 
Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1Desenvolvimento de Apps e Games para iOS - Parte 1
Desenvolvimento de Apps e Games para iOS - Parte 1
 
Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7Desenvolvimento de Apps e Games para Android - Parte 7
Desenvolvimento de Apps e Games para Android - Parte 7
 
Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3Desenvolvimento de Apps e Games para Android - Parte 3
Desenvolvimento de Apps e Games para Android - Parte 3
 
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
 
Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1Desenvolvimento de Apps e Games para Android - Parte 1
Desenvolvimento de Apps e Games para Android - Parte 1
 
Nokia SDK for Java
Nokia SDK for JavaNokia SDK for Java
Nokia SDK for Java
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
 
Java me material complementar
Java me   material complementarJava me   material complementar
Java me material complementar
 
Java me record management system
Java me   record management systemJava me   record management system
Java me record management system
 
Java me generic connection framework
Java me   generic connection frameworkJava me   generic connection framework
Java me generic connection framework
 
Introdução a api de baixo nível do java me
Introdução a api de baixo nível do java meIntrodução a api de baixo nível do java me
Introdução a api de baixo nível do java me
 
Introdução a game api do java me
Introdução a game api do java meIntrodução a game api do java me
Introdução a game api do java me
 
O futuro do Android
O futuro do AndroidO futuro do Android
O futuro do Android
 
Android Aula 5
Android Aula 5Android Aula 5
Android Aula 5
 
Android Aula 4
Android Aula 4Android Aula 4
Android Aula 4
 
Android Aula 3
Android Aula 3Android Aula 3
Android Aula 3
 
Android Aula 1
Android Aula 1Android Aula 1
Android Aula 1
 

Último

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
Momento da Informática
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
Momento da Informática
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
Jonathas Muniz
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Gabriel de Mattos Faustino
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
Faga1939
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
Danilo Pinotti
 

Último (6)

Logica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptxLogica de Progamacao - Aula (1) (1).pptx
Logica de Progamacao - Aula (1) (1).pptx
 
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdfTOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
TOO - TÉCNICAS DE ORIENTAÇÃO A OBJETOS aula 1.pdf
 
Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!Guardioes Digitais em ação: Como criar senhas seguras!
Guardioes Digitais em ação: Como criar senhas seguras!
 
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdfEscola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
Escola Virtual - Fundação Bradesco - ITIL - Gabriel Faustino.pdf
 
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...
 
Segurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas PráticasSegurança Digital Pessoal e Boas Práticas
Segurança Digital Pessoal e Boas Práticas
 

Desenvolvimento de Apps e Games para Android - Parte 4

  • 1. Desenvolvimento de Apps e Games para Android Por Erisvaldo Júnior. Parte 4 (14/09/2011)
  • 3. Cada View tem propriedades de Interface e também listeners de eventos
  • 4. Não é necessário iniciar outra Activity, você pode simplesmente mostrar uma Dialog
  • 5. Se quiser iniciar outra Activity, basta usar o método startActivity(Intent intent) Exemplo: startActivity( new Intent( this, OutraActivity.class ) );
  • 6. Roteiro da Aula LOG E SPLASH SCREEN PERSISTÊNCIA INTERNACIONALIZAÇÃO E INTENT Bem vindo ao mundo da mobilidade
  • 8. android.util.Log Classe de Log do Android. Permite armazenar logs de até cinco tipos:
  • 9. LogCat Permite a visualização do Log. Disponível na perspectiva Debug do ADT no Eclipse.
  • 10. Internacionalização 1. Planejar como o App deve aparecer (imagens e textos) em diferentes regiões e línguas, bem como um padrão.
  • 11. Internacionalização 2. Organizar os recursos, mapeando as pastas values/ (strings.xml) e res/ para cada região / linguagem suportada.
  • 12. Internacionalização 3. Criar o strings.xml para cada linguagem.
  • 13. Internacionalização 3. Criar o strings.xml para cada linguagem.
  • 14. Internacionalização 4. Testar a aplicação no emulador.
  • 15. SPLASH SCREEN E INTENT
  • 16. Como criar uma Splash Screen
  • 17. Activity em Tela Cheia (Full Screen)
  • 18. Classe Intent Um objeto Intent é uma mensagem composta por duas partes: action e data. • ACTION – ação a ser realizada. Exemplos: ACTION_VIEW, ACTION_EDIT, ACTION_DIAL, ACTION_MAIN, etc; • DATA – dados a serem operados, geralmente expressado por uma URI (Identificador Uniforme de Recursos). Um objeto Intent pode ser usado de duas formas: Explícita ou Implícita. • EXPLÍCITA – especifica o componente que provê a classe que será executada. Frequentemente não possui informações extras. Usado geralmente para navegar entre activities dentro da aplicação. • IMPLÍCITA – não especifica o componente, apenas fornece as informações e o sistema se encarrega de utilizar o melhor componente para executar esse Intent.
  • 19. Intent para Activity, Service ou Broadcast Receiver startActivity( Intent intent ) startService( Intent intent ) bindService(Intent, …) sendBroadcast( Intent intent ) registerReceiver(…)
  • 20. E no caso de Activity, quais as ações possíveis? As principais são ACTION_MAIN e ACTION_EDIT
  • 25. Computação Móvel / Pervasiva / Ubíqua
  • 26. Computação Móvel / Pervasiva / Ubíqua
  • 27. Computação em Nuvem (Cloud Computing)
  • 28. Computação em Nuvem (Cloud Computing)
  • 29. Armazenamento de Dados O Android provê diversas opções para armazenar dados da aplicação. A escolha da melhor opção deve ser feita de acordo com a necessidade: dados privados ou públicos, quantidade de espaço necessário, etc. • Shared Preferences – Armazena dados primitivos em um conjunto de pares do tipo chave – valor; • Internal Storage – Armazena dados privados na memória do dispositivo; • External Storage – Armazena dados públicos na mídia externa de armazenamento; • SQLite Databases – Armazena dados estruturados em um banco de dados privado; • Network Connection – Armazena dados na web com o seu próprio servidor de rede.
  • 30. Shared Preferences A classe SharedPreferences provê um framework geral que permite salvar e recuperar pares de dados primitivos do tipo chave-valor. Os dados ficam armazenados mesmo quando a aplicação é finalizada. Para obter uma instância de SharedPreferences para a sua aplicação, usa-se um dos métodos abaixo: • getSharedPreferences() – use se você precisar de múltiplos arquivos de preferências identificados por um nome que é passado como parâmetro; • getPreferences() – use se você precisar de um único arquivo de preferências para a sua Activity. Como se trata de um único arquivo, não é necessário fornecer um nome.
  • 32. Internal Storage Para criar e escrever em um arquivo privado para a memória interna, chama-se o método openFileOutput() com o nome do arquivo e o tipo de operação, obtendo-se um FileOutputStream. Em seguida, basta escrever com o write() e finalizar com close(). Já para ler um arquivo da memória interna, chama-se o método openFileInput() passando o nome do arquivo a ser lido como parâmetro. Esse método retorna um FileInputStream. Assim, basta ler com read() e finalizar com close().
  • 33. Internal Storage Também é possível armazenar arquivos como cache, usando o método getCacheDir() para obter uma instância de File na qual sua aplicação possa salvar arquivos temporários de cache. Quando o dispositivo está com pouca memória, o Android pode excluir os arquivos de cache para recuperar espaço. Contudo, é responsabilidade do desenvolver manter seus arquivos de cache e usar apenas um espaço razoável com os mesmos, como 1MB. Ao desinstalar o aplicativo, os arquivos de cache do mesmo são removidos. Outros métodos interessantes: • getFilesDir() – retorna o caminho absoluto dos arquivos salvos; • getDir() – Cria ou abre um diretório para armazenamento interno; • deleteFile() – Exclui um arquivo; • fileList() – Lista de arquivos atualmente salvos por sua aplicação.
  • 34. External Storage Todo dispositivo Android suporta uma mídia externa de armazenamento. Pode ser um cartão removível (como SD Card) ou um espaço de armazenamento interno (não removível). Em ambos os casos, os arquivos podem ser lidos e modificados por outras aplicações ou pelo usuário quando se conecta o dispositivo via USB para transferência de dados. Antes de se trabalhar com o armazenamento externo, deve-se chamar o método getExternalStorageState() para verificar se a mídia está disponível:
  • 35. Acessando arquivos em um External Storage No caso da API Level 8 (Android 2.2) ou superior, usa-se o método getExternalFilesDir() para obter um File que representa o diretório da mídia externa em que se deve salvar seus arquivos. Esse método recebe como parâmetro o tipo de subdiretório desejado, tais como DIRECTORY_MUSIC ou DIRECTORY_RINGTONES. Caso se deseje armazenar na raiz, passa-se null como parâmetro. Já no caso da API Level 7 (Android 2.1) ou inferior, usa-se o getExternalStorageDirectory(). Os dados serão armazenados em /Android/data/nome_do_pacote/files/. O nome do pacote é no estilo Java, por exemplo: “com.example.android.app”. Caso o usuário desinstale a aplicação, esse diretório e todo o seu conteúdo será excluído.
  • 36. Salvando arquivos que devem ser compartilhados Caso se queira salvar arquivos que não são específicos da aplicação e devem permanecer mesmo após a aplicação ser desinstalada, basta salvá-los em diretórios de armazenamento públicos, tais como Music/, Pictures/, Ringtones/ e outros. Na API Level 8 ou superior, usa-se getExternalStoragePublicDirectory() passando como parâmetro o tipo de diretório público que se deseja, tais como: DIRECTORY_MUSIC, DIRECTORY_PICTURES, etc. Já no caso da API Level 7 ou inferior, usa-se o getExternalStorageDirectory(). Em seguida, salva-se os arquivos compartilhados em algum desses diretórios: Music/, Podcasts/, Ringtones/, Alarms/, Notifications/, Pictures/, Movies/ e Download/.
  • 37. Salvando arquivos externos de cache Na API Level 8 ou superior, usa-se getExternalCacheDir(). Já no caso da API Level 7 ou inferior, usa-se o getExternalStorageDirectory(). Em seguida, salva-se os dados de cache no seguinte diretório: /Android/data/nome_do_pacote/cache/ O nome do pacote é no estilo Java. Por exemplo: “com.example.android.app”.
  • 38. obrigado • e-mail: erisvaldo@yupistudios.com.br • web: http://erisvaldojunior.com • twitter: @erisvaldojunior