在android中创建一个登录页面

时间:2011-07-14 13:25:44

标签: android login

我必须在android(username and password)中创建一个登录页面,并且必须通过发送(用户名和密码)来验证此登录信息。有人知道我该怎么办?如果你能提供我的一些代码会很棒!

更新:有人可以告诉哪个是正确的方法来做一个http帖子并请求/ ????

1 个答案:

答案 0 :(得分:0)

试试这个

    public class Login extends Activity {
 /** Called when the activity is first created. */


 private static final String SOAP_ACTION = "http://tempuri.org/LoginUser";
 private static final String METHOD_NAME = "LoginUser";
 private static final String NAMESPACE = "http://tempuri.org/";
 private static final String URL = "http://";
 private static final String TAG = "HELLO";

 @Override
public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.main);
Button signin = (Button) findViewById(R.id.regsubmitbtn);



       signin.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {

    new StartLoginAsyncTask(yourclass.this).execute();


    }
 });
  }


   private class LoginTask extends AsyncTask<Void, Void, Boolean> {
   private final ProgressDialog dialog = new ProgressDialog(YourClass.this);

   protected void onPreExecute() {
     this.dialog.setMessage("Logging in...");
     this.dialog.show();
  }

   protected Boolean doInBackground(final Void unused) {
     return Main.this.login(); //don't interact with the ui!
  }

        protected void onPostExecute(final Boolean result) {
       if (this.dialog.isShowing()) {
            this.dialog.dismiss();
          }
             if (result.booleanValue()) {
             //also show register success dialog
         }
      }
           }




            private String doLogin() {
                EditText etxt_user = (EditText)findViewById(R.id.emaileditlog);
                String email_id = etxt_user.getText().toString();
                EditText etxt_password = (EditText)findViewById(R.id.pwdeditlog);
                String password = etxt_password.getText().toString();
                           SoapObject request = new SoapObject(NAMESPACE, METHOD_NAME);
                           request.addProperty("email", email);
                              request.addProperty("password", password);

                             SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
                soapEnvelope.dotNet = true;
                soapEnvelope.setOutputSoapObject(request);
                HttpTransportSE aht = new HttpTransportSE(URL);

                 Pattern EMAIL_ADDRESS_PATTERN =Pattern.compile(
                         "[a-zA-Z0-9\\+\\.\\_\\%\\-\\+]{1,256}" +
                         "\\@" +
                         "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,64}" +
                         "(" +
                         "\\." +
                         "[a-zA-Z0-9][a-zA-Z0-9\\-]{0,25}" +
                         ")+");
                 Matcher matcher = EMAIL_ADDRESS_PATTERN.matcher(email_id);
                 if(matcher.matches()){
                  Log.v(TAG, "Your email id is valid ="+email_id);
                //  System.out.println("Your email id is valid ="+email);
                 }
                 else{
               //  System.out.println("enter valid email id");
                  Log.v(TAG, "enter valid email id" );
                 }
                 if (password != null) 
                    {
                     if(email_id.equalsIgnoreCase("")||password.equalsIgnoreCase(""))   
                    {
                   System.out.println("Fields should not be EMPTY");
                  }
                    }

            SoapObject request = new SoapObject(NAMESPACE_LOGIN, METHOD_NAME_LOGIN);
            request.addProperty("email", email_id);
            request.addProperty("pwd", password);



                  SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11);
            soapEnvelope.dotNet = true;
            soapEnvelope.setOutputSoapObject(request);
            HttpTransportSE aht = new HttpTransportSE(URL_LOGIN);

          try {
                   aht.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 
             aht.call(SOAP_ACTION_LOGIN, soapEnvelope);

             SoapObject resultsRequestSOAP = (SoapObject) soapEnvelope.bodyIn;
             Log.v("TAG", String.valueOf(resultsRequestSOAP));

            Object response=(Object)soapEnvelope.getResponse();
            temp=response.toString();



            } catch (Exception e) {

             e.printStackTrace();
            }

        return(temp);
        }