- import java.util.ArrayList; 
- import org.apache.http.NameValuePair; 
- import org.apache.http.message.BasicNameValuePair; 
- import org.json.JSONArray; 
- import org.json.JSONException; 
- import org.json.JSONObject; 
- import test.Droidlogin.library.Httppostaux; 
- import android.app.Activity; 
- import android.app.ProgressDialog; 
- import android.content.Context; 
- import android.content.Intent; 
- import android.net.Uri; 
- import android.os.AsyncTask; 
- import android.os.Bundle; 
- import android.os.SystemClock; 
- import android.os.Vibrator; 
- import android.util.Log; 
- import android.view.View; 
- import android.widget.Button; 
- import android.widget.EditText; 
- import android.widget.TextView; 
- import android.widget.Toast; 
-   
- public class Login extends Activity { 
-     /** Called when the activity is first created. */ 
-      
-     EditText user; 
-     EditText pass; 
-     TextView registrar; 
-     Httppostaux post; 
-     String-  IP_Server ="";//IP DE NUESTRO PC
 
-     String-  URL_connect ="http://"+- IP_Server +"www.midomnio.es/droidlogin/acces.php";//ruta en donde estan nuestros archivos
 
-   
-     boolean result_back; 
-     private ProgressDialog pDialog; 
-      
-     @Override 
-     public void onCreate(Bundle savedInstanceState) { 
-   
-         super.onCreate(savedInstanceState); 
-         setContentView(R.layout.main); 
-         post=new Httppostaux(); 
-          
-         user= (EditText) findViewById(R.id.edusuario); 
-         pass= (EditText) findViewById(R.id.edpassword); 
-         blogin = (Button)-  findViewById (- R. id- . Blogin);
-         registrar=(TextView) findViewById(R.id.link_to_register); 
-                      
-         //Login button action 
-         blogin. setOnClickListener(new View- . OnClickListener(){
-         
-             public void-  onClick (View-  view ){
 
-                   
-                 //Extreamos datos de los EditText 
-                 String-  usuario =- user. getText()- . toString();
 
-                 String-  passw =- pass. getText()- . toString();
 
-                  
-                 //verificamos si estan en blanco 
-                 if( checklogindata( usuario , passw )==true){ 
-   
-                     //si pasamos esa validacion ejecutamos el asynctask pasando el usuario y clave como parametros 
-                      
-                 new asynclogin().execute(usuario,passw);                                
-                                  
-                  
-                 }else{ 
-                     //si detecto un error en la primera validacion vibrar y mostrar un Toast con un mensaje de error. 
-                     err_login(); 
-                 } 
-                  
-             } 
-                                                             }); 
-          
-         registrar. setOnClickListener(new View- . OnClickListener(){
-              
-             public void-  onClick (View-  view ){
 
-                  
-                 //Abre el navegador al formulario adduser.html 
-                 String-  url  = "http://"+- IP_Server +"/www.midomnio.es/droidlogin/adduser.html";
 
-                 Intent i = new Intent(Intent.ACTION_VIEW); 
-                 i.setData(Uri.parse(url)); 
-                 startActivity(i);                
-                                         }            
-                                                                 }); 
-                  
-     } 
-      
-     //vibra y muestra un Toast 
-     public void err_login(){ 
-         Vibrator vibrator  =(- Vibrator )-  getSystemService (Context- . VIBRATOR_SERVICE);
-         vibrator.vibrate(200); 
-         Toast toast1 = Toast.makeText(getApplicationContext(),"Error:Nombre de usuario o password incorrectos", Toast.LENGTH_SHORT); 
-         toast1.show();       
-     } 
-      
-      
-     /*Valida el estado del logueo solamente necesita como parametros el usuario y passw*/ 
-     public boolean-  loginstatus (String-  username , String-  password  ) {
 
-         int logstatus=-1; 
-          
-         /*Creamos un ArrayList del tipo nombre valor para agregar los datos recibidos por los parametros anteriores 
-          * y enviarlo mediante POST a nuestro sistema para relizar la validacion*/  
-         ArrayList<NameValuePair> postparameters2send= new ArrayList<NameValuePair>(); 
-              
-                     postparameters2send.add(new BasicNameValuePair("usuario",username)); 
-                     postparameters2send.add(new BasicNameValuePair("password",password)); 
-   
-            //realizamos una peticion y como respuesta obtenes un array JSON 
-             JSONArray jdata=post.getserverdata(postparameters2send, URL_connect); 
-   
-             /*como estamos trabajando de manera local el ida y vuelta sera casi inmediato 
-              * para darle un poco realismo decimos que el proceso se pare por unos segundos para poder 
-              * observar el progressdialog 
-              * la podemos eliminar si queremos 
-              */ 
-             SystemClock.sleep(950); 
-                      
-             //si lo que obtuvimos no es null 
-                 if (jdata!=null && jdata.length() > 0){ 
-   
-                     JSONObject json_data; //creamos un objeto JSON 
-                     try { 
-                         json_data = jdata.getJSONObject(0); //leemos el primer segmento en nuestro caso el unico 
-                          logstatus=json_data.getInt("logstatus");//accedemos al valor  
-                          Log.e("loginstatus","logstatus= "+logstatus);//muestro por log que obtuvimos 
-                     } catch (JSONException e) { 
-                         // TODO Auto-generated catch block 
-                         e.printStackTrace(); 
-                     }                    
-                       
-                     //validamos el valor obtenido 
-                      if (logstatus==0){// [{"logstatus":"0"}]  
-                          Log.e("loginstatus ", "invalido"); 
-                          return false; 
-                      } 
-                      else{// [{"logstatus":"1"}] 
-                          Log.e("loginstatus ", "valido"); 
-                          return true; 
-                      } 
-                       
-               }else{    //json obtenido invalido verificar parte WEB. 
-                          Log.e("JSON  ", "ERROR"); 
-                         return false; 
-               } 
-          
-     } 
-      
-            
-     //validamos si no hay ningun campo en blanco 
-     public boolean-  checklogindata (String-  username , String-  password  ){
 
-          
-     if  (username.equals("") || password.equals("")){ 
-         Log.e("Login ui", "checklogindata user or pass error"); 
-     return false; 
-      
-     }else{ 
-          
-         return true; 
-     } 
-      
- }            
-      
- /*      CLASE ASYNCTASK 
-  *  
-  * usaremos esta para poder mostrar el dialogo de progreso mientras enviamos y obtenemos los datos 
-  * podria hacerse lo mismo sin usar esto pero si el tiempo de respuesta es demasiado lo que podria ocurrir     
-  * si la conexion es lenta o el servidor tarda en responder la aplicacion sera inestable. 
-  * ademas observariamos el mensaje de que la app no responde.      
-  */ 
-      
-           
-         protected void onPreExecute() { 
-             //para el progress dialog 
-             pDialog = new ProgressDialog(Login.this); 
-             pDialog.setMessage("Autenticando...."); 
-             pDialog.setIndeterminate(false); 
-             pDialog.setCancelable(false); 
-             pDialog.show(); 
-         } 
-   
-             //obtnemos usr y pass 
-             user=params[0]; 
-             pass=params[1]; 
-              
-             //enviamos y recibimos y analizamos los datos en segundo plano. 
-             if (loginstatus(user,pass)==true){                       
-                 return "ok"; //login valido 
-             }else{           
-                 return "err"; //login invalido                     
-             } 
-              
-         } 
-         
-         /*Una vez terminado doInBackground segun lo que halla ocurrido  
-         pasamos a la sig. activity 
-         o mostramos error*/ 
-         protected void-  onPostExecute (String-  result ) {
 
-   
-            pDialog.dismiss();//ocultamos progess dialog. 
-            Log.e("onPostExecute=",""+result); 
-             
-            if (result.equals("ok")){ 
-   
-                 Intent i=new Intent(Login.this, HiScreen.class); 
-                 i.putExtra("user",user); 
-                 startActivity(i);  
-                  
-             }else{ 
-                 err_login(); 
-             } 
-              
-                                                     } 
-          
-         } 
-   
-     } 
-      
-   
-     
-       
-     //-----------------------------------------------------------------------