Aula 22/05 (Handler)

Preview:

DESCRIPTION

O que são Handlers? Para que servem? Uma introdução rápida sobre o assunto.

Citation preview

PROGRAMAÇÃO PARADISPOSITIVOS MÓVEIS

Aula 7 – Handler

Objetivos da aula

Handler Exercícios

O que é Handler?

A classe android.os.Handler nos permite enviar ou agendar a execução de uma mensagem.

Para enviar uma mensagem precisamos instanciar

android.os.Message e repassá-lo ao método sendMessage de

Handler.

Para receber uma mensagem precisamos sobreescrever o método handlerMessage(message) da

classe Handler.

Como executar uma mensagem?

public class MinhaActivity extends Activity implements OnClickListener {

private Handler handler = new TesteHandler();

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.teste_handler);

Button play = (Button) findViewById(R.id.testehandler);

play.setOnClickListener(this); }

public void onClick(View v) { handler.sendMessage (new Message()); }

private class TesteHandler extends Handler { @Override public void handleMessage(Message msg) { Toast.makeText(MinhaActivity.this, msg.what + "", Toast.LENGTH_LONG).show(); } }

}

public class MinhaActivity extends Activity implements OnClickListener {

private Handler handler = new TesteHandler();

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.teste_handler);

Button play = (Button) findViewById(R.id.testehandler);

play.setOnClickListener(this); }

public void onClick(View v) { handler.sendMessage (new Message()); }

private class TesteHandler extends Handler { @Override public void handleMessage(Message msg) { Toast.makeText(MinhaActivity.this, msg.what + "", Toast.LENGTH_LONG).show(); } }

}

public class MinhaActivity extends Activity implements OnClickListener {

private Handler handler = new TesteHandler();

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.teste_handler);

Button play = (Button) findViewById(R.id.testehandler);

play.setOnClickListener(this); }

public void onClick(View v) { handler.sendMessage (new Message()); }

private class TesteHandler extends Handler { @Override public void handleMessage(Message msg) { Toast.makeText(MinhaActivity.this, msg.what + "", Toast.LENGTH_LONG).show(); } }

}

public class MinhaActivity extends Activity implements OnClickListener {

private Handler handler = new TesteHandler();

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.teste_handler);

Button play = (Button) findViewById(R.id.testehandler);

play.setOnClickListener(this); }

public void onClick(View v) { handler.sendMessage(new Message()); }

private class TesteHandler extends Handler { @Override public void handleMessage(Message msg) { Toast.makeText(MinhaActivity.this, msg.what + "", Toast.LENGTH_LONG).show(); } }

}

public class MinhaActivity extends Activity implements OnClickListener {

private Handler handler = new TesteHandler();

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.teste_handler);

Button play = (Button) findViewById(R.id.testehandler);

play.setOnClickListener(this); }

public void onClick(View v) { handler.sendMessage (new Message()); }

private class TesteHandler extends Handler { @Override public void handleMessage(Message msg) { Toast.makeText(MinhaActivity.this, msg.what + "", Toast.LENGTH_LONG).show(); } }

}

Me parece sem sentido!Que tal agendarmos este

processamento?

public class MinhaActivity extends Activity implements OnClickListener {

private Handler handler = new TesteHandler();

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.teste_handler);

Button play = (Button) findViewById(R.id.testehandler);

play.setOnClickListener(this); }

public void onClick(View v) { handler.sendMessage (new Message()); }

private class TesteHandler extends Handler { @Override public void handleMessage(Message msg) { Toast.makeText(MinhaActivity.this, msg.what + "", Toast.LENGTH_LONG).show(); } }

}

public class MinhaActivity extends Activity implements OnClickListener {

private Handler handler = new TesteHandler();

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.teste_handler);

Button play = (Button) findViewById(R.id.testehandler);

play.setOnClickListener(this); }

public void onClick(View v) { handler.sendMessageDelayed(new Message(), 3000); }

private class TesteHandler extends Handler { @Override public void handleMessage(Message msg) { Toast.makeText(MinhaActivity.this, msg.what + "", Toast.LENGTH_LONG).show(); } }

}

Exercício!Criem uma tela de Splash, três segundos depois, iniciem a tela

principal do projeto e finalizem a tela de Splash...

Até a próxima!