Android中使用SharedPreferences实现简单的记住密码功能

在这里和大家分享一下如何使用SharedPreferences来实现记住密码的功能。

一、效果图:在这里插入图片描述

二、思路:

在EditText中输入密码,点击Button按钮保存密码,保存后的密码在TextView中显示出来。

三、基本实现

1、先来定义UI

 <EditText
        android:layout_marginTop="30dp"
        android:id="@+id/et_password"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/ed_text_bg"
        android:hint="@string/et_hint"
        android:textSize="@dimen/et_hint_size" />

    <Button
        android:id="@+id/btn_save"
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_bg"
        android:padding="20dp"
        android:text="保存密码" />

    <TextView
        android:id="@+id/tv_show"
        android:layout_marginTop="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/button_bg"
        android:gravity="center"
        android:textColor="@color/color_main"
        android:textSize="@dimen/tv_text_size" />

2、后台实现

  private EditText mEtPassword;
    private Button mBtnSave;
    
    private SharedPreferences sp;  //定义SharedPreferences
    private SharedPreferences.Editor ed;//定义SharedPreferences.Editor
    
    private TextView tv_show;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        initView();
    }

    //初始化视图
    private void initView() {
        mEtPassword = (EditText) findViewById(R.id.et_password);
        mBtnSave = (Button) findViewById(R.id.btn_save);
        tv_show = findViewById(R.id.tv_show);
        sp = getSharedPreferences("password", Activity.MODE_PRIVATE);
        ed = sp.edit();

        mBtnSave.setOnClickListener(this);
    }

   //点击事件
    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.btn_save:
                submit();
                break;
        }
    }

 //重写onStart()方法,该方法在退出应用后,再次进入Activity时加载
    @Override
    protected void onStart() {
        super.onStart();
        String password = sp.getString("password", "");
        tv_show.setText("您的密码为:" +password);
    }


    private void submit() {
        //获取输入的密码
        String password = mEtPassword.getText().toString().trim();
        //判断EditText是否为空
        if (TextUtils.isEmpty(password)) {
            Toast.makeText(this, "password不能为空", Toast.LENGTH_SHORT).show();
            return;
        } else {
            //保存密码
            ed.putString("password", password);
            //提交密码
            ed.commit();
            
            Toast.makeText(this, "密码保存成功", Toast.LENGTH_SHORT).show();

        }
    }

四、解析:

getSharedPreferences()方法,这个是用来创建SharedPreferences用的,它有俩个参数,第一个代表生成的文件的名字,第二个代表模式,我们填写 Activity.MODE_PRIVATE。
调用SharedPreferencessp对象的edit()方法得到一个SharedPreferences.Editor 的实例,也就是ed,然后调用putString()方法来存储数据,它的参数是一个键值对
最后通过SharedPreferences对象**(sp)**的getString()方法来获取存储的数据。至于为什么要写在onStart()方法中上文已经讲述,这里不再多说。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值