Uma forma melhor de iniciar Activities

Antes, é assim que iniciávamos uma Activity

Intent it = new Intent(MainActivity.this,NormalActivity.class);
it.putExtra("key1","val1");
it.putExtra("key2","val2");
startActivity(it);Code language: JavaScript (javascript)

Já parou para pensar que nem toda Activity é desenvolvida por você?

Nesse cenário, se quiser iniciar outra Activity, talvez precise consultar o desenvolvedor responsável ou ler a documentação.

Mas isso não é bem trabalhoso?

Existe alguma solução melhor?

E se passarmos a lógica de inicialização da Activity para outro desenvolvedor?

Ou seja, o criador de cada Activity adiciona um método dentro dela. Outros desenvolvedores chamam esse método para abrir a Activity.

Intent it = new Intent(MainActivity.this,NormalActivity.class);
it.putExtra("site","www.foxdevelop.com");//Iniciar outra Activity a partir da nossa Activity
//Precisamos saber quais dados a outra Activity espera, então é necessário conversar com seu desenvolvedor
startActivity(it);Code language: JavaScript (javascript)

Vamos testar. Adicionaremos um método estático na Activity alvo.

//Colocar o código de inicialização da Activity dentro da sua classe
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);
}Code language: JavaScript (javascript)
NormalActivity.actionStart(MainActivity.this,"www.foxdevelop.com",12);Code language: CSS (css)

Uma forma melhor de iniciar Activities

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *