示例:LoginDemo
关键词:SharedPreferences
示例功能:一个简单的登录,退出后记住登录密码。
示例截图:
主要代码:
LoginDemoActivity.java
package cvr.activity;
import android.app.Activity;
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.EditText;
import android.widget.Toast;
public class LoginDemoActivity extends Activity {
public static final String SETTING_INFO = "setting_infos";
public static final String PASSWORD = "password";
private EditText et_pass;
private Button btn_login;
private Button btn_select;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.login);
this.initWidget();
}
/**
* 初始化控件
*/
private void initWidget() {
et_pass = (EditText) findViewById(R.id.et_pass);
// 获取一个SharedPreferences对象
SharedPreferences settings = getSharedPreferences(SETTING_INFO, 0);
// 取出保存的password
String password = settings.getString(PASSWORD, "");
et_pass.setText(password);
btn_login = (Button) findViewById(R.id.btn_login);
btn_select = (Button) findViewById(R.id.btn_select);
// 为按钮添加点击事件
btn_login.setOnClickListener(new ButtonClickListener());
btn_select.setOnClickListener(new ButtonClickListener());
}
/**
* 按钮点击事件处理内部类
*
* @author Dream
*
*/
class ButtonClickListener implements OnClickListener {
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.btn_login:
//
String pass = et_pass.getText().toString();
Toast.makeText(LoginDemoActivity.this, pass, Toast.LENGTH_LONG).show();
//跳转activity
Intent intent = new Intent();
intent.setClass(LoginDemoActivity.this, HomeActivity.class);
startActivity(intent);
break;
case R.id.btn_select:
finish();
break;
default:
break;
}
}
}
@Override
protected void onStop() {
super.onStop();
//每次退出记住密码
SharedPreferences settings = getSharedPreferences(SETTING_INFO, 0);
settings.edit()
.putString(PASSWORD, et_pass.getText().toString())
.commit();
}
}