SharedPreferences是轻量级的存储类 存储一些配置参数,比如用户名 密码等 存储的数据是以键值对保存在XML中

运行界面

用户交互界面

activity_main.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent">    <TextView        android:id="@+id/textView"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignParentTop="true"        android:layout_centerHorizontal="true"        android:textSize="40sp"        android:text="Welcome you" />RelativeLayout>

activity_login.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:background="@drawable/logintop_roundbg"    android:padding="@dimen/activity_horizontal_margin">    <EditText        android:id="@+id/etName"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="@android:drawable/edit_text"        android:drawableLeft="@drawable/icon_user"        android:drawablePadding="10dp"        android:ems="10"        android:hint="@string/etName">        <requestFocus />    EditText>    <EditText        android:id="@+id/etPassword"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/etName"        android:background="@android:drawable/edit_text"        android:drawableLeft="@drawable/icon_pass"        android:drawablePadding="10dp"        android:ems="10"        android:hint="@string/etPass"        android:inputType="textPassword">        <requestFocus />    EditText>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/etPassword">        <CheckBox            android:id="@+id/cbIsRememberPass"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="@string/cbIsRememberPass"            android:textSize="20sp" />        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:background="@drawable/btn_select"            android:text="@string/btnLogin"            android:onClick="login" />    LinearLayout>RelativeLayout>

login_top.xml

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="wrap_content"    android:background="@drawable/logintop_roundbg"    android:padding="@dimen/activity_horizontal_margin">    <EditText        android:id="@+id/etName"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:background="@android:drawable/edit_text"        android:drawableLeft="@drawable/icon_user"        android:drawablePadding="10dp"        android:ems="10"        android:hint="@string/etName">        <requestFocus />    EditText>    <EditText        android:id="@+id/etPassword"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/etName"        android:background="@android:drawable/edit_text"        android:drawableLeft="@drawable/icon_pass"        android:drawablePadding="10dp"        android:ems="10"        android:hint="@string/etPass"        android:inputType="textPassword">        <requestFocus />    EditText>    <LinearLayout        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:layout_below="@id/etPassword">        <CheckBox            android:id="@+id/cbIsRememberPass"            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:text="@string/cbIsRememberPass"            android:textSize="20sp" />        <Button            android:layout_width="0dp"            android:layout_height="wrap_content"            android:layout_weight="1"            android:background="@drawable/btn_select"            android:text="@stri*  ng/btnLogin"            android:onClick="login" />    LinearLayout>RelativeLayout>

界面交互代码

LoginActivity类

package cn.edu.bzu.case_login;import android.content.Context;import android.content.Intent;import android.content.SharedPreferences;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.CheckBox;import android.widget.EditText;import android.widget.Toast;public class LoginActivity extends AppCompatActivity {    private EditText etName;    private EditText etPassword;    private CheckBox cbIsRememberPass;    private SharedPreferences sharedPreferences;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_login);        initViews();        sharedPreferences = getSharedPreferences("rememberpassword", Context.MODE_PRIVATE);        boolean isRemember = sharedPreferences.getBoolean("rememberpassword", false);        if (isRemember) {            String name = sharedPreferences.getString("name", "");            String password = sharedPreferences.getString("password", "");            etName.setText(name);            etPassword.setText(password);            cbIsRememberPass.setChecked(true);        }    }    public void initViews() {        etName = (EditText) findViewById(R.id.etName);        etPassword = (EditText) findViewById(R.id.etPassword);        cbIsRememberPass = (CheckBox) findViewById((R.id.cbIsRememberPass));    }    public void login(View view) {        String name = etName.getText().toString();        String password = etPassword.getText().toString();        if ("admin".equals(name) && "123456".equals(password)) {            SharedPreferences.Editor editor = sharedPreferences.edit();            if (cbIsRememberPass.isChecked()) {                editor.putBoolean("rememberpassword", true);                editor.putString("name", name);                editor.putString("password", password);            } else {                editor.clear();            }            editor.commit();            Intent intent = new Intent(this, MainActivity.class);            startActivity(intent);            finish();        } else {            Toast.makeText(this, "账号或密码有误", Toast.LENGTH_SHORT).show();        }    }}

清单配置文件

AndroidManifest.xml

android<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="cn.edu.bzu.case_login">    <application        android:allowBackup="true"        android:icon="@mipmap/ic_launcher"        android:label="@string/app_name"        android:supportsRtl="true"        android:theme="@style/AppTheme">        <activity android:name=".LoginActivity">            <intent-filter>                <action android:name="android.intent.action.MAIN" />                <category android:name="android.intent.category.LAUNCHER" />            intent-filter>        activity>        <activity            android:name=".MainActivity"            android:label="main">activity>    application>manifest>

更多相关文章

  1. android 主界面 底部菜单 DEMO
  2. android listView EditText获取焦点
  3. [置顶] Android开发本地及网络Mp3音乐播放器(一)前言
  4. 安卓activity 设置Activity背景色为透明
  5. android EnMicroMsg.db安卓微信数据库获得密码的源码
  6. android 实现在titlebar上显示进度条
  7. [置顶] Android第三方库学习清单
  8. android imageview设置图片的小问题
  9. android设置动态壁纸 (Wallpaper) 介绍

随机推荐

  1. 插画用PS怎么画?ps画插画的步骤
  2. JSP request(return String)用法详例
  3. PHP如何解决微信文章图片防盗链
  4. JSP request(return String)用法详例
  5. 常用函数类型与常用数据类型的学习
  6. 1. 实例演示常用函数类型 2.实例演示常用
  7. javascript-基础(一)
  8. 实例演示函数参数与返回值
  9. 外贸推广有哪几种方式?不浪费钱还有效果的
  10. 模板字面量与模板函数实例