Upload
ricardo-longa
View
197
Download
4
Embed Size (px)
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!