一、用户登录与注册(不同身份进入不同界面 Android)

记住密码使用了SharedPreference,根据用户权限标志位的不同分为食堂管理者和用户,注册时选择不同的权限,登录时就会根据权限的不同进入不同的界面。

登录

权限中输入:1代表是商家,输入0代表是用户

分区目前建议只输:“益新一楼”,具体原因请参见管理者页面(我的代码懒省事了,抱歉!)

登录:

package com.example.fanpeng.smartcanteen;
//数据库类:Comment,Dishes,User;
//Main:this
import android.app.AlertDialog;
import android.content.DialogInterface;
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.KeyEvent;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.Toast;

import org.litepal.LitePal;

import java.util.List;

public class LoginActivity extends AppCompatActivity {//Main
    private SharedPreferences pref;
    private SharedPreferences.Editor editor;
    private EditText enterName;
    private EditText enterPassWord;
    private CheckBox checkBox1;
    private Button entry;
    private Button register;

    static String YES = "yes";
    static String NO = "no";
    static String name, password;

    private User tempUser;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        this.requestWindowFeature(Window.FEATURE_NO_TITLE);
        this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
        setContentView(R.layout.activity_login);
        enterName=findViewById(R.id.enterName);
        enterPassWord=findViewById(R.id.enterPassWord);
        entry=findViewById(R.id.entry);
        register=findViewById(R.id.register);
        //////////////////记住密码功能使用SharedPreferences////////////////////////
        pref= PreferenceManager.getDefaultSharedPreferences(this);
        boolean isRemenber=pref.getBoolean("remember_password",false);
        checkBox1 =  findViewById(R.id.checkbox1);

        entry.setOnClickListener(new entryListener());
        register.setOnClickListener(new registerListener());
        if(isRemenber) {
            //将账号和密码都设置到文本中
            String account = pref.getString("account", "");
            String password = pref.getString("password", "");
            enterName.setText(account);
            enterPassWord.setText(password);
            checkBox1.setChecked(true);
        }
    }




    class entryListener implements View.OnClickListener{

        @Override
        public void onClick(View v) {
            boolean flag=false;
            name = enterName.getText().toString();
            password = enterPassWord.getText().toString();
            List<User> persons = LitePal.findAll(User.class);//从数据库中查询所有的user
            for(User ps:persons){
                if(name.trim().equals(ps.getName())&&password.trim().equals(ps.getPass())) {
                    flag = true;
                    tempUser=ps;
                    break;
                }
            }
            if(flag){//暂时未设置权限为0的管理员界面
                editor=pref.edit();
                if(checkBox1.isChecked()){
                    editor.putBoolean("remember_password",true);
                    editor.putString("account",name);
                    editor.putString("password",password);
 
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值