remove (String key):删除preference
java类
package com.android.activity; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.content.SharedPreferences; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.CheckBox; import android.widget.CompoundButton; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends Activity { private EditText etAccount; private EditText etPW; private Button btnLogin; private Button btnExit; private CheckBox cbrp; private CheckBox cbal; // private UserMgr userMgr; // private User user; private SharedPreferences sp;// 相当于cookie private Button tvClear; /* * (non-Javadoc) * * @see android.app.Activity#onCreate(android.os.Bundle) */ @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.login); etAccount = (EditText) findViewById(R.id.etaccount);// 账号 etPW = (EditText) findViewById(R.id.etpw);// 密码 cbrp = (CheckBox) findViewById(R.id.cbrp);// 记住密码 cbal = (CheckBox) findViewById(R.id.cbal);// 自动登陆 btnLogin = (Button) findViewById(R.id.btnlogin);// 登陆 btnExit = (Button) findViewById(R.id.btnexit);// 退出 tvClear = (Button) findViewById(R.id.tvclear);// 清除缓存 InitConfig();// 初始化控件 cbrp .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { sp = getSharedPreferences("UserInfo", 0); sp.edit().putBoolean("cbrp", isChecked).commit(); } }); cbal .setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { sp = getSharedPreferences("UserInfo", 0); sp.edit().putBoolean("cbal", isChecked).commit(); } }); // 如果选择自动登陆后,则直接登陆就行了, if (cbal.isChecked()) {// 选择了自动登陆 // 判断密码是否正确 sp = getSharedPreferences("UserInfo", 0); String password = sp.getString("password", null); Toast.makeText(MainActivity.this, "自动登陆时的密码是=" + sp.getString("password", null), 3000).show(); if (null != password && password.equals("q")) { Toast.makeText(MainActivity.this, "自动登陆成功.....", 3000).show(); Intent intent = new Intent(MainActivity.this, LoginSuccess.class); startActivity(intent); // finish(); } else { Toast.makeText(MainActivity.this, "自动登陆失败.....", 3000).show(); } } btnLogin.setOnClickListener(new OnClickListener() { public void onClick(View v) { if (cbrp.isChecked()) {// 选择了记住密码 sp = getSharedPreferences("UserInfo", Context.MODE_WORLD_WRITEABLE | Context.MODE_WORLD_READABLE); sp.edit().putString("account", etAccount.getText().toString()).commit(); sp.edit().putString("password", etPW.getText().toString()) .commit(); Toast.makeText(MainActivity.this, "记住密码.....", 3000).show(); } else {// 没有记住密码 // 设置为空的. sp = getSharedPreferences("UserInfo", 0); sp.edit().putString("password", null).commit(); Toast.makeText(MainActivity.this, "没有记住密码", 3000).show(); } // 对数据进行校验,然后进入登陆成功页面 if (etPW.getText().toString().equals("q")) {// Intent intent = new Intent(MainActivity.this, LoginSuccess.class); startActivity(intent); // finish(); Toast.makeText(MainActivity.this, "登陆成功......", 3000) .show(); } else { Toast.makeText(MainActivity.this, "登陆失败...........", 3000) .show(); } } }); btnExit.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { System.exit(0); } }); tvClear.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "清除缓存成功.......", 3000).show(); // 设置为空的. sp = getSharedPreferences("UserInfo", 0); sp.edit().clear().commit(); } }); } // 初始化配置 private void InitConfig() { sp = getSharedPreferences("UserInfo", 0); etAccount.setText(sp.getString("account", null)); etPW.setText(sp.getString("password", null)); cbal.setChecked(sp.getBoolean("cbal", false)); cbrp.setChecked(sp.getBoolean("cbrp", false)); } }
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/ivlogo" /> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_marginLeft="20dip" android:gravity="center_vertical" android:layout_height="wrap_content" android:id="@+id/tvaccount" android:text="帐号:" android:textSize="20sp" /> <EditText android:layout_width="70px" android:layout_height="wrap_content" android:id="@+id/etaccount" android:layout_marginRight="20dip" android:maxLength="20" /> </LinearLayout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tvpw" android:layout_marginLeft="20dip" android:gravity="center_vertical" android:text="密码:" android:textSize="20sp" /> <EditText android:layout_width="70px" android:layout_height="wrap_content" android:layout_marginRight="20dip" android:id="@+id/etpw" android:inputType="textPassword" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="5dip" android:layout_marginRight="20dip"> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tvclear" android:text="清除Cookies" android:textColor="#aa0000" android:textSize="12px" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="5dip"> <Button android:layout_width="100px" android:layout_height="wrap_content" android:id="@+id/btnlogin" android:layout_gravity="center" android:text="登录" /> <Button android:layout_width="100px" android:layout_height="wrap_content" android:id="@+id/btnexit" android:layout_gravity="center" android:text="退出" /> </LinearLayout> <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_marginTop="25dip"> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/cbrp" android:text="记住密码" android:textSize="12px" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/cbal" android:text="自动登录" android:textSize="12px" /> </LinearLayout> </LinearLayout>