实现自动登录和记住密码

来源:互联网 发布:zigbee协议栈编程 编辑:程序博客网 时间:2024/05/18 03:39





import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.CheckBox;
import android.widget.EditText;

public class LoginActivity extends Activity {

    private CheckBox mima;
    private CheckBox auto;
    private EditText et_name;
    private EditText et_psd;
    private SharedPreferences sp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        //初始化控件
        et_name = (EditText) findViewById(R.id.et_name);
        et_psd = (EditText) findViewById(R.id.et_psd);  
        mima = (CheckBox) findViewById(R.id.mima);
        auto = (CheckBox) findViewById(R.id.auto);
        //初始化sp
        sp = getSharedPreferences("config", MODE_PRIVATE);
        
    
        String name2 = sp.getString("name2", null);
        String psd2 = sp.getString("psd2", null);
        if(TextUtils.isEmpty(name2)||TextUtils.isEmpty(psd2))
        {  
        }
        else
        {
            Intent intent=new Intent(LoginActivity.this,FriendActivity.class);
            startActivity(intent);  
        }
        boolean checked = sp.getBoolean("checked", false);
        if(checked)
        {
            //实现第二次进入页面  处选中状态于
            mima.setChecked(true);
            
            //获取sp中的信息
            String name = sp.getString("name", "");
            String psd = sp.getString("psd", "");
            //将获取信息给Edittext  用于显示
            et_name.setText(name);
            et_psd.setText(psd);
        }
    }
    //button的点击事件
    public void login(View v){
       

//记住密码

        //获取edittext输入的信息
        String name = et_name.getText().toString().trim();
        String psd = et_psd.getText().toString().trim();
        
        Editor edit = sp.edit();
        //复选框默认选中
        boolean checked = mima.isChecked();
        
        //如果勾选了
        if(checked)
        {
            edit.putString("name", name);
            edit.putString("psd", psd);
            //checkbox的勾选状态
            edit.putBoolean("checked", true);
            edit.commit();
        }
        else
        {
            edit.putString("name", null);
            edit.putString("psd", null);
            //checkbox的勾选状态
            edit.putBoolean("checked", false);
            edit.commit();
        }
        



        //自动登录

        boolean checked2 = auto.isChecked();
        if(checked2)
        {
            Editor edit2 = sp.edit();  
            
            edit2.putString("name2", name);
            edit2.putString("psd2", psd);
            edit2.commit();
            Intent intent=new Intent(LoginActivity.this,FriendActivity.class);
            startActivity(intent);  
        }
        else
        {
            Intent intent=new Intent(LoginActivity.this,FriendActivity.class);
            startActivity(intent);
            
        }       
    }
}


原创粉丝点击