第一次冲刺(四)

今天我完成了登录界面的activity。

代码为:

package com.example.hotel;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;


import com.example.hotel.Activity.Manager.ManagerActivity;
import com.example.hotel.Activity.Manager.ManchoiceActivity;
import com.example.hotel.Activity.RegisterActivity;
import com.example.hotel.Activity.NopwdActivity;
import com.example.hotel.Activity.User.UserActivity;
import com.example.hotel.Database.DBOpenHelper;
import com.example.hotel.Database.MysqlUser;

import java.sql.SQLException;

public class MainActivity extends AppCompatActivity {
    private TextView TextViewNoPassword;
    private TextView TextViewRegister;
    private TextView TextViewAppName;
    private Button ButtonLogin;
    private TextView EditTextLoginId;
    private TextView EditTextLoginPassword;
    private CheckBox Rem;
    private CheckBox Auto;
    private DBOpenHelper dbOpenHelper;
    private static String correctpwd;
    private static String power;
    private String searchid,id,pwd;
    private boolean rem,auto;
    private int loginfirst;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
//        SharedPreferences sp=getSharedPreferences("login", Context.MODE_PRIVATE);
//        loginfirst=sp.getInt("loginfirst",1);
//        loginfirst=1;
//        if(loginfirst==0){
//            SharedPreferences sp1=getSharedPreferences("user", Context.MODE_PRIVATE);
//            String str=sp1.getString("nowid",null);
//            Intent intent= new Intent(MainActivity.this, UserActivity.class);
//            Bundle bundle=new Bundle();
//            bundle.putString("nowid",str);
//            intent.putExtras(bundle);
//            startActivity(intent);
//        }
        TextViewAppName=(TextView) findViewById(R.id.textViewAppName);
        TextViewAppName.setTypeface(Typeface.createFromAsset(MainActivity.this.getAssets(), "font/XingKai.TTF"));
//        dbOpenHelper=new DBOpenHelper(MainActivity.this,"mydb",null,1);

        //忘记密码
        TextViewNoPassword=(TextView)findViewById(R.id.textViewNoPassword);
        TextViewNoPassword.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, NopwdActivity.class);
                startActivity(intent);
            }
        });
        //注册用户
        TextViewRegister=(TextView) findViewById(R.id.textViewRegister);
        TextViewRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent=new Intent(MainActivity.this, RegisterActivity.class);
                startActivity(intent);
            }
        });
        //登录
        ButtonLogin=(Button) findViewById(R.id.buttonLogin);
        EditTextLoginId=(TextView)findViewById(R.id.editTextLoginId);
        EditTextLoginPassword=(TextView)findViewById(R.id.editTextLoginPassword);
        EditTextLoginId.setOnFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                Thread thread=new Thread(new Runnable() {
                    @Override
                    public void run() {
                        MysqlUser mysqlUser=new MysqlUser();
                        try {
                            String sql="select password from userinfo where id='"+EditTextLoginId.getText().toString()+"'";
                            correctpwd=mysqlUser.select(sql);
                            String sql2="select power from userinfo where id='"+EditTextLoginId.getText().toString()+"'";
                            power=mysqlUser.select(sql2);
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                });
                thread.start();
                try {
                    thread.join();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });
        ButtonLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Thread thread=new Thread(new Runnable() {
                    @Override
                    public void run() {
                        MysqlUser mysqlUser=new MysqlUser();
                        try {
                            String sql="select * from userinfo where id='"+EditTextLoginId.getText().toString()+"'";
                            searchid=mysqlUser.select(sql);
                        } catch (SQLException e) {
                            e.printStackTrace();
                        }
                    }
                });
                thread.start();
                try {
                    thread.join();
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
                login();
//                SQLiteDatabase db=dbOpenHelper.getReadableDatabase();
//                String Id=EditTextLoginId.getText().toString();
//                String pwd=EditTextLoginPassword.getText().toString();
//                Cursor cursor = db.rawQuery("select * from user",null);
//                while (cursor.moveToNext()) {
//                    String searchName = cursor.getString(cursor.getColumnIndex("id"));
//                    String searchAge = cursor.getString(cursor.getColumnIndex("password"));
//                    if(searchName.equals(Id)&&searchAge.equals(pwd)){
//                        Intent intent=new Intent(MainActivity.this, RegisterActivity.class);
//                        startActivity(intent);
//                        break;
//                    }
//                }
            }
        });
