SharedPreferences

这里只是简单的使用了sharedPreferences,但实际要用使用记住密码这个功能要把密码加密

activity_main.xml

<LinearLayout
     xmlns:tools="http://schemas.android.com/tools"  
    android:layout_width="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_height="fill_parent"
    android:orientation="vertical"
    >


<EditText 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="username"
    android:id="@+id/username"/>

<EditText 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:hint="password"
    android:id="@+id/password"/>

<Button 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Login"
    android:id="@+id/login"/>

<LinearLayout android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    >

    <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="记住密码"/>


    <CheckBox 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/remeber"/>

</LinearLayout>


</LinearLayout>




MainActivity.java

    //全局变量
    CheckBox remeber;
    SharedPreferences sharedPreferences;
    SharedPreferences.Editor editor;
    EditText username ;
    EditText password ;
@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        sharedPreferences = getSharedPreferences("user", MODE_PRIVATE);
        editor = sharedPreferences.edit();
        username = (EditText) MainActivity.this.findViewById(R.id.username);
        password = (EditText) MainActivity.this.findViewById(R.id.password);
        remeber = (CheckBox) this.findViewById(R.id.remeber);

        if(sharedPreferences.getBoolean("isRemeber", false)){
            remeber.setChecked(true);
            username.setText(sharedPreferences.getString("username","error"));
            password.setText(sharedPreferences.getString("password","error"));
        }

        Button btn_login = (Button) this.findViewById(R.id.login);
        btn_login.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View arg0) {

                String userNmae = username.getText().toString();
                String passWord = password.getText().toString();

                if (userNmae.equals("123") && passWord.equals("123")) {

                    if (remeber.isChecked()) {
                        editor.putBoolean("isRemeber", true);
                        editor.putString("username", userNmae);
                        editor.putString("password", passWord);
                    } else {
                        editor.clear();
                    }
                    editor.commit();
                    Toast.makeText(MainActivity.this,"登入成功",Toast.LENGTH_SHORT).show();
                } else {
                    Toast.makeText(MainActivity.this,"登入失败",Toast.LENGTH_SHORT).show();
                }
            }

        });

    }

这里写图片描述


2016/05/30 更新

SharedPreferences工具类

1.存储:SharedpreferencesUtil.putParams(this, “name”, “1111”);
2.拿值:SharedpreferencesUtil.getParams(this, “name”);

package com.example.learing;

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

/**
 * 
 * @author yj
 * Sharedpreferences 工具类
 * 单例模式
 * Sharedpreferences 不适用多线程场景
 */
public class SharedpreferencesUtil {
    public static SharedPreferences sharedPreferences;
    public static Editor editor;
    private static String fileName = "user";

    private SharedpreferencesUtil() {}

    /**
     * 存储
     * @param context
     * @param key
     * @param value
     * @return
     */
    public static boolean putParams(Context context, String key, String value) {
        if (sharedPreferences == null) {
            sharedPreferences = context.getSharedPreferences(fileName, context.MODE_PRIVATE);
            editor = sharedPreferences.edit();
        }
        editor.putString(key, value);
        return editor.commit();
    }

    /**
     * 拿数据
     * @param context
     * @param key
     * @return
     */
    public static String getParams(Context context, String key) {
        if (sharedPreferences == null) {
            sharedPreferences = context.getSharedPreferences(fileName, context.MODE_PRIVATE);
        }
        return sharedPreferences.getString(key, "没有数据!");
    }

}

2016/06/01更新

    // 使用application的context,在application类设置一次就行了
    SharedpreferencesUtil.setContext(getApplicationContext());

    SharedpreferencesUtil.putParams("123", "123");
    SharedpreferencesUtil.getParams("123");
package com.example.learing;

import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.util.Log;

/**
 * 
 * @author yj
 * Sharedpreferences 工具类
 * 单例模式
 * Sharedpreferences 不适用多线程场景
 * 原则:使用起来简单,尽量少的代码和一个类不依赖别的类
 * 注意推荐 :在application里设置context
 */
public class SharedpreferencesUtil {
    public static SharedPreferences sharedPreferences;
    public static Editor editor;
    private static String fileName = "user";
    private static Context mContext;

    private SharedpreferencesUtil() {}

    /**
     * 设置context 一般使用application的context
     * 不设置context将无法使用
     * @param context
     */
    public static void setContext(Context context) {
        mContext = context;
    }

    /**
     * 存储
     * @param context
     * @param key
     * @param value
     * @return
     */
    public static boolean putParams(String key, String value) {
        if(!checkContext()) {
            return false;
        }

        if (sharedPreferences == null) {
            sharedPreferences = mContext.getSharedPreferences(fileName, mContext.MODE_PRIVATE);
            editor = sharedPreferences.edit();
        }
        editor.putString(key, value);
        return editor.commit();
    }

    /**
     * 拿数据
     * @param context
     * @param key
     * @return
     */
    public static String getParams(String key) {
        if(!checkContext()) {
            return "没有context!不能获取值";
        }

        if (sharedPreferences == null) {
            sharedPreferences = mContext.getSharedPreferences(fileName, mContext.MODE_PRIVATE);
        }
        return sharedPreferences.getString(key, "没有数据!");
    }

    /**
     * 检查context是否为null
     * 如果没有context == null,手动抛出一个异常中断程序。
     * @return
     */
    private static boolean checkContext() {
        if (mContext == null) {
            Log.v("TAG", "在SharedpreferencesUtil没有设置context");
            throw new RuntimeException("在SharedpreferencesUtil没有设置context");
        } else { 
            return true;
        }
    }

}
基于SSM框架的智能家政保洁预约系统,是一个旨在提高家政保洁服务预约效率和管理水平的平台。该系统通过集成现代信息技术,为家政公司、家政服务人员和消费者提供了一个便捷的在线预约和管理系统。 系统的主要功能包括: 1. **用户管理**:允许消费者注册、登录,并管理他们的个人资料和预约历史。 2. **家政人员管理**:家政服务人员可以注册并更新自己的个人信息、服务类别和服务时间。 3. **服务预约**:消费者可以浏览不同的家政服务选项,选择合适的服务人员,并在线预约服务。 4. **订单管理**:系统支持订单的创建、跟踪和管理,包括订单的确认、完成和评价。 5. **评价系统**:消费者可以在家政服务完成后对服务进行评价,帮助提高服务质量和透明度。 6. **后台管理**:管理员可以管理用户、家政人员信息、服务类别、预约订单以及处理用户反馈。 系统采用Java语言开发,使用MySQL数据库进行数据存储,通过B/S架构实现用户与服务的在线交互。系统设计考虑了不同用户角色的需求,包括管理员、家政服务人员和普通用户,每个角色都有相应的权限和功能。此外,系统还采用了软件组件化、精化体系结构、分离逻辑和数据等方法,以便于未来的系统升级和维护。 智能家政保洁预约系统通过提供一个集中的平台,不仅方便了消费者的预约和管理,也为家政服务人员提供了一个展示和推广自己服务的机会。同时,系统的后台管理功能为家政公司提供了强大的数据支持和决策辅助,有助于提高服务质量和管理效率。该系统的设计与实现,标志着家政保洁服务向现代化和网络化的转型,为管理决策和控制提供保障,是行业发展中的重要里程碑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值