android中SharedPreferences实现xml配置文件的数据存取

1. 创建用户表实体类`
package com.example.environmentmonitor.entity;

/**
 * 用户实体类
 */
public class User {
    private String userId;
    //用户账号
    private String username;
    //用户密码
    private String password;

    public User(String userId,String username, String password) {
        this.userId=userId;
        this.username=username;
        this.password=password;
    }

    public User() {
    }

    public String getUserId() {
        return userId;
    }

    public void setUserId(String userId) {
        this.userId = userId;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }
}

2. SharedPreferences数据存储工具类方法
package com.example.environmentmonitor.utils;

import android.content.Context;
import android.content.SharedPreferences;

import com.example.environmentmonitor.constant.Constant;
import com.example.environmentmonitor.entity.User;

/**
 * SharedPreferences数据存储工具类
 */
public class SharedPreferencesUtils {
    /**
     * SharedPreferences数据存储用户的账号、密码
     * @param context 上下文
     * @param user 用户信息对象
     * @ username 用户名
     * @ password 密码
     * @return boolean 的结果
     */

    public static void saveUserInfo(Context context,User user){
        SharedPreferences sp=context.getSharedPreferences(Constant.SP_FILE_NAME,Context.MODE_PRIVATE);
        //使用其内部类对象Editor获取其编译对象
        SharedPreferences.Editor editor=sp.edit();
        //存其对象的键值
        editor.putString("username",user.getUsername());
        editor.putString("password",user.getPassword());
        //执行事务处理
        editor.commit();
    }

    /**
     * 获取用户信息
     * @param context 调取上下文信息
     * @return
     */
    public static User getUserInfo(Context context){
        SharedPreferences sp=context.getSharedPreferences(Constant.SP_FILE_NAME,Context.MODE_PRIVATE);
        //定义用户信息接收对象
        User user= new User();
        //当取出来的为空时,默认为第二个值
        user.setUsername(sp.getString("username",null));
        user.setPassword(sp.getString("password",null));
        return user;
    }

    /**
     * 判断SharedPreferences关于用户的信息存储是否为空
     */
    public static boolean checkUserInfoIsEmpty(Context context){
        User user = SharedPreferencesUtils.getUserInfo(context);
        if(user!=null){
            return true;
        }else {
            return false;
        }
    }
}

  1. 页面布局 activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    tools:context=".MainActivity"
    android:orientation="vertical">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="277dp"
        android:orientation="vertical">
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="269dp"
            android:layout_gravity="center"
            android:layout_marginBottom="150dp"
            android:src="@drawable/app_icon" />
    LinearLayout>
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/purple_700"
        />
    <TextView
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:textColor="@color/red1245"
        android:textStyle="bold"
        android:textSize="20dp"
        android:layout_gravity="center"
        android:text="@string/login_index"
        android:gravity="center"/>
    <ImageView
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:background="@color/purple_700"
        />
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="89dp"
        android:orientation="vertical"
        android:layout_gravity="center_vertical">
    <TextView
        android:text="@string/username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textColor="@color/black"
        android:backgroundTint="@color/yellow"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:layout_gravity="center_vertical"
        android:textSize="18dp"
        />
    <EditText
        android:id="@+id/username"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:inputType="textPersonName"
        android:layout_weight="1"
        android:layout_gravity="center_vertical"
        android:layout_marginLeft="30dp"
        android:layout_marginRight="30dp"
        android:hint="@string/hint_username"/>
    LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="89dp"
        android:orientation="vertical"
        android:layout_gravity="center_vertical">
        <TextView
            android:text="@string/password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:textColor="@color/black"
            android:backgroundTint="@color/yellow"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:layout_gravity="center_vertical"
            android:textSize="18dp"
            />
        <EditText
            android:id="@+id/password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:inputType="textPassword"
            android:layout_gravity="center_vertical"
            android:layout_weight="1"
            android:layout_marginLeft="30dp"
            android:layout_marginRight="30dp"
            android:hint="@string/hint_password"/>
    LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal">
        <Button
            android:id="@+id/toRegister"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/register"
            android:layout_weight="1"
            android:layout_marginLeft="10dp"
            android:backgroundTint="@color/white"
            android:textColor="@color/black"
            />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:backgroundTint="@color/white"
            />
        <CheckBox
            android:id="@+id/remember_info"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="@string/remember_username_password" />
    LinearLayout>

    <Button
        android:id="@+id/login_button"
        android:layout_marginTop="5dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginRight="10dp"
        android:text="@string/login" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="49dp"
        android:gravity="center_horizontal">
        <Button
            android:id="@+id/to_forget_password"
            android:layout_width="128dp"
            android:layout_height="match_parent"
            android:text="@string/forget_password"
            android:backgroundTint="@color/white"
            android:textColor="@color/blue"

            />
    LinearLayout>
LinearLayout>

4.效果
android中SharedPreferences实现xml配置文件的数据存取_第1张图片
android中SharedPreferences实现xml配置文件的数据存取_第2张图片

你可能感兴趣的:(Android学习笔记,android)