zoukankan      html  css  js  c++  java
  • SharedPreferences

    SharedPreferences存储

    SharedPreferences只能保存简单类型的数据,例如四种基本类型(int,float,long,boolean)+String。如果需要存取比较复杂的数据类型比如类或者图像,则需要对这些数据进行编码,通常将其转换成Base64编码,然后将转换后的数据以字符串的形式保存在XML文件中。
    最终会在手机的/data/data/package_name/shared_prefs/目录下以xml的格式存在

     例子:实现登陆保存用户名和密码,实现自动登陆功能。

    public class StoreActivity extends BaseActivity{  //BaseActivity这个是继承AppCompatActivity
        private EditText et_user;
        private EditText et_pass;
        private Button login;
        private SharedPreferences sf;
        private String mr="mr",  pass="123456";
        @Override
        protected int getLayoutId() {
            return R.layout.activity_store;
        }
        @Override
        protected void initView() {
            et_user = findViewById(R.id.et_user);
            et_pass = findViewById(R.id.et_pass);
            login = findViewById(R.id.login);
            //获取SharedPreferences
             sf = getSharedPreferences("mis",MODE_PRIVATE);//MODE_PRIVATE本应用可用
        }
        @Override
        protected void initData() {
            //操作1.自动登录功能:获取保存的登录信息直接登录
            String username = sf.getString("username",null);
            String password = sf.getString("password",null);
            //存储的用户名密码如果存在自动登录,如果没有手动登录
            if(username!=null && password!=null){
                //并且等于数据库中登录的账号密码
                if(username.equals(mr) && password.equals(pass)){
                    //跳转
                    Intent intent =new Intent(StoreActivity.this,BottomNavigationBarActivity.class);
                    startActivity(intent);
    
                }
            }else{
                //手动登录:点击登录的时候进行登录并存储数据
                login.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        String in_user = et_user.getText().toString();
                        String in_pass = et_pass.getText().toString();
                        SharedPreferences.Editor editor =  sf.edit(); //editor对象
                        if(in_user.equals(mr) && in_pass.equals(pass)){
                            //保存数据
                            editor.putString("username",in_user);
                            editor.putString("password",in_pass);
                            editor.commit();
                 //跳转 Intent intent
    =new Intent(StoreActivity.this,BottomNavigationBarActivity.class); startActivity(intent); Toast.makeText(StoreActivity.this,"已保存账号密码!",Toast.LENGTH_SHORT).show(); }else{ Toast.makeText(StoreActivity.this,"账号或密码不正确!",Toast.LENGTH_SHORT).show(); } } }); } } }
  • 相关阅读:
    周二
    周末
    简单I/O
    格式输出(1)
    c语言—变量
    水仙花数
    控制语句—循环语句
    mysql6数据库安装与配置
    如何解决Tomcat端口号被占用
    eclipse配置tomcat详细步骤
  • 原文地址:https://www.cnblogs.com/xuqp/p/9856541.html
Copyright © 2011-2022 走看看