Foros del Web » Programando para Internet » Android »

como mostrar un toast y un alert despues de haber ejecutado un progressbar

Estas en el tema de como mostrar un toast y un alert despues de haber ejecutado un progressbar en el foro de Android en Foros del Web. Buen dia tengo un problema, estoy realizando una actividad, donde pida un usuario y una contraseña, al momento de dar click muestre un progressbar de ...
  #1 (permalink)  
Antiguo 19/08/2011, 12:43
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 4 meses
Puntos: 4
Exclamación como mostrar un toast y un alert despues de haber ejecutado un progressbar

Buen dia tengo un problema, estoy realizando una actividad, donde pida un usuario y una contraseña, al momento de dar click muestre un progressbar de tipo Spinner donde mediante un hilo verifique el usuario y la contraseña, si el usuario esta bien que mande a la siguiente actividad pero si el usuario escribio mal sus datos, detenga el progressbar y muestre un mensaje tipo Toast y un mensaje de tipo Alert.
  #2 (permalink)  
Antiguo 19/08/2011, 12:55
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: como mostrar un toast y un alert despues de haber ejecutado un progressbar

Saludos, una cosa es "tengo una duda en mi código" y otra es "me hacen mi código" jeje tus dudas de como usar una toast y progressbar ya fueron publicadas te doy los links para que los cheques y hagas aunque sea un poco de código luego responder a tus dudas.
Cita:
http://www.forosdelweb.com/f165/creando-toast-aplicacion-925437/
http://www.forosdelweb.com/f165/juguemos-con-las-progressbar-yayy-931321/
  #3 (permalink)  
Antiguo 19/08/2011, 12:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: como mostrar un toast y un alert despues de haber ejecutado un progressbar

Bueno aqui dejo el codigo que estoy programando:

