首先是xml文件:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="用户名" android:id="@+id/useName" android:layout_alignParentTop="true" android:layout_alignParentStart="true" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="密 码:" android:id="@+id/pass" android:layout_below="@+id/useName" android:layout_alignParentStart="true" android:layout_marginTop="35dp" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentEnd="true" android:layout_toEndOf="@+id/useName" android:id="@+id/eduser" /> <EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:inputType="textPassword" android:ems="10" android:id="@+id/edpass" android:layout_alignTop="@+id/pass" android:layout_alignEnd="@+id/eduser" android:layout_toEndOf="@+id/pass" /> <CheckBox android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="保存用户名" android:id="@+id/chk" android:layout_below="@+id/edpass" android:layout_alignParentStart="true" android:checked="false" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="doClick" android:text="登录" android:id="@+id/login" android:layout_below="@+id/chk" android:layout_alignParentStart="true" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="取消" android:id="@+id/cancel" android:layout_alignTop="@+id/login" android:layout_centerHorizontal="true" /> </RelativeLayout>
然后Main文件:
package com.example.sharedp; import android.content.SharedPreferences; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.view.View; import android.widget.CheckBox; import android.widget.EditText; import android.widget.Toast; public class MainActivity extends AppCompatActivity { EditText etUserName,etUserPass; CheckBox chk; SharedPreferences pref; SharedPreferences.Editor editor; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); etUserName = (EditText) findViewById(R.id.eduser); etUserPass = (EditText) findViewById(R.id.edpass); chk = (CheckBox) findViewById(R.id.chk); pref = getSharedPreferences("UserInfo",MODE_PRIVATE); editor = pref.edit(); String name = pref.getString("userName",""); if(name == null){ chk.setChecked(false); }else{ chk.setChecked(true); etUserName.setText(name); } } public void doClick(View v){ switch (v.getId()){ case R.id.login: String name = etUserName.getText().toString().trim(); String pass = etUserPass.getText().toString().trim(); if ("admin".equals(name)&&"123456".equals(pass)){ if (chk.isChecked()){ editor.putString("userName",name); editor.commit(); } else{ editor.remove("uesName"); editor.commit(); } Toast.makeText(MainActivity.this,"登录成功",Toast.LENGTH_LONG).show(); }else{ Toast.makeText(MainActivity.this,"禁止登录",Toast.LENGTH_LONG).show(); } } } }相对来说比较简单