由于前面已经注册了,将其中保存在数据库中,现在的登录就需要将数据匹配,通过就运行登录的点击事件
最开始用sql全查询语句,只能检查是否存在,不能判断密码
if (userDB.findUserByAccount(accountEt.getText().toString()) != null)
需要利用id,用get方法
package com.jiang.jzj_qq;
import android.annotation.SuppressLint;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import com.jiang.jzj_qq.Papers.Text;
import com.jiang.jzj_qq.Verification.Code;
import com.jiang.jzj_qq.sql.DataHelper;
import com.jiang.jzj_qq.sql.Register;
import com.jiang.jzj_qq.sql.UserUapedate;
import com.jiang.jzj_qq.user.User;
import com.jiang.jzj_qq.user.UserDB;
import java.util.HashSet;
import java.util.Random;
import java.util.Set;
public class Login extends AppCompatActivity {
private UserDB userDB;
private EditText accountET,pwdET;
private String remember;
private Button LoginButton,RegistButton;
private String account,pwd;
private int flag = 0;
private TextView alluser;
public static final String TAG = Login.class.getName();
private ImageView iv_showCode; //展示验证码
private EditText et_phoneCode; //输入验证码
private TextView Yanzhenma; //刷新
//产生验证码
private String realCode;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
getSupportActionBar().hide();
et_phoneCode=findViewById(R.id.et_phoneCodes); //输入的验证码
Yanzhenma = findViewById(R.id.yanzhenma); //刷新验证码
accountET=findViewById(R.id.accountedit);
pwdET=findViewById(R.id.passwordedit);
iv_showCode =findViewById(R.id.iv_showCode); //展示验证码
//以图片的形式展示出来
iv_showCode.setImageBitmap(Code.getInstance().createBitmap());
realCode = Code.getInstance().getCode().toLowerCase();
iv_showCode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
//初始化数据库
userDB = new UserDB();
userDB.OpenUserDb(this);
//1.记住密码
//初始化控件
accountET = findViewById(R.id.accountedit);
pwdET = findViewById(R.id.passwordedit);
LoginButton = findViewById(R.id.longin);
}
public void QH(View view) {
iv_showCode.setImageBitmap(Code.getInstance().createBitmap());
realCode = Code.getInstance().getCode().toLowerCase();
iv_showCode.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
}
});
}
public void go(View view) { //进度条 --
String account, password, yanzm, pdyzm,yz;
account = accountET.getText().toString(); //账号
password = pwdET.getText().toString();
/*
登录的点击事件,登录后显示进度条
*/
EditText accountEt = findViewById(R.id.accountedit);
EditText mima = findViewById(R.id.passwordedit);
// accountEt.getText().toString().trim();
String mma= mima.getText().toString().trim(); //密码
String data = accountEt.getText().toString();
yanzm = Yanzhenma.getText().toString(); //刷新验证码
// yz=realCode
pdyzm = et_phoneCode.getText().toString(); //输入验证码
User user = userDB.findUserByAccount(account);
//判断用户名、密码是否有空
if (user == null) {
Toast.makeText(this, "请注册", Toast.LENGTH_SHORT).show();
return;
}
if(pdyzm == null) {
Toast.makeText(this, "请输入验证码", Toast.LENGTH_SHORT).show();
return;
}
else if(!account.equals(user.getAccount()) || !password.equals(user.getPassword())) {
Toast.makeText(this, "账号或密码错误", Toast.LENGTH_SHORT).show();
return;
}
// else if(!realCode.equals(pdyzm)){
// Toast.makeText(this, "验证码错误", Toast.LENGTH_SHORT).show();
// return;
// }
// if (data.equals("") || mima.equals("")) {
// // //如果为空,提示密码和账户不能为空
// //上下环境参数
// //消息内容
// //显示时间
// Toast.makeText(this, "请检查是否完成填写", Toast.LENGTH_LONG).show();
// }
//匹配数据库数据
//accountEt.getText().toString() 获取输入控件
//加载用户保存的用户名和密码
//全查询
// if (userDB.findUserByAccount(accountEt.getText().toString()) != null){
// savedata();
else if(account.equals(user.getAccount())&&password.equals(user.getPassword())&&pdyzm.equals(pdyzm)){
//加载进度条
final ProgressDialog progressDialog = new ProgressDialog(Login.this);
progressDialog.setTitle("正在加载...");
progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
new Thread(new Runnable() {
@Override
public void run() {
for (int i = 0; i < 100; i++) {
progressDialog.setProgress(i);
try {
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
progressDialog.dismiss();
}
}).start();
progressDialog.show();
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Intent intent = new Intent(Login.this, MainActivity.class); //显示inter
// intent.putExtra("extra_data",accountEt.getText().toString()) ; //重载保存在inter中
// startActivity(intent);
intent.putExtra("account",user.getAccount());
intent.putExtra("name",user.getName());
intent.putExtra("age",user.getAge());
intent.putExtra("sex",user.getSex());
intent.putExtra("psd",user.getPassword());
startActivity(intent);
Toast.makeText(Login.this, "登录成功", Toast.LENGTH_SHORT).show();
}
}
public void zhuce(View view) {
Intent intent = new Intent(Login.this, Register.class); //显示inter,跳转到注册
startActivity(intent);
}
public void zhaohui(View view) {
Intent intent = new Intent(Login.this, Find_Mm.class); //显示inter,跳转到
startActivity(intent);
}
}
其中
Intent intent = new Intent(Login.this, MainActivity.class); //显示inter
// intent.putExtra("extra_data",accountEt.getText().toString()) ; //重载保存在inter中
// startActivity(intent);
intent.putExtra("account",user.getAccount());
intent.putExtra("name",user.getName());
intent.putExtra("age",user.getAge());
intent.putExtra("sex",user.getSex());
intent.putExtra("psd",user.getPassword());
startActivity(intent);
Toast.makeText(Login.this, "登录成功", Toast.LENGTH_SHORT).show();
}
}
利用intent ,将数据临时存储在MainActivity中