2023.11.9每日总结

复制代码
package com.example.myapplication;



import androidx.appcompat.app.AppCompatActivity;
import android.content.ContentValues;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.text.TextUtils;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class RegisterActivity extends AppCompatActivity {
    public static final int RESULT_CODE_REGISTER=0;
    private Button btn_register;
    private EditText et_register_username,et_register_password,et_again_password,et_register_studentID,et_register_studentPhone,et_register_studentClass;
    /*数据库成员变量*/
    private DBOpenHelper dbOpenHelper;

    String et_name;
    String et_password;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_register);
        //注册按钮
        btn_register=(Button) findViewById(R.id.btn_register);
        //用户名编辑框
        et_register_username= findViewById(R.id.et_register_username);
        //密码编辑框
        et_register_password=findViewById(R.id.et_register_password);
        //再次输入密码编辑框
        et_again_password=findViewById(R.id.et_again_password);

        et_register_studentID=findViewById(R.id.et_register_studentID);

        et_register_studentPhone=findViewById(R.id.et_register_studentPhone);

        et_register_studentClass=findViewById(R.id.et_register_studentClass);

        /*实例化数据库变量dbOpenHelper*/
        dbOpenHelper=new DBOpenHelper(RegisterActivity.this,"user.db",null,1);

        btn_register.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                //获取三个编辑框的内容
                String et_name=et_register_username.getText().toString();
                String et_password=et_register_password.getText().toString();
                String et_confirm=et_again_password.getText().toString();
                String et_studentID=et_register_studentID.getText().toString();
                String et_studentPhone=et_register_studentPhone.getText().toString();
                String et_studentClass=et_register_studentClass.getText().toString();

                //判断异常情况弹窗
                //编辑框为空
                if(TextUtils.isEmpty(et_name)){
                    Toast.makeText(RegisterActivity.this,"用户名不能为空!",Toast.LENGTH_SHORT).show();
                    //对用户名进行手机号正则化验证,调用下面写的idTelPhoneNumber方法
                }else if(TextUtils.isEmpty(et_password)){
                    Toast.makeText(RegisterActivity.this,"密码不能为空!",Toast.LENGTH_SHORT).show();
                    //两次密码框内容不一致
                }else if(!TextUtils.equals(et_password,et_confirm)){
                    Toast.makeText(RegisterActivity.this,"密码不一致!",Toast.LENGTH_SHORT).show();
                } else{
                    //存储注册的用户名和密码 把账号密码存储进数据库
                    insertData(dbOpenHelper.getReadableDatabase(),et_name,et_password,et_studentID,et_studentPhone,et_studentClass);
                    Toast.makeText(RegisterActivity.this,"注册成功!",Toast.LENGTH_SHORT).show();
                }
                //关闭注册页面 跳转到登录页面
                RegisterActivity.this.finish();
            }
        });
    }
    /*正则化验证手机号码方法*/
    public static boolean isTelPhoneNumber(String mobile) {
        if (mobile != null && mobile.length() == 11) {
            Pattern pattern = Pattern.compile("^1[3|4|5|6|7|8|9][0-9]\\d{8}$");
            Matcher matcher = pattern.matcher(mobile);
            return matcher.matches();
        }else{
            return false;
        }
    }
    //创建数据库的insert方法 插入数据方法
    private void insertData(SQLiteDatabase readableDatabase, String username1, String password1,String studentID1, String studentPhone1,String studentClass1){
        ContentValues values=new ContentValues();
        values.put("username",username1);
        values.put("password",password1);
        values.put("studentID",studentID1);
        values.put("studentPhone",studentPhone1);
        values.put("studentClass",studentClass1);
        readableDatabase.insert("user",null,values);
    }
    //重写onDestroy()方法
    @Override
    protected void onDestroy() {
        super.onDestroy();
        if (dbOpenHelper != null) {
            dbOpenHelper.close();
        }
    }
}
View Code
复制代码

今天学习了一点关于操作sqllite数据库相关操作,以及相应类的写法


import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class DBHelper extends SQLiteOpenHelper {
//第一次创建数据库的时候回调该方法
//当使用getReadableDatabase()方法获取数据库实例的时候, 如果数据库不存在, 就会调用这个方法;
//作用:创建数据库表:将创建数据库表的 execSQL()方法 和 初始化表数据的一些 insert()方法写在里面;
public DBHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}

@Override
public void onCreate(SQLiteDatabase db) {
//SQLite数据创建支持的数据类型: 整型数据,字符串类型,日期类型,二进制的数据类型
//创建了一个名为person的表
String sql = "CREATE table employee(" +
"_id integer primary key autoincrement," +
"name varchar)";
db.execSQL(sql);
//数据库实际上是没有被创建或者打开的,直到testCreateTB()方法中的一个被调用时才会进行创建或者打开

System.out.println("数据库初始化成功");
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}

posted @   超爱彬宝同学  阅读(12)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示