记住密码使用了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);