Eu preciso, pelo menos por enquanto para testes, atribuir à variavel do tipo Bitmap de um objeto uma imagem que eu tenho na pasta res.
Fucei no developer.android e encontrei o decodeResource(). Usando o getResources() dentro de uma activity deu certo, mas quando eu precisei migrar este metodo pra outra classe, da o erro The method getResources() is undefined for the type <Classe>.
Então eu me pergunto, esse getResources() por acaso é só da classe Activity? Como eu faço então para obter isso dentro das minhas regras de negocio e não dentro de uma Activity?
o getResources() é um método do Context, você pode pegar da ApplicationContext por exemplo.
Um bom habito é criar uma classe que herda application e armazenar em uma variável estática o app context justamente para esses usos.
App context vai estar sempre em memória enquanto sua aplica estiver rodando, então não tem problema armazena-la em uma estática.
Obrigado a todos. Eu resolvi passando um context no construtor dessa classe.
Isso é errado?
Não não, passar o Context por parametro é o mais indicado pois as por exemplo voce vai querer mostrar um Toast e você só pode exibi-lo se o Context for de uma Activity.
Para criar Views por exemplo os construtores recebem Contexts que precisam ser da Activity para funcionarem corretamente.
[quote=fabriciov]Um bom habito é criar uma classe que herda application e armazenar em uma variável estática o app context justamente para esses usos.
App context vai estar sempre em memória enquanto sua aplica estiver rodando, então não tem problema armazena-la em uma estática.[/quote]
Eu entendi o que voce quis dizer ma na hora de implementar fiquei meio perdido. Pode dar exemplo?