Android实现记住账号密码功能

本文实例为大家分享了Android实现记住账号密码的具体代码,供大家参考,具体内容如下

布局

一个复选框

<CheckBox

android:id="@+id/checkbox"

android:radius="5dp"

android:text="记住我"

android:layout_marginLeft="20dp"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>

代码

public class MainActivity extends AppCompatActivity implements View.OnClickListener{

private CheckBox checkBox;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

checkBox = findViewById(R.id.checkbox);

SharedPreferences sp = getSharedPreferences("items",MODE_PRIVATE);

/**

* getBoolean(name,defaultValue) 若没有name,则返回defaultValue

* 获取标志位,若flag为true,则有数据

*/

if( sp.getBoolean("flag",false)==true ){

getData();

//模拟点击

checkBox.performClick();

}

//设置checkbox的监听事件

checkBox.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {

@Override

public void onCheckedChanged(CompoundButton compoundButton, boolean isCheck) {

//若选中,则保存数据,否则,清除数据

if(isCheck){

saveData();

Toast.makeText(MainActivity.this,"已保存",Toast.LENGTH_LONG).show();

}

else{

clearData();

}

}

});

}

/**

* SharedPreferences为轻量级的存储方式

* Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问。

* 在该模式下,写入的内容会覆盖原文件的内容

* 存储位置:Device File Explorer(idea 或Android studio右下角)

* data/data/项目的包名/shared_prefs

*/

//清除数据

private void clearData() {

SharedPreferences sp = getSharedPreferences("items",MODE_PRIVATE);

SharedPreferences.Editor editor = sp.edit();

editor.clear();

editor.commit();

et1.setText("");

et2.setText("");

}

/**

* 获取SharedPreferences数据

*/

private void getData(){

SharedPreferences sp = getSharedPreferences("items", Context.MODE_PRIVATE);

String username = sp.getString("username","");

String password = sp.getString("password","");

et1.setText(username);

//密文设置

TransformationMethod method = PasswordTransformationMethod.getInstance();

et2.setText(password);

et2.setTransformationMethod(method);

}

/**

*保存数据

* android:onClick响应的方法 只能用修饰符public

*/

public void saveData(){

SharedPreferences sharedPreferences = getSharedPreferences("items", Context.MODE_PRIVATE);

SharedPreferences.Editor editor = sharedPreferences.edit();

String username = et1.getText().toString();

String password = et2.getText().toString();

if(!username.equals("") && !password.equals("")) {

editor.putString("username", username);

editor.putString("password", password);

editor.putBoolean("flag", true); //标志位

editor.commit();

}

}

}

测试

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

以上是 Android实现记住账号密码功能 的全部内容, 来源链接: utcz.com/p/243069.html

回到顶部