android 应用软件注册与自动登录代码

本文详细介绍了如何在系统启动后实现欢迎界面与快速注册功能,并在注册成功后自动登录。通过SharedPreferences来读取与保存用户名和密码,确保用户在后续运行中能够直接进入系统主界面。

琢磨了很久

实现系统第一次启动显示欢迎及快速注册界面,注册成功后下次运行实现自动登录。

系统启动后首先进入系统主界面,读取用户名和密码,如果为空则直接跳转到快速注册界面,否则系统正常运行。

快速注册界面实现用户名和密码的读取及保存。

 

主要通过SharedPreferences实现。

 

系统运行主界面

//定义文件

 public static final String PREFS_NAME = "MyPrefsFile";
 public static final String USER_NAME = "username";
 public static final String USER_PASSWORD = "userpassowrd";


 private String username;
 private String userpassword ;

 

  @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.functionselection);
        setTitle("系统");
       
        //判断是否为第一次登陆
        SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); 
        username = settings.getString(USER_NAME, "");  //读取用户名,如果不存在则置空,原本写的是 username = settings.getString(USER_NAME, null);好像效果不太好
        userpassword = settings.getString(USER_PASSWORD, ""); //读取密码

 

        if(username.equals("")||userpassword.equals(""))   //不要写成equals("null")
        {
         //第一次登陆 跳转
         Intent intent = new Intent(LibFunctionSelect.this,FirstLogin.class); //跳转到注册界面
         startActivity(intent);
         finish();
        }

      //否则 程序继续执行,因为用户名密码已经记录到username 和userpassword中,从而实现自动登录

 

注册界面代码

 // 文件定义
   public static final String PREFS_NAME = "MyPrefsFile"; //注意文件名跟上面一致
   public static final String USER_NAME = "username";
   public static final String USER_PASSWORD = "userpassowrd";
  

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
        setTitle("快速注册");
  
       //获取帐号名和密码
       et_password = (EditText) findViewById(R.id.PassoWord);
       et_username = (EditText) findViewById(R.id.UserName);
   
  

 //设置注册监听
   private void setBtnOnClickListener(){
   button_listener_login = new OnClickListener(){
   public void onClick(View v)
    {

      //获取界面用户名和密码
      password = et_password.getText().toString();
      username = et_username.getText().toString();

       if(checkAccount(username, password)) 
        {
       
             SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
            //保存用户名和密码,以便下次自动登录
           SharedPreferences.Editor editor = settings.edit();  
           editor.putString(USER_NAME, username);
           editor.putString(USER_PASSWORD, password);
           editor.commit();//保存
        
           //跳转
          Intent intent = new Intent(LibSystemLogin.this,LibFunctionSelect.class); //注册成功,返回主界面
          startActivity(intent);
        }

}

 

 //用户名密码检验
 public  boolean checkAccount(String username,String password){
  
   if(username.equals("")|| password.equals(""))
            return false; 
  return true;
  
 }

 

注意:两个文件名一致

          缺省值一致,此处均设置为“ ”

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值