Dando continuidade ao post anterior (https://www.redspark.io/2012/08/01/android-injecao-de-dependencia-com-roboguice/), neste post eu darei alguns outros exemplos de utilização do RoboGuice, de forma simples. Para a injeção de outras classes, conteudos e valores. Seguem alguns trechos de código que exemplificam a utilização de algumas anotações do RoboGuice:
Bom, chega de papo e vamos aos exemplos:
O trecho a seguir exemplifica a injeção de uma view em uma activity através da anotação @ContentView:
[cc lang=”java”]
@ContentView(R.layout.main)
public class HelloAndroidActivity extends RoboActivity {
//Código da aplicação
}
[/cc]
O código acima, sem a utilização do RoboGuice, ficaria da seguinte forma:
[cc lang=”java”]
@ContentView(R.layout.main)
public class HelloAndroidActivity extends RoboActivity {
/* (non-Javadoc)
* @see roboguice.activity.RoboActivity#onCreate(android.os.Bundle)
*/
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
[/cc]
A diferença em termos de linha de código é insignificante, mas para a separação de configurações e codificação, isto é bastante importante.
Outros exemplos de utilização do RoboGuice são a injeção de classes/serviços e resources, como pode-se observar no trecho de código a seguir:
[cc lang=”java”]
@ContentView(R.layout.main)
public class HelloAndroidActivity extends RoboActivity {
@Inject
private MyService service;
@InjectResource(R.string.mensagemDeBoasVindas)
String mensagemDeBoasVindas;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// Implementação do método…
}
}
[/cc]
Este foi mais um post da série Android, espero que tenham gostado. Quaisquer dúvidas, sugestões e/ou reclamações, comentem!
_________________________________________
Lucas Oliveira – Analista Programador na redspark.
Bacharel em Sistemas de Informação pela Universidade de São Paulo.
@OliveiraLima_