SharedPreferences存储,用于存储较复杂的数据,以xml格式保存

SharedPreferences保存的数据主要类似于配置信息格式的数据,因此它保存的数据主要是简单的key-value对。
   SharedPreferences接口主要负责读取应用程序的Preferences数据,它提供了如下方法来访问SharedPreferences中的key-value对。
        1.boolean contains(String key):判断SharedPreferences是否包含特定key的数据。
        2.abstract Map<String,?> getAll():获取SharedPreferences数据里全部的key-value对。
        3.boolean getXxx(String key,xxx defValue):获取SharedPreferences数据里指定key对应的value。如果该key不存在,返回默认
          值defValue。其中xxx可以使 boolean、float、int、longString等各种基本类型的值。 SharedPreferences接口本身并没有提供写入数据的能力,而是通过SharedPreferences的内部接口,SharedPreferences调用edit()方法即可获取它所对应的Editor对象。Editor提供了方法来向SharedPreferences写入数据:
         1.SharedPreferences.Editor   clear():清空SharePreferences里所以的数据。
         2.SharedPreferences.Editor   putXxx(String key,xxx value):向SharedPreferences存入指定key对应的数据。其中xxx可以是
            boolean、float、int、longString等各种基本类型的值。
         3.SharedPreferences.Editor   remove(String key):删除SharedPreferences里面指定key对应的数据项。
         4.boolean  commit():当Editor编辑完成后,调用该方法提交修改。 SharedPreferences本身是一个接口,程序无法直接创建SharedPreferences实例,只能通过Context的getSharedPreferences(String
   name,int mode)方法获取SharedPreferences实例,该方法的第二个参数支持如下几个值:
        1.Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读、写。
        2.Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他程序读,但不能写。
        3.Context.MODE_WORLD_WRITADLE:指定该SharedPreferences数据能被其他程序读、写。
public class SharedPerferences extends BaseActivity implements OnClickListener {

     private EditText et_nameEditText;
     private EditText et_password;
     private CheckBox cb_true;
     private Button btn_login;
     private SharedPreferences sharedPreferences;
     private SharedPreferences.Editor editor;

     @Override
     protected void onCreate(Bundle savedInstanceState) {
           super.onCreate(savedInstanceState);
          setContentView(R.layout. sharedpreferences);
           //输入用户名
           et_nameEditText = (EditText) findViewById(R.id.et_name );
           //输入密码
           et_password = (EditText) findViewById(R.id.et_password );
           //是否记住密码选框
           cb_true = (CheckBox) findViewById(R.id. cb_true);
           //登录按钮
           btn_login = (Button) findViewById(R.id.btn_login );
           btn_login.setOnClickListener( this);
           //得到SharedPreferences对象利用其获取存储的数据
           sharedPreferences =         PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
          //获取到数据就会给isRemember附上保存的只,否则则会取默认值false
           boolean isRemember=sharedPreferences.getBoolean("isremeber" ,false);
           if(isRemember){
                et_nameEditText.setText( sharedPreferences.getString( "name", ""));
                et_password.setText( sharedPreferences.getString( "password", ""));
               cb_true.setChecked( true);
          }


     }

     @Override
     public void onClick(View v) {
           switch (v.getId()) {
           case R.id. btn_login:
              String name=et_nameEditText.getText().toString().trim();
              String password=et_password.getText().toString().trim();
               if(name.equals( "admin")&& password.equals("123456" )){
                    //利用SharedPreferences对象edit()方法的到SharedPreference.edit对象用来保存数据
                    editor = sharedPreferences.edit();
                    if( cb_true.isChecked()){
                         editor.putBoolean( "isremeber",true );
                         editor.putString( "name",name);
                         editor.putString( "password",password);
                   } else {
                         editor.clear();//清空数据
                   }
                    editor.commit();//提交保存
                   Intent intent= new Intent(getApplicationContext(), ViewPager1.class );
                   startActivity(intent);
                   finish();
              } else {
                   Toast. makeText(getApplicationContext(),"用户名密码不匹配", Toast.LENGTH_SHORT ).show();
              }
               break;
          }
     }
}

初来乍到,笔记有什么问题可以提出来,谢谢

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值