Interaja melhor com o usuário utilizando controles como: ProgressDialog, Alerta de Confirmação
Fazer um download de um arquivo ou fazer uma requisição de um Webservice, o usuário sempre espera que o sistema possa lhe dizer o que esta acontecendo, são controles como ProgressDialog ou um alerta de confirmação que terá essa função de inte
ProgressDialog –android.app.ProgressDialog.
Controle muito parecido com aquelas “aguarde...” que sempre vimos em paginas HTML utilizando o recurso de Ajax.
Ao contrario do controle (widget) ProgressBar que sabemos o tempo que o mesmo terá, o ProgressDialog não sabemos o tempo de seu processamento, logo esse tipo de controle é muito útil quando for feito uma requisição ao um WebService, download de um arquivo, onde o tempo de resposta não é informado.
public class AndroidConrole extends Activity {
private ProgressDialog p_dialog ;
private Handler h = new Handler();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Progress Dialog
p_dialog =ProgressDialog.show(this, "Titulo", "Aguarde...", false, true);
InicioProgressDialogo();
}
private void InicioProgressDialogo()
{
new Thread(){
@Override
public void run() {
// TODO Auto-generated method stub
//aqui faz todo o processamento e após o seu termino, chamar o método para fechar a janela
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
FimProgressDialogo();
}
}.start();
}
private void FimProgressDialogo()
{
h.post(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
p_dialog.dismiss();
}
});
}
}
Alerta de Confirmação – android.app.AlertDialog.Builder
Sempre que alterado um documento do Word e ao tentar fechá-lo sem ter sido salvo uma mensagem de alerta aparece, perguntando que deseja salvar o documento aberto. Esse é o controle que faz esse tipo de ação, uma confirmação de alerta.
public class AndroidConrole extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//Confirmação de alerta
Button btalerta = (Button)findViewById(R.id.bt_Iniciar_Alerta);
btalerta.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
AlertDialog.Builder alerta = new Builder(AndroidConrole.this);
alerta.setTitle("Titulo");
alerta.setMessage("Escolha sim ou não");
//botão para sim
alerta.setPositiveButton("Sim", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(AndroidConrole.this, "você clicou em sim", Toast.LENGTH_LONG).show();
}
});
//botão para não
alerta.setNegativeButton("Não", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
// TODO Auto-generated method stub
Toast.makeText(AndroidConrole.this, "você clicou em não", Toast.LENGTH_LONG).show();
}
});
//exibi o alerta de confirmação
alerta.show();
}
});
}
}
Bom galera esses são os principais controles para interação com o usuário, espero que tenha gostado e até a próxima.
http://www.nandosilva.com
http://www.twitter.com/nandinhors
Artigos relacionados
-
Artigo
-
Artigo
-
Vídeo
-
Artigo
-
DevCast