安卓登陆框记住密码和自动登录的实现 .

本文介绍了如何在Android应用中实现登录框的记住密码和自动登录功能。通过SharedPreferences存储用户信息,当用户选择记住密码和自动登录后,再次启动应用时能自动填充用户名和密码,实现自动登录。
摘要由CSDN通过智能技术生成

1,在AndroidMainfest文件中注册activity;运行了下还是不行

2,在MainActivity.java文件中的Intent intent = new Intent();
intent.setClass(MainActivity.this, 
SuccessActivity1.class);
这两句后边加这一句 startActivity(intent);
3,替换文件,改包名:package com.example.minitwittersimulate;
4,创建home.xml文件
5,创建LoginActivity.java文件
6,将LoginActivity.java中的MainActivity改为LoginAvtivity 此时运行显示错误,因为没有在
AndroidMainfest.xml文件中注册LoginActivity
  1. 7,在AndroidMainfest中注册Activity。  
7,在AndroidMainfest中注册Activity。

8,运行,成功!


LoginActivity.java

  1. package com.example.minitwittersimulate;  
  2.   
  3.   
  4.   
  5. import android.os.Bundle;  
  6. import android.app.Activity;  
  7. import android.view.Menu;  
  8. import android.view.Window;  
  9. import android.app.Activity;  
  10. import android.content.Intent;  
  11. import android.content.SharedPreferences;  
  12. import android.os.Bundle;  
  13. import android.view.View;  
  14. import android.view.View.OnClickListener;  
  15. import android.widget.Button;  
  16. import android.widget.CheckBox;  
  17. import android.widget.EditText;  
  18. import android.widget.Toast;  
  19.   
  20.   
  21. public class LoginActivity extends Activity {  
  22.       
  23.       
  24.       
  25.     private EditText etUsername;  
  26.     private EditText etPassword;  
  27.     private CheckBox cbRememberPass;  
  28.     private CheckBox autologin1;  
  29.     private Button btnLogin ;  
  30.     private SharedPreferences sp;  
  31.     private String userNameValue,passwordValue;  
  32.       
  33.   
  34.     @Override  
  35.     protected void onCreate(Bundle savedInstanceState) {  
  36.         super.onCreate(savedInstanceState);  
  37.         requestWindowFeature(Window.FEATURE_NO_TITLE);  
  38.         setContentView(R.layout.activity_main);  
  39.           
  40.         // 初始化用户名、密码、记住密码、自动登录、登录按钮   
  41.         etUsername = (EditText) findViewById(R.id.etUsername);  
  42.         etPassword = (EditText) findViewById(R.id.etPassword);  
  43.         cbRememberPass = (CheckBox) findViewById(R.id.cbRememberPass);  
  44.         autologin1 = (CheckBox) findViewById(R.id.autologin1);  
  45.         btnLogin = (Button) findViewById(R.id.btnLogin);  
  46.   
  47.         sp = getSharedPreferences("userInfo"0);  
  48.         String name=sp.getString("USER_NAME""");  
  49.         String pass =sp.getString("PASSWORD""");  
  50.                   
  51.   
  52.         boolean choseRemember =sp.getBoolean("cbRememberPass"false);  
  53.         boolean choseAutoLogin =sp.getBoolean("autologin1"false);  
  54.           
  55.           
  56.         //如果上次选了记住密码,那进入登录页面也自动勾选记住密码,并填上用户名和密码   
  57.         if(choseRemember){  
  58.             etUsername.setText(name);  
  59.             etPassword.setText(pass);  
  60.             cbRememberPass.setChecked(true);  
  61.         }  
  62.         //如果上次登录选了自动登录,那进入登录页面也自动勾选自动登录   
  63.         if(choseAutoLogin){  
  64.             autologin1.setChecked(true);  
  65.         }  
  66.           
  67.           
  68.           
  69.         btnLogin.setOnClickListener(new OnClickListener() {  
  70.               
  71.             // 默认可登录帐号xs,密码123   
  72.             @Override  
  73.             public void onClick(View arg0) {  
  74.                 userNameValue = etUsername.getText().toString();  
  75.                 passwordValue = etPassword.getText().toString();  
  76.                 SharedPreferences.Editor editor =sp.edit();  
  77.                   
  78.                 // TODO Auto-generated method stub   
  79.                 if (userNameValue.equals("xs")  
  80.                         && passwordValue.equals("123")) {  
  81.                     Toast.makeText(LoginActivity.this"登录成功",  
  82.                             Toast.LENGTH_SHORT).show();  
  83.                       
  84.                     //保存用户名和密码   
  85.                     editor.putString("USER_NAME", userNameValue);  
  86.                     editor.putString("PASSWORD", passwordValue);  
  87.                       
  88.                     //是否记住密码   
  89.                     if(cbRememberPass.isChecked()){                       
  90.                         editor.putBoolean("cbRememberPass"true);                        
  91.                     }else{  
  92.                         editor.putBoolean("cbRememberPass"false);               
  93.                     }  
  94.   
  95.                                                               
  96.                     //是否自动登录   
  97.                         if(autologin1.isChecked()){                           
  98.                             editor.putBoolean("autologin1"true);                            
  99.                         }else{  
  100.                             editor.putBoolean("autologin1"false);  
  101.                         }  
  102.                     editor.commit();  
  103.                           
  104.                     //跳转   
  105.                     //Intent intent =new Intent(MainActivity.this,SuccessActivity1.class);   
  106.                     //startActivity(intent);   
  107.                       
  108.                     Intent intent = new Intent();  
  109.                     intent.setClass(LoginActivity.this, SuccessActivity.class);  
  110.                     startActivity(intent);  
  111.                       
  112.                       
  113.                       
  114.                       
  115.                 } else {  
  116.                     Toast.makeText(LoginActivity.this"用户名或密码错误,请重新登录!",  
  117.                             Toast.LENGTH_SHORT).show();  
  118.                 }  
  119.   
  120.             }  
  121.   
  122.         });  
  123.          
  124.   
  125.     }  
  126.   
  127.           
  128.           
  129.       
  130.   
  131.     @Override  
  132.     public boolean onCreateOptionsMenu(Menu menu) {  
  133.         <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值