desenvolvimento de apps e games para android - parte 4

38
Desenvolvimento de Apps e Games para Android Por Erisvaldo Júnior. Parte 4 (14/09/2011)

Upload: erisvaldo-junior

Post on 31-May-2015

3.396 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: Desenvolvimento de Apps e Games para Android - Parte 4

Desenvolvimento de

Apps e Games para Android

Por Erisvaldo Júnior. Parte 4 (14/09/2011)

Page 2: Desenvolvimento de Apps e Games para Android - Parte 4

RECAPITULANDO…

Page 3: Desenvolvimento de Apps e Games para Android - Parte 4

Cada View tem propriedades de Interface e também listeners de eventos

Page 4: Desenvolvimento de Apps e Games para Android - Parte 4

Não é necessário iniciar outra Activity, você pode simplesmente mostrar uma Dialog

Page 5: Desenvolvimento de Apps e Games para Android - Parte 4

Se quiser iniciar outra Activity, basta usar o método startActivity(Intent intent)

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

Page 6: Desenvolvimento de Apps e Games para Android - Parte 4

Roteiro da Aula

Bem vindo ao mundo da mobilidade

SPLASH SCREEN

E INTENT

PERSISTÊNCIA

LOG E INTERNACIONALIZAÇÃO

Page 7: Desenvolvimento de Apps e Games para Android - Parte 4

LOG E INTERNACIONALIZAÇÃO

Page 8: Desenvolvimento de Apps e Games para Android - Parte 4

android.util.Log Classe de Log do Android. Permite armazenar logs de até cinco tipos:

Page 9: Desenvolvimento de Apps e Games para Android - Parte 4

LogCat Permite a visualização do Log. Disponível na perspectiva Debug do ADT no Eclipse.

Page 10: Desenvolvimento de Apps e Games para Android - Parte 4

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

Page 11: Desenvolvimento de Apps e Games para Android - Parte 4

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

Page 12: Desenvolvimento de Apps e Games para Android - Parte 4

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

Page 13: Desenvolvimento de Apps e Games para Android - Parte 4

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

Page 14: Desenvolvimento de Apps e Games para Android - Parte 4

Internacionalização 4. Testar a aplicação no emulador.

Page 15: Desenvolvimento de Apps e Games para Android - Parte 4

SPLASH SCREEN E INTENT

Page 16: Desenvolvimento de Apps e Games para Android - Parte 4

Como criar uma Splash Screen

Page 17: Desenvolvimento de Apps e Games para Android - Parte 4

Activity em Tela Cheia (Full Screen)

Page 18: Desenvolvimento de Apps e Games para Android - Parte 4

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.

Page 19: Desenvolvimento de Apps e Games para Android - Parte 4

Intent para Activity, Service ou Broadcast Receiver

startActivity( Intent intent )

startService( Intent intent ) bindService(Intent, …)

sendBroadcast( Intent intent ) registerReceiver(…)

Page 20: Desenvolvimento de Apps e Games para Android - Parte 4

E no caso de Activity, quais as ações possíveis?

As principais são ACTION_MAIN e ACTION_EDIT

Page 21: Desenvolvimento de Apps e Games para Android - Parte 4

Para Broadcast Receivers… ?

Page 22: Desenvolvimento de Apps e Games para Android - Parte 4

Exemplo Activity Implícita (acessar uma URL no Browser)

Page 23: Desenvolvimento de Apps e Games para Android - Parte 4

PERSISTÊNCIA

Page 24: Desenvolvimento de Apps e Games para Android - Parte 4

Era da Computação Ubíqua

Page 25: Desenvolvimento de Apps e Games para Android - Parte 4

Computação Móvel / Pervasiva / Ubíqua

Page 26: Desenvolvimento de Apps e Games para Android - Parte 4

Computação Móvel / Pervasiva / Ubíqua

Page 27: Desenvolvimento de Apps e Games para Android - Parte 4

Computação em Nuvem (Cloud Computing)

Page 28: Desenvolvimento de Apps e Games para Android - Parte 4

Computação em Nuvem (Cloud Computing)

Page 29: Desenvolvimento de Apps e Games para Android - Parte 4

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.

Page 30: Desenvolvimento de Apps e Games para Android - Parte 4

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.

Page 31: Desenvolvimento de Apps e Games para Android - Parte 4

Shared Preferences

Page 32: Desenvolvimento de Apps e Games para Android - Parte 4

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().

Page 33: Desenvolvimento de Apps e Games para Android - Parte 4

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.

Page 34: Desenvolvimento de Apps e Games para Android - Parte 4

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:

Page 35: Desenvolvimento de Apps e Games para Android - Parte 4

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.

Page 36: Desenvolvimento de Apps e Games para Android - Parte 4

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/.

Page 37: Desenvolvimento de Apps e Games para Android - Parte 4

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”.

Page 38: Desenvolvimento de Apps e Games para Android - Parte 4

obrigado

• e-mail: [email protected]

• web: http://erisvaldojunior.com

• twitter: @erisvaldojunior