Android登录界面记住帐号密码实现(SharedPreferences)

  这里要用到SharedPreferences实现

SharedPreferences:是Android平台上一个轻量级的存储类,会生成一个XML文件,用来保存应用的一些常用配置。

package com.example.sharedpreferencedemo;

import android.app.Activity;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.nfc.Tag;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {
	private EditText account;
	private EditText password;
	private Button login;
	private CheckBox checkBox1;
	private SharedPreferences sp;
	private Editor editor;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		checkBox1 = (CheckBox) findViewById(R.id.checkBox1);
		login = (Button) findViewById(R.id.button1);
		account = (EditText) findViewById(R.id.editText1);
		password = (EditText) findViewById(R.id.editText2);
		sp = getSharedPreferences("info", MODE_PRIVATE);// 得到或生成info的xml文件
		editor = sp.edit();              
		init();
		login.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// TODO 自动生成的方法存根

				if (checkBox1.isChecked()) {

					editor.putString("account", account.getText().toString()
							.trim());
					editor.putString("password", password.getText().toString()
							.trim());
					editor.putBoolean("ischecked", true);
					editor.commit();
				} else {
					editor.putBoolean("ischecked", false);
					editor.commit();
				}
				Toast.makeText(MainActivity.this, "SUCCESS", Toast.LENGTH_SHORT)
						.show();
			}
		});
	}

	private void init() {   //初始化SharedPreference文件
		// TODO 自动生成的方法存根

		if (sp.getBoolean("ischecked", false)) {  //判断是否被点击

			account.setText(sp.getString("account", ""));
			password.setText(sp.getString("password", ""));
			checkBox1.setChecked(true);

		} else {
			account.setText(sp.getString("account", ""));
		}

	}

	@Override
	protected void onDestroy() {
		// TODO 自动生成的方法存根
		super.onDestroy();
		if (!checkBox1.isChecked())
		{
			editor.putBoolean("ischecked", false);
			editor.commit();
		}
	}
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值