Código JAVA:
Ver original
  1. package Password.Principal;
  2.  
  3. import usuario.Alerts;
  4. import usuario.ManejadorBD;
  5. import usuario.Usuario;
  6. import usuario.Validacion;
  7. import android.app.Activity;
  8. import android.app.ProgressDialog;
  9. import android.content.Intent;
  10. import android.database.Cursor;
  11. import android.os.Bundle;
  12. import android.view.View;
  13. import android.view.View.OnClickListener;
  14. import android.widget.Button;
  15. import android.widget.EditText;
  16. import android.widget.Toast;
  17.  
  18. public class Sesion extends Activity {
  19.  
  20.     public ManejadorBD cnx = null;
  21.     private Alerts alerta = new Alerts();
  22.     private int id=0;
  23.     public Toast msj;
  24.     public ProgressDialog inSesion;
  25.     private int numIntento=0;
  26.     private String msjErrror="";
  27.     private boolean entrada;
  28.     private Thread is;
  29.  
  30.     /** Called when the activity is first created. */
  31.     @Override
  32.     public void onCreate(Bundle savedInstanceState) {
  33.         super.onCreate(savedInstanceState);
  34.         setContentView(R.layout.sesion);
  35.  
  36.         try {
  37.             final EditText usr = (EditText) findViewById(R.id.user);
  38.             final EditText psw = (EditText) findViewById(R.id.psw);
  39.             Button iniciar = (Button) findViewById(R.id.iniciar);
  40.  
  41.             usr.setOnClickListener(new OnClickListener() {
  42.  
  43.                 @Override
  44.                 public void onClick(View v) {
  45.                     // TODO Auto-generated method stub
  46.                     usr.setText("");
  47.                 }
  48.             });
  49.  
  50.             psw.setOnClickListener(new OnClickListener() {
  51.  
  52.                 @Override
  53.                 public void onClick(View v) {
  54.                     // TODO Auto-generated method stub
  55.                     psw.setText("");
  56.                 }
  57.             });
  58.  
  59.             iniciar.setOnClickListener(new OnClickListener() {
  60.  
  61.                 @Override
  62.                 public void onClick(View v) {
  63.                     // TODO Auto-generated method stub
  64.                      inSesion=ProgressDialog.show(Sesion.this, "","Iniciando Sesion...", true);
  65.                    
  66.                     is=new Thread(new Runnable() {
  67.                        
  68.                         @Override
  69.                         public void run() {
  70.                             // TODO Auto-generated method stub
  71.                             if(this.verificarUsuarioSistema(usr.getText().toString(), psw.getText().toString())){
  72.                                 entrada=true;
  73.                             }else{
  74.                                 entrada=false;                     
  75.                             }
  76.                             inSesion.dismiss();
  77.                         }                                      
  78.                        
  79.                         private boolean verificarUsuarioSistema(String nomusr, String usrpsw){
  80.                             cnx = new ManejadorBD(Sesion.this, "passwordsBD", 1, 'r');
  81.                             Usuario user = new Usuario();
  82.                             user.setUsuario(nomusr);
  83.                             user.setPassword(usrpsw);
  84.                             Validacion validar = new Validacion(); 
  85.                             if (validar.validarUsuario(nomusr)&& validar.validarPassword(usrpsw)) {
  86.                                 if (cnx.verificarUsuario()) {
  87.                                     msjErrror=this.getMsjErrorSesion(1);                                   
  88.                                     cnx.CerrarBD();
  89.                                     numIntento++;
  90.                                     return (false);
  91.                                 } else {
  92.                                     String[] args = { nomusr,usrpsw };
  93.                                     Cursor c = cnx.consultar("SELECT * FROM usuarios WHERE nombreUsuario=? and contrasenia=?",args);
  94.                                     if (c.getCount() == 0) {
  95.                                         msjErrror=this.getMsjErrorSesion(2);
  96.                                         cnx.CerrarBD();
  97.                                         numIntento++;
  98.                                         return (false);
  99.                                     } else {
  100.                                         if (c.moveToFirst()) {
  101.                                             String usuarioBD = null;
  102.                                             String passwordBD = null;
  103.                                             do {
  104.                                                 id = c.getInt(0);
  105.                                                 usuarioBD = c.getString(4);
  106.                                                 passwordBD = c.getString(5);
  107.                                             } while (c.moveToNext());
  108.                                             if (validar.validarUsuarioBD(usuarioBD,nomusr) && validar.validarPasswordBD(passwordBD,usrpsw)) {
  109.                                                 msjErrror=this.getMsjErrorSesion(3);                                               
  110.                                                 cnx.CerrarBD();
  111.                                                 return (true);
  112.                                             } else {
  113.                                                 msjErrror=this.getMsjErrorSesion(4);
  114.                                                 cnx.CerrarBD();
  115.                                                 numIntento++;
  116.                                                 return (false);
  117.                                             }
  118.                                         } else {
  119.                                             msjErrror=this.getMsjErrorSesion(5);
  120.                                             cnx.CerrarBD();
  121.                                             return (false);
  122.                                         }
  123.                                     }
  124.                                 }
  125.                             } else {
  126.                                 msjErrror=this.getMsjErrorSesion(6);
  127.                                 cnx.CerrarBD();
  128.                                 numIntento++;
  129.                                 return (false);
  130.                             }
  131.                          
  132.                         }
  133.                        
  134.                         private String getMsjErrorSesion(int idError){
  135.                             String msj="";
  136.                             switch(idError){
  137.                               case 1:
  138.                                   msj="El usuario es inválido o incorrecto";
  139.                               break;
  140.                               case 2:
  141.                                   msj="El usuario no existe en el sistema, verifique la información";
  142.                               break;
  143.                               case 3:
  144.                                   msj="Accediendo a la aplicación";
  145.                               break;
  146.                               case 4:
  147.                                   msj="El usuario o contraseña son inválidos, verifique la información";
  148.                               break;
  149.                               case 5:
  150.                                   msj="El usuario no existe en el sistema, verifique la información";
  151.                               break;
  152.                               case 6:
  153.                                   msj="El usuario o contraseña son inválidos, verifique la información";
  154.                               break;
  155.                               default:
  156.                                   msj="Ha ocurrido un problema al iniciar la sesion";
  157.                               break;
  158.                             }
  159.                            
  160.                             return(msj);
  161.                         }
  162.                     });
  163.                     is.start();
  164.                    
  165.                     if(is.isAlive()){
  166.                        
  167.                     if(entrada==true){
  168.                        
  169.                         Intent envio = new Intent(Sesion.this,
  170.                                     Principal.class);
  171.                             Bundle idUser = new Bundle();
  172.                             idUser.putInt("idUsuario", id);
  173.                             envio.putExtras(idUser);
  174.                             setResult(RESULT_OK, envio);
  175.                             startActivity(envio);
  176.                             finish();
  177.                     }else{
  178.                         if(entrada==false){
  179.                         alerta.showWarning("Acceso Denegado",
  180.                                 msjErrror, Sesion.this);
  181.                         this.verificarIntentos();  
  182.                         }
  183.                     }
  184.                     }else{
  185.                         is.start();
  186.                     }
  187.                 }
  188.                
  189.                 private void verificarIntentos(){                          
  190.                     if(numIntento==3){
  191.                         msj=Toast.makeText(Sesion.this,
  192.                                 "Intenta mas tarde",
  193.                                 Toast.LENGTH_SHORT);
  194.                         msj.show();
  195.                     }else{
  196.                         int intentos=3-numIntento;
  197.                         msj=Toast.makeText(Sesion.this,
  198.                                 "Intentos restantes:"+intentos,
  199.                                 Toast.LENGTH_SHORT);
  200.                         msj.show();
  201.                     }
  202.                 }
  203.             });
  204.            
  205.         } catch (Exception e) {
  206.             alerta.showWarning("Error en la Aplicación",
  207.                     "Se ha producido un error", this);
  208.             finish();
  209.         }
  210.     }
  211.    
  212.    
  213. }

