zoukankan      html  css  js  c++  java
  • autologin

    import java.sql.SQLException;
    
    import com.huawei.pom.alarm.database.dao.factory.DAOFactory;
    import com.huawei.pom.alarm.model.User;
    import com.huawei.pom.alarm.util.SPUtil;
    
    import android.app.Activity;
    import android.app.ProgressDialog;
    import android.content.Intent;
    import android.os.Bundle;
    import android.os.Handler;
    import android.os.Message;
    import android.view.View;
    import android.view.View.OnClickListener;
    import android.widget.Button;
    import android.widget.CheckBox;
    import android.widget.EditText;
    import android.widget.Toast;
    
    public class LoginActivity extends Activity
    {
    
        private EditText usernameET;
        private EditText passwordET;
        private Button loginBut;
        private CheckBox remembCB;
        private CheckBox autologinCB;
        private static final int MSG_SUCCESS = 0; 
        private static final int MSG_FAILURE = 1;
        private static final int MSG_QUERY_MISSTAKE=2;
        private String username;
        private String password;
        private SPUtil util;
        private ProgressDialog loginDialog;
        private boolean isValidate;
        private Handler mHandler = new Handler() {
            public void handleMessage (Message msg) {
                switch(msg.what) {
                case MSG_SUCCESS:
                    if(remembCB.isChecked()){
                        util.setValue("isRememberPW", true);
                        util.setValue("username", username);
                        util.setValue("password", password);
                    }
                    if(autologinCB.isChecked()){
                        util.setValue("isAutoLogin", true);
                    }
                    jumpHomePage();
                    break;
    
                case MSG_FAILURE:
                    Toast.makeText(LoginActivity.this, "登录失败,请检查用户名和密码是否正确", Toast.LENGTH_SHORT).show();
                    loginDialog.dismiss();
                    break;
                    
                case MSG_QUERY_MISSTAKE:
                    Toast.makeText(LoginActivity.this, "查询数据异常", Toast.LENGTH_SHORT).show();
                    loginDialog.dismiss();
                    break;              
                }
            }
        };
    
        
        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            // TODO Auto-generated method stub
            super.onCreate(savedInstanceState);
            
            util=new SPUtil(LoginActivity.this,"loginData");
            if(util.getValue("isAutoLogin", false)==true&&util.getValue("isRememberPW", false)==true){
                jumpHomePage();
            }else{
            setContentView(R.layout.login);
            initView();
            setListener();
            }
        }
        
        private void initView(){
            usernameET=(EditText)this.findViewById(R.id.login_username_edit);
            passwordET=(EditText)this.findViewById(R.id.login_password_edit);
            loginBut=(Button)this.findViewById(R.id.login_butt);
            remembCB=(CheckBox)this.findViewById(R.id.remember_pw_checkbox);
            autologinCB=(CheckBox)this.findViewById(R.id.autologin_checkbox);
            if(util.getValue("isRememberPW", false)==true){
                usernameET.setText(util.getValue("username", ""));
                passwordET.setText(util.getValue("password", ""));
            }
    
        }
        
        private void setListener(){
            
            
            loginBut.setOnClickListener(new OnClickListener(){
    
                @Override
                public void onClick(View arg0)
                {
                    // TODO Auto-generated method stub
                    username=usernameET.getText().toString();
                    password=passwordET.getText().toString();
                    
                    if("".equals(username)||"".equals(password)){
                        Toast.makeText(LoginActivity.this, "用户名和密码不能为空", Toast.LENGTH_SHORT).show();
                        return;
                    }else{
                        
                        //显示正在登录提示框
                        showLoginDialog();
                        
                        new Thread(runnable).start();
                    }
                    
                }});
        }
        
        private void jumpHomePage(){
            Intent intent=new Intent(LoginActivity.this,HomepageActivity.class);
            startActivity(intent);
        }
        
        private void showLoginDialog(){
            
            loginDialog= new ProgressDialog(LoginActivity.this);
    
            loginDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
    
            loginDialog.setTitle("请稍后");
           
            loginDialog.setMessage("正在登录");
    
            loginDialog.setIndeterminate(false);
           
            loginDialog.setCancelable(true);
            
            loginDialog.show();
    
        }
        
        Runnable runnable = new Runnable() {
    
            @Override
            public void run()
            {
                // TODO Auto-generated method stub
                User user=new User();
                user.setUserName(username);
                user.setUserPassword(password);
                try
                {
                    isValidate=DAOFactory.getDAOFactory(LoginActivity.this).getUserDao().ifCanLogin(user);
                    if(isValidate){
                        mHandler.obtainMessage(MSG_SUCCESS).sendToTarget();
                    }else{
                        mHandler.obtainMessage(MSG_FAILURE).sendToTarget();
                    }
                }
                catch (SQLException e)
                {
                    // TODO Auto-generated catch block
                    mHandler.obtainMessage(MSG_QUERY_MISSTAKE).sendToTarget();
                }
    
                
            }
            
            
        };
    
    }
  • 相关阅读:
    所有抽样单元都有相等的被选取机会 ,说法错误
    银行存款余额表由谁编制的
    资本公积——资本溢价与资本公积——其他资本公积
    货币单元抽祥
    企业安全生产费用账务的处理
    Tableau代写制作地图可视化和树形图、条形图
    Tableau 代写数据可视化:探索性图形分析新生儿死亡率数据
    R、Python代写、Open Refine采集pdf数据,清理数据和格式化数据
    使用GIS编程代写制作静态地图和处理地理数据
    用R语言编程代写制作交互式图表和地图
  • 原文地址:https://www.cnblogs.com/leiqun123/p/3196308.html
Copyright © 2011-2022 走看看