Application Class no Android, Entendendo e Utilizando

Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação. Você receberá um email de confirmação. Somente depois de confirmar é que poderei lhe enviar o conteúdo exclusivo por email.

Email inválido.
Blog /Android /Application Class no Android, Entendendo e Utilizando

Application Class no Android, Entendendo e Utilizando

Vinícius Thiengo20/10/2014
(2391) (7) (63) (1)
Go-ahead
"Se você está planejando em fazer alguma coisa diferente, você será criticado por causa disso. Tenha fé de que o que você está fazendo é o certo e bloqueie qualquer negatividade."
Herb Kelleher
Código limpo
Capa do livro Refatorando Para Programas Limpos
TítuloRefatorando Para Programas Limpos
CategoriaEngenharia de Software
AutorVinícius Thiengo
Edição
Ano2017
Capítulos46
Páginas598
Comprar Livro
Conteúdo Exclusivo
Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação.
Email inválido

Opa, blz?

Nesse vídeo mostro como utilizar a classe Application do Android para podermos utilizar o padrão Singleton (há várias maneiras de fazer isso no Android) e como monitorarmos os estado atual da memória caso o dispositivo esteja com o consumo de memória alto. A classe Application é instanciada pelo Android assim que a APP é aberta (uma Application class para cada APP) e mesma instância permanece até o usuário remover a APP por completo da memória ou até o próprio Android realizar essa operação para liberar memória para algum outro processo (pode ser uma outra APP) que está com prioridade maior na lista de elementos que estão na memória do dispositivo. Não é necessário utilizar o a classe Application apenas quando vc tem entidades que podem ser utilizadas em todo o seu sistema, vc pode utilizar até quando quer apenas passar dados de uma Activity para outra, digo que isso é um atalho, atalho ruim, pois o código de sua APP pode virar uma bagunça, mas funciona. Há várias discussões em sites como stakeoverflow para saber qual a melhor opção de implementar o padrão Singleton em aplicações Android, o Android não fala explicitamente qual é a melhor opção, mas indica que para manter as entidades mais modularizadas utilizar o Singleton na classe correspondente pode ser melhor para organização de código, porém o acesso pela classe Application (minha opinião) é mais fácil, tanto para setar quanto para obter o valor.

Os métodos onLowMemory (para API 13 e abaixo) e onTrimMemory (da API 14 para cima) são chamados quando a memória do dispositivo começa e ficar sem espaço, logo o Android informa as aplicações que estão tanto no foreground quanto no background qual o estado dela, a aplicação, quanto a possibilidade de ser removida ou não da memória para liberar espaço para processos de prioridade maior. O Android nos dá quatro constantes de comparação para verificar o estado da aplicação quanto a possibilidade de ser removida, mas a documentação deixa claro que não devemos adotar a comparação exata com essas constantes, pois os valores de entrada do método (no caso somente o método onTrimMemory()) podem vir entre os valores das constantes, nesse caso o Android recomenda que a comparação seja realizada na forma que se o valor for igual ou maior que uma determinada constante a condicional dessa constante seja processada. O método onLowMemory() é chamado apenas quando o estado da aplicação quanto a possibilidade de ser removida da memória é a mais alta ou seja igual a constante TRIM_MEMORY_COMPLETE. Então é isso, vou evitar mais delongas e deixar vc assistir ao vídeo.

O link para download do projeto se encontra logo abaixo no post.

Segue links das páginas apresentadas no vídeo:

Página da classe Application no site oficial do Android

Página que contém a explicação das constantes apresentadas no vídeo

Página de explicação de funcionamento de Processos e Threads no Android

Página do padrão Singleton, no Wikipédia

Vlw

Receba em primeira mão o conteúdo exclusivo do Blog, além de promoções de livros e cursos de programação.
Email inválido

Relacionado

Pacote Google Play Services Ads Para Anúncios no AndroidPacote Google Play Services Ads Para Anúncios no AndroidAndroid
Google Cloud Messaging (GCM) no AndroidGoogle Cloud Messaging (GCM) no AndroidAndroid
Google Plus API no Android, Realizando LoginGoogle Plus API no Android, Realizando LoginAndroid
Compartilhamento e Lista de Usuários Com Google Plus API no AndroidCompartilhamento e Lista de Usuários Com Google Plus API no AndroidAndroid

Compartilhar

Comentários Facebook

Comentários Blog (7)

Para código / script, coloque entre [code] e [/code] para receber marcação especifica.
Forneça seu nome válido.
Forneça seu email válido.
Forneça o comentário.
Enviando, aguarde...
Anderson (0) (0)
24/10/2014
Ola. muito bom seu video mano, Thiengo to tentando desenvolver um projeto android mas esta acontecendo uns erros estranhos no meu eclipse, tipo o "file explorer" não carrega nada, o emulador abre direitinho mas o file explorer sempre fica vazio, antes não tava assim eu startava o emulador e o file explorer carregava as pastas dele, mas de uns dias pra ca ta dando esse problema e eu nao consigo resolver, vc sabe dizer o que é e se isso ja aconteceu com vc? Vlw cara abraços.
Responder
Vinícius Thiengo (0) (0)
26/10/2014
Fala Anderson, blz?
Não lembro de ter tido esse problema não, vc está selecionando o seu emulador em "Devices"? Fez alguma atualização no Eclipse? Se não, atualize ele e o SDK tb, se possível. Abraço
Responder
wiliam (0) (0)
20/10/2014
Oi Thiengo tudo bom? Cara vc sabe algum metodo para diminuir o tamanho de arquivos muito grandes? To tentando enviar videos para o servidor mas os aquivos são muito grandes e eu não consigo converter eles para string usando o Base64, ele da pau quando eu tento converter, ai to querendo ver se eu consigo diminuir o tamanho dos bytes pra ver se consigo converter pra string, queria saber se vc sabe alguma forma de fazer isso com videos e musicas, desde já agradeço pela ajuda valeu!
Responder
Vinícius Thiengo (1) (0)
21/10/2014
Fala Wilian, blz?
Dê uma olhada nesse discussão do stakeoverflow (http://stackoverflow.com/questions/11275423/send-image-and-videos-files-from-android-to-a-server-and-receive-processed) e depois olhe esse link (http://7labs.heypub.com/mobile/compress-video-android-ios-wp.html)... olhe o que essa App faz com o tamanho do vídeo file. Abraço
Responder
wiliam (0) (0)
22/10/2014
Cara achei um código aqui q parece ser bom, ele envia os dados pro servidor usando um Dataoutputstream  mas ele ta me dando erro de syntax nessa linha aqui (~~> dos.writeBytes("Content-Disposition: form-data; name="uploadedfile";filename="" + selectedPath + """ + lineEnd); <~~ ) vc sabe me dizer o que pode ser eu nao sei muito bem trabalhar com esse Dataoutputstream
Responder
Vinícius Thiengo (1) (0)
23/10/2014
Fala Wiliam, blz?
Ve se assim vai:

dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + selectedPath + "\"" + lineEnd);

Abraço
Responder
Willam (1) (0)
23/10/2014
Rsrs cara vc é foda! agora sim funcionou, do jeito que o cara tinha feito tava dando erro de syntax, como eu nao conheço muito o DataOutputstream eu fiquei meio que sem saber o que fazer, mas ainda bem que existe blogs perfeitos como o seu para nos dar um apoio, Valeu cara!
Responder