Mi problema es que en mi codigo, la primera vez que entra no me ejecuta el hilo, sino hasta la segunda vez que doy click en el boton, pero el detalle es q si esta mal me manda directo el alert y el toast, y no me muestra la barra de progreso, y si pongo bien los datos, la primera vez q le doy me marca q esta mal y la segunda vez me ya me lanza la barra de progreso y ejecuta la siguiente actividad
  #4 (permalink)  
Antiguo 19/08/2011, 13:24
Avatar de zero_master  
Fecha de Ingreso: junio-2011
Ubicación: Leon, Gto
Mensajes: 290
Antigüedad: 12 años, 9 meses
Puntos: 74
Respuesta: como mostrar un toast y un alert despues de haber ejecutado un progressbar

Wooo por algo código jeje cuando te lanza el error es el típico error de ejecución en la pantalla del emulador? o es en la parte de abajo de eclipse en consola? Por que si es en la parte de consola de eclipse podríamos encontrar mas rápido el error o aveces pasa que en los emuladores no lo arranque bien tendrías que probar con un celular o tablet con android para ver si corre bien ahí. En todos modos tratare de ver donde esta tu error pero creo que tarde unas buenas horas.
  #5 (permalink)  
Antiguo 19/08/2011, 13:48
 
Fecha de Ingreso: noviembre-2008
Mensajes: 49
Antigüedad: 15 años, 4 meses
Puntos: 4
Respuesta: como mostrar un toast y un alert despues de haber ejecutado un progressbar

ps cuando lo ejecuto asi como en el codigo no me marca ningun error ni en el emulador ni en el DDMS ni en el celular, sino q se pasa de alto el progressbar y la ejecucion del hilo la primera vez y se salta el if donde verifico si el hilo esta activo, y se mete al if donde verifico la variable entrada , asi que no se q este sucediendo en realidad, muchas gracias por tu ayuda, ojala des con mi error de programacion o logica

Etiquetas: progressbar, alerta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:51.