Una mejor forma de lanzar Activities

Así solíamos lanzar una Activity

Intent it = new Intent(MainActivity.this,NormalActivity.class);
it.putExtra("key1","val1");
it.putExtra("key2","val2");
startActivity(it);Lenguaje del código: JavaScript (javascript)

¿Alguna vez has pensado que no todas las Activities las desarrollas tú?

En ese caso, si quieres iniciar otra Activity, tendrás que consultar al desarrollador encargado o revisar la documentación.

Pero ¿no resulta bastante tedioso?

¿Hay alguna mejor solución?

¿Y si delegamos la lógica de lanzamiento de la Activity a otro desarrollador?

Es decir, el creador de cada Activity agrega un método dentro de ella. Los demás desarrolladores llaman a este método para abrir la Activity.

Intent it = new Intent(MainActivity.this,NormalActivity.class);
it.putExtra("site","www.foxdevelop.com");//Lanzar otra Activity desde nuestra propia Activity
//Debemos saber qué datos requiere la otra Activity, así que hay que coordinar con su desarrollador
startActivity(it);Lenguaje del código: JavaScript (javascript)

Vamos a probarlo. Añadimos un método estático en la Activity destino.

//Poner el código de lanzamiento de la Activity dentro de su propia clase
public static void actionStart(Context context, String site, int level)
{
    Intent it = new Intent(context,NormalActivity.class);
    it.putExtra("site",site);
    it.putExtra("level",level);
    context.startActivity(it);
}Lenguaje del código: JavaScript (javascript)
NormalActivity.actionStart(MainActivity.this,"www.foxdevelop.com",12);Lenguaje del código: CSS (css)

Una mejor forma de lanzar Activities

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *