布局文件是:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="70dp" android:textSize="18sp" android:text="用户名:" android:layout_height="wrap_content" /> <EditText android:id="@+id/udv" android:layout_width="match_parent" android:hint="请输入用户名" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:layout_width="70dp" android:textSize="18sp" android:text="密码:" android:layout_height="wrap_content" /> <EditText android:id="@+id/pdv" android:layout_width="match_parent" android:hint="请输入密码" android:layout_height="wrap_content" /> </LinearLayout> <LinearLayout android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <CheckBox android:id="@+id/remember_pass" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:layout_width="wrap_content" android:textSize="18sp" android:text="记住密码" android:layout_height="wrap_content" /> </LinearLayout> <Button android:id="@+id/login" android:textSize="20sp" android:layout_width="350dp" android:layout_gravity="center_horizontal" android:background="@drawable/but" android:text="登陆" android:layout_height="60dp" /> </LinearLayout>Activity 中的代码
package action.svse.com.lyydemo; import android.content.Intent; import android.content.SharedPreferences; import android.preference.PreferenceManager; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; public class LoginActivity extends AppCompatActivity { //声明组件 private SharedPreferences pref; private SharedPreferences.Editor editor; private EditText accountEdit; private EditText passwordEdit; private Button login; private CheckBox rememberPass; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_login); //获取组件 pref = PreferenceManager.getDefaultSharedPreferences(this); accountEdit = (EditText) findViewById(R.id.udv); passwordEdit = (EditText) findViewById(R.id.pdv); rememberPass = (CheckBox) findViewById(R.id.remember_pass); login = (Button) findViewById(R.id.login); boolean isRemember = pref.getBoolean("remember_password", false); if (isRemember) { //将账号和密码设置在文本框中 String account = pref.getString("account", ""); String password = pref.getString("password", ""); accountEdit.setText(account); passwordEdit.setText(password); rememberPass.setChecked(true); } login.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String account = accountEdit.getText().toString(); String password = passwordEdit.getText().toString(); //如果帐号是admin 密码是123456,登陆成功 if (account.equals("admin") && password.equals("123456")) { editor = pref.edit(); if (rememberPass.isChecked()) {//检查复选框是否被选中 editor.putBoolean("remember_password", true); editor.putString("account", account); editor.putString("password",password); }else { editor.clear(); } editor.apply(); Intent intent=new Intent(LoginActivity.this,MainActivity.class); startActivity(intent); finish(); }else { Toast.makeText(LoginActivity.this,"account or password is invalid",Toast.LENGTH_SHORT).show(); } } }); } }效果图是: