Desenvolvimento de Apps e Games para Android - Parte 4

3,645 views
3,599 views

Published on

Published in: Technology
0 Comments
4 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
3,645
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
301
Comments
0
Likes
4
Embeds 0
No embeds

No notes for slide

Desenvolvimento de Apps e Games para Android - Parte 4

  1. 1. Desenvolvimento deApps e Games para AndroidPor Erisvaldo Júnior. Parte 4 (14/09/2011)
  2. 2. RECAPITULANDO…
  3. 3. Cada View tem propriedades deInterface e também listeners de eventos
  4. 4. Não é necessário iniciar outra Activity, vocêpode simplesmente mostrar uma Dialog
  5. 5. Se quiser iniciar outra Activity, basta usar o método startActivity(Intent intent)Exemplo: startActivity( new Intent( this, OutraActivity.class ) );
  6. 6. Roteiro da Aula LOG E SPLASH SCREEN PERSISTÊNCIAINTERNACIONALIZAÇÃO E INTENT Bem vindo ao mundo da mobilidade
  7. 7. LOG EINTERNACIONALIZAÇÃO
  8. 8. android.util.LogClasse de Log do Android. Permite armazenar logs de até cincotipos:
  9. 9. LogCatPermite a visualização do Log. Disponível na perspectiva Debug doADT no Eclipse.
  10. 10. Internacionalização1. Planejar como o App deve aparecer (imagens e textos) emdiferentes regiões e línguas, bem como um padrão.
  11. 11. Internacionalização2. Organizar os recursos, mapeando as pastas values/ (strings.xml)e res/ para cada região / linguagem suportada.
  12. 12. Internacionalização3. Criar o strings.xml para cada linguagem.
  13. 13. Internacionalização3. Criar o strings.xml para cada linguagem.
  14. 14. Internacionalização4. Testar a aplicação no emulador.
  15. 15. SPLASH SCREEN E INTENT
  16. 16. Como criar uma Splash Screen
  17. 17. Activity em Tela Cheia (Full Screen)
  18. 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. 19. Intent para Activity, Service ou Broadcast Receiver startActivity( Intent intent ) startService( Intent intent ) bindService(Intent, …)sendBroadcast( Intent intent ) registerReceiver(…)
  20. 20. E no caso de Activity, quais as ações possíveis?As principais são ACTION_MAIN e ACTION_EDIT
  21. 21. Para Broadcast Receivers… ?
  22. 22. Exemplo Activity Implícita(acessar uma URL no Browser)
  23. 23. PERSISTÊNCIA
  24. 24. Era da Computação Ubíqua
  25. 25. Computação Móvel / Pervasiva / Ubíqua
  26. 26. Computação Móvel / Pervasiva / Ubíqua
  27. 27. Computação em Nuvem (Cloud Computing)
  28. 28. Computação em Nuvem (Cloud Computing)
  29. 29. Armazenamento de DadosO Android provê diversas opções para armazenar dados daaplicação. A escolha da melhor opção deve ser feita de acordocom a necessidade: dados privados ou públicos, quantidade deespaç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. 30. Shared PreferencesA classe SharedPreferences provê um framework geral quepermite salvar e recuperar pares de dados primitivos do tipochave-valor. Os dados ficam armazenados mesmo quando aaplicaçã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últiplosarquivos de preferências identificados por um nome que é passadocomo parâmetro;• getPreferences() – use se você precisar de um único arquivo depreferências para a sua Activity. Como se trata de um único arquivo,não é necessário fornecer um nome.
  31. 31. Shared Preferences
  32. 32. Internal StoragePara criar e escrever em um arquivo privado para a memóriainterna, chama-se o método openFileOutput() com o nome doarquivo e o tipo de operação, obtendo-se umFileOutputStream. Em seguida, basta escrever com o write() efinalizar com close().Já para ler um arquivo da memória interna, chama-se o métodoopenFileInput() passando o nome do arquivo a ser lido comoparâmetro. Esse método retorna um FileInputStream. Assim, bastaler com read() e finalizar com close().
  33. 33. Internal StorageTambém é possível armazenar arquivos como cache, usando ométodo getCacheDir() para obter uma instância de File na qualsua aplicação possa salvar arquivos temporários de cache.Quando o dispositivo está com pouca memória, o Androidpode excluir os arquivos de cache para recuperar espaço.Contudo, é responsabilidade do desenvolver manter seusarquivos de cache e usar apenas um espaço razoável com osmesmos, como 1MB. Ao desinstalar o aplicativo, os arquivos decache 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. 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. 35. Acessando arquivos em um External StorageNo caso da API Level 8 (Android 2.2) ou superior, usa-se ométodo getExternalFilesDir() para obter um File querepresenta o diretório da mídia externa em que se deve salvarseus arquivos. Esse método recebe como parâmetro o tipo desubdiretório desejado, tais como DIRECTORY_MUSIC ouDIRECTORY_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 ogetExternalStorageDirectory(). Os dados serão armazenados em/Android/data/nome_do_pacote/files/. O nome do pacote é noestilo Java, por exemplo: “com.example.android.app”. Caso o usuáriodesinstale a aplicação, esse diretório e todo o seu conteúdo seráexcluído.
  36. 36. Salvando arquivos que devem ser compartilhadosCaso se queira salvar arquivos que não são específicos daaplicação e devem permanecer mesmo após a aplicação serdesinstalada, basta salvá-los em diretórios de armazenamentopúblicos, tais como Music/, Pictures/, Ringtones/ e outros.Na API Level 8 ou superior, usa-segetExternalStoragePublicDirectory() passando como parâmetro otipo 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. 37. Salvando arquivos externos de cacheNa 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. 38. obrigado• e-mail: erisvaldo@yupistudios.com.br• web: http://erisvaldojunior.com• twitter: @erisvaldojunior

×