【安卓学习笔记】数据存储——SharedPreferences保存用户名

效果图

知识点:

  • getSharedPreferences 获取SharedPreferences对象
  • 由SharedPreferences获取Editor,Editor类似一个map
  • Editor.put写入数据,最后要加上Editor.commit
  • Editor.remove(key)移除数据,SharedPreferences.getString(key)获取数据

源码:

public class MainActivity extends Activity {

    private EditText editName;
    private EditText editPassword;
    private CheckBox checkRemember;
    private Button btnLogin;
    
    private SharedPreferences pref;
    private String userName;
    private String userPassword;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        editName = (EditText) findViewById(R.id.editName);
        editPassword = (EditText) findViewById(R.id.editPassword);
        checkRemember = (CheckBox) findViewById(R.id.checkRemember);
        btnLogin = (Button) findViewById(R.id.btnLogin);
        
        pref = getSharedPreferences("user", MODE_PRIVATE);
        
        userName = pref.getString("name", "");
        if(userName!=null){
            editName.setText(userName);
        }       
        
        btnLogin.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                
                userName = editName.getText().toString();
                userPassword = editPassword.getText().toString();
                
                if(userName==null||userPassword==null||userName.equals("")||userPassword.equals("")){                   
                    Toast.makeText(MainActivity.this, "用户名或密码为空!",Toast.LENGTH_SHORT).show();           
                }else{
                    
                    if(userName.equals("xiaoming")&&userPassword.equals("123456")){
                        Toast.makeText(MainActivity.this, "登录成功!",Toast.LENGTH_SHORT).show();           
                        Editor editor = pref.edit();
                        
                        if(checkRemember.isChecked()){
                            editor.putString("name", userName);                         
                            editor.commit();
                        }else{
                            editor.remove("name");
                            editor.commit();
                        }
                        
                    }else{
                        Toast.makeText(MainActivity.this, "用户名或密码错误",Toast.LENGTH_SHORT).show();            
                    }
                }
                                
            }
        });
    }
    
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容