Desarrollo de Android más sencillo con RoboGuice

RoboGuice es un marco imprescindible que aporta la simplicidad y facilidad de la inyección de dependencias a Android. Guice es un marco de inyección de dependencia ligero para la plataforma Java. La inyección de dependencias es un patrón de diseño con el principio central de separar el comportamiento de la resolución de dependencias .

Permite la eliminación de dependencias «codificadas» y hace posible cambiarlas en tiempo de compilación o ejecución. Esto hace que su código sea más fácil de escribir, cambiar, probar unitariamente y reutilizar en otros contextos . Su código se vuelve menos un código repetitivo y más una lógica empresarial.

Con RoboGuice, puedes llevar todo eso a Android. RoboGuice le permite usar sus propias clases base junto con sus propios métodos o funcionalidades esenciales. Esto hace que RoboGuice sea compatible con la mayoría de las bibliotecas y le permite eliminar casi todas las plantillas de la plataforma a través de varias inyecciones, como inyecciones de vista, inyecciones de recursos, inyecciones de SystemService, etc.

En términos simples, usar RoboGuice en su proyecto de Android significa escribir menos código, manejar menos errores y tener menos dolores de cabeza .

Cómo instalar RoboGuice

RoboGuice se puede instalar fácilmente en su proyecto basado en Gradle agregando las siguientes líneas a la sección de «dependencias» del archivo de compilación de gradle del módulo de su aplicación:

1234project.dependencies {     compile ‘org.roboguice:roboguice:3.+’     provided ‘org.roboguice:roboblender:3.+’ }

Cómo usar RoboGuice

RoboGuice es fácil de usar, si sigue estas reglas básicas:

1. Extienda sus clases de las clases base apropiadas de RoboGuice como RoboActivity, RoboFragment, RoboService, RoboListActivity, RoboActionBarActivity, etc.

2. Inyecte vistas, recursos o servicios utilizando diferentes anotaciones proporcionadas por RoboGuice como » @InjectView «, «@InjectResource «, «@Inject «, etc.

Eso es. Simple, ¿no es así? Se sentirá más como en casa si está familiarizado con las anotaciones de Java .

Sin RoboGuice frente a RoboGuice

Comparemos cómo RoboGuice puede minimizar su carga de trabajo y mejorar su productividad con este pequeño ejemplo. Supongamos que tenemos un archivo de diseño «activity_main.xml» que tiene todas las vistas que se enumeran a continuación.

Nota: Se agregan comentarios para mejorar la comprensión del código.

123456789101112131415dieciséis171819202122232425262728class NoRoboGuice extends Activity {   // views  TextView name;  ImageView thumbnail;     // services  LocationManager loc;     // resources  Drawable icon;  String myName;   public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);         setContentView(R.layout.activity_main); // sets the layout         name      = (TextView) findViewById(R.id.name); // boilerplate initialization    thumbnail = (ImageView) findViewById(R.id.thumbnail);  // boilerplate initialization         loc       = (LocationManager) getSystemService(Activity.LOCATION_SERVICE); // boilerplate initialization         icon      = getResources().getDrawable(R.drawable.icon); // boilerplate initialization    myName    = getString(R.string.app_name); // boilerplate initialization         name.setText( «Hello, » + myName ); // actual code  } }

Así es como se ve con RoboGuice:

123456789101112131415dieciséis171819@ContentView(R.layout.activity_main) // sets the layoutclass RoboGuice extends RoboActivity {   // views  @InjectView(R.id.name)             TextView name;   @InjectView(R.id.thumbnail)        ImageView thumbnail;      // resources  @InjectResource(R.drawable.icon)   Drawable icon;   @InjectResource(R.string.app_name) String myName;      // services  @Inject                            LocationManager loc;    public void onCreate(Bundle savedInstanceState) {     super.onCreate(savedInstanceState);         name.setText( «Hello, » + myName ); // actual code  } }

RoboGuice no solo reduce el código, sino que también ayuda a mejorar la legibilidad y la comprensibilidad del código fuente. Elimina las conjeturas del desarrollo de aplicaciones y el código de su aplicación ya no está lleno de la mecánica de la plataforma Android.

Esta ventaja ayuda enormemente a la hora de depurar o actualizar la aplicación, ya que puede leer y cambiar fácilmente el código fuente. Ya no necesita buscar el código real entre el código de inicialización estándar porque ahora solo existe el código real y RoboGuice realiza la inicialización estándar automáticamente por usted.

Deja un comentario