4.29(冲刺一)

今天认领的功能是登录注册和捐赠物品的增,但是忽然发现还没建表,所以今天先把表建好,然后整个登陆注册

首先最简单的登陆注册功能,第一天
登录package com.example.myactivity;

import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.SharedPreferences;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.myactivity.db.MyDBHelper;

import androidx.appcompat.app.AppCompatActivity;

public class LoginActivity extends AppCompatActivity {
//1 定义对象
EditText et_name,et_pwd;
Button btn_newregister,btn_login;
MyDBHelper mhelper;
SQLiteDatabase db;

解释
 
 
解释
 
 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);
    //2 绑定控件
    initView();
    //3 登录按钮功能的实现
    btnLogin();
    //4 新用户注册按钮功能的实现
    btnNewRegister();

}
//2 绑定控件--------------------代码
private void initView() {
    et_name=findViewById(R.id.et_name_lg);
    et_pwd=findViewById(R.id.et_pwd_lg);
    btn_newregister=findViewById(R.id.bt_newregister_lg);
    btn_login=findViewById(R.id.bt_login_lg);
    mhelper=new MyDBHelper(LoginActivity.this);
    db=mhelper.getWritableDatabase();
}
//3 登录按钮功能的实现---------------------------代码
private void btnLogin() {
    btn_login.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //首先:获取输入的用户名和密码
            String inputname=et_name.getText().toString();
            String inputpwd=et_pwd.getText().toString();
            //其次:对获取的用户名和密码进行判断
            if(inputname.equals("")||inputpwd.equals("")){//用户名或密码为空
                Toast.makeText(LoginActivity.this,"用户名或密码不能为空",Toast.LENGTH_SHORT).show();
            }else{//用户名或密码不为空时,我们再对输入的正确性进行判断。
                // 根据输入的用户名和密码从数据库中查询
                Cursor cursor =db.rawQuery("select * from tb_userinfo where name=? and pwd=?",new String[]{inputname,inputpwd});
                //根据查询到的结果进行判断
                if (cursor.moveToNext()){//查询到时
                    @SuppressLint("Range") String getname=cursor.getString(cursor.getColumnIndex("name"));
                    @SuppressLint("Range") String getpwd=cursor.getString(cursor.getColumnIndex("pwd"));

                    if(inputname.equalsIgnoreCase(getname)&&inputpwd.equalsIgnoreCase(getpwd)){
                        SharedPreferences.Editor editor=getSharedPreferences("userinfo",0).edit();
                        editor.putString("username",inputname);
                        editor.putString("userpwd",inputpwd);
                        editor.commit();
                        Toast.makeText(LoginActivity.this,"用户名和密码正确,欢迎登陆",Toast.LENGTH_SHORT).show();
                        Intent intent=new Intent(LoginActivity.this, MainActivity.class);
                        startActivity(intent);
                        finish();
                    }
                }else{//没有查询到结果时
                    Toast.makeText(LoginActivity.this,"用户名或密码错误,请重新输入",Toast.LENGTH_SHORT).show();
                    et_name.setText("");
                    et_pwd.setText("");
                }
            }
        }
    });
}
//4 新用户注册按钮功能的实现------------------------代码
private void btnNewRegister() {
    btn_newregister.setOnClickListener(new View.OnClickListener()
    {
        @Override
        public void onClick(View v) {
            Intent intent=new Intent(LoginActivity.this, RegisterActivity.class);
            startActivity(intent);
            finish();
        }
    });
}

}

注册
package com.example.myactivity;

import android.content.ContentValues;
import android.content.Intent;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Handler;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import com.example.myactivity.db.MyDBHelper;

import androidx.appcompat.app.AppCompatActivity;

public class RegisterActivity extends AppCompatActivity {
//3 定义对象
EditText et_name,et_pwd,et_email,et_phone;
Button btn_register,btn_cancel;
MyDBHelper mhelper;//创建一个数据库类文件
SQLiteDatabase db;//创建一个可以操作的数据库对

解释
 
 
解释
 
 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_register);
    //4 绑定控件
    initView();
    //5 注册按钮功能的实现
    btnRegister();
    //6 取消按钮功能的实现
    btnCancel();

}
//4 绑定控件--------代码
private void initView() {
    et_name=findViewById(R.id.et_name_rg);
    et_pwd=findViewById(R.id.et_pwd_rg);
    et_email=findViewById(R.id.et_email_rg);
    et_phone=findViewById(R.id.et_phone_rg);
    btn_register=findViewById(R.id.bt_ok_rg);
    btn_cancel=findViewById(R.id.bt_cancel_rg);
    mhelper=new MyDBHelper(RegisterActivity.this);
    db=mhelper.getWritableDatabase();
}
//5 注册按钮功能的实现--------------------代码
private void btnRegister() {
    btn_register.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //创建一个对象,用来封装一行数据
            ContentValues values=new ContentValues();
            values.put("name",et_name.getText().toString());//将输入的用户名放到 name 列
            values.put("pwd",et_pwd.getText().toString());//将输入的密码放到 pwd 列
            values.put("email",et_email.getText().toString());//将输入的邮箱放到 email 列
            values.put("phone",et_phone.getText().toString());//将输入的电话放到 phone 列
            //将封装好的一行数据保存到数据库的 tb_userinfo 表中
            db.insert("tb_userinfo",null,values);
            Toast.makeText(RegisterActivity.this, "注册成功", Toast.LENGTH_SHORT).show();
            // 显示注册成功消息后,延迟启动登录页面
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {
                    Intent intent = new Intent(RegisterActivity.this, LoginActivity.class);
                    startActivity(intent);
                    finish(); // 关闭注册页面
                }
            }, 1000); // 延迟1秒,可以根据需要调整
        }
    });
}
//6 取消按钮功能的实现-------------------代码
private void btnCancel() {
    btn_cancel.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent=new Intent(RegisterActivity.this, LoginActivity.class);
            startActivity(intent);
            finish();
        }
    });
}

}

posted @   SDGVSBGDRH  阅读(7)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示