//        SharedPreferences sp=getSharedPreferences("user", Context.MODE_PRIVATE);
//        Id = sp.getString("id", "");
//        EditTextLoginId.setText(Id);
//        if (sp!= null) {
//            Id = sp.getString("id", "");
//            Pwd= sp.getString("pwd", "");
//            rem = sp.getBoolean("remenber", false);
//            auto = sp.getBoolean("auto", false);
//            EditTextLoginId.setText(Id);
//        }
//        if (rem) {
//            Rem.setChecked(true);
//            EditTextLoginPassword.setText(Pwd);
//        }
//        //选择了自动登录后直接登录
//        if (auto){
//            Auto.setChecked(true);
//            login();
//        }
//        Rem.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!isChecked){
//                    Rem.setChecked(false);
//                    //清空密码输入框
//                    EditTextLoginPassword.setText("");
//                }
//            }
//        });
//        Auto.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
//            @Override
//            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
//                if (!isChecked){
//                    Auto.setChecked(false);
//                }
//            }
//        });
    }



    private void login(){
        id=EditTextLoginId.getText().toString();
        pwd=EditTextLoginPassword.getText().toString();
        Spinner spinner=(Spinner)findViewById(R.id.Spinner);
        String ch=spinner.getSelectedItem().toString();
//        SharedPreferences sp=this.getSharedPreferences("hotel",Context.MODE_PRIVATE);
//        String password=sp.getString("pwd",null);
        if(id.equals("")){
            Toast.makeText(this,"id不能为空",Toast.LENGTH_SHORT).show();
            return;
        }
        if(searchid==null){
            Toast.makeText(this,"id不存在",Toast.LENGTH_SHORT).show();
            return;
        }
        if(ch.equals("用户")){
            if(pwd.equals("")){
                Toast.makeText(this,"请输入密码",Toast.LENGTH_SHORT).show();
            }
            else {
                if(power.equals("0")){
                    if(!pwd.equals(correctpwd)){
                        Toast.makeText(this,"密码不正确",Toast.LENGTH_SHORT).show();
                    }
                    if(pwd.equals(correctpwd)&&power.equals("0")){
//                        SharedPreferences sp=this.getSharedPreferences("login",Context.MODE_PRIVATE);
//                        SharedPreferences.Editor editor=sp.edit();
//                        editor.putInt("loginfirst",0);
//                        editor.apply();
//                        SharedPreferences sp1=this.getSharedPreferences("user",Context.MODE_PRIVATE);
//                        SharedPreferences.Editor editor1=sp1.edit();
//                        editor.putString("nowid",id);
//                        editor.apply();
                        this.finish();
                        Intent intent= new Intent(MainActivity.this, UserActivity.class);
                        Bundle bundle=new Bundle();
                        bundle.putString("nowid",id);
                        intent.putExtras(bundle);
                        startActivity(intent);
                    }
                }
                else  Toast.makeText(this,"您不能以用户登录",Toast.LENGTH_SHORT).show();
            }
        }
        if(ch.equals("管理员")){
            if(pwd.equals("")){
                Toast.makeText(this,"请输入密码",Toast.LENGTH_SHORT).show();
            }
            else {
                if(power.equals("1")){
                    if(!pwd.equals(correctpwd)&&power.equals("1")){
                        Toast.makeText(this,"密码不正确",Toast.LENGTH_SHORT).show();
                    }
                    if(pwd.equals(correctpwd)){
                        this.finish();
                        Intent intent= new Intent(MainActivity.this, ManchoiceActivity.class);
                        startActivity(intent);
                    }
                }
                else Toast.makeText(this,"您不能以管理员登录",Toast.LENGTH_SHORT).show();
            }
        }
    }

}

 

posted @ 2021-05-09 18:05  张笑天  阅读(29)  评论(0编辑  收藏  举报