首页 > 其他分享 >2023.3.1每日总结

2023.3.1每日总结

时间:2023-03-01 21:36:32浏览次数:37  
标签:总结 String 每日 register 2023.3 import et android password

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) {
}
}

标签:总结,String,每日,register,2023.3,import,et,android,password
From: https://www.cnblogs.com/wllovelmbforever/p/17169882.html

相关文章

  • 社招中级前端笔试面试题总结
    typeofnull的结果是什么,为什么?typeofnull的结果是Object。在JavaScript第一个版本中,所有值都存储在32位的单元中,每个单元包含一个小的类型标签(1-3bits)以及......
  • 尚硅谷_每日一考_445
    4451.画图说明线程的生命周期,以及各状态切换使用到的方法等由于某个方法的调用导致状态的变化https://blog.csdn.net/pange1991/article/details/538606512.同步代码共......
  • 3月01日课后总结
    3/01课后总结装饰器装饰器简易版本defouter(func_name):#func_name=indexdefget_time():#1.在函数执行之前,要记录一下此时的时间sta......
  • day01(2023.3.1)
    1、了解了Java运行机制jdk和jre和jvm的区别 2、下载安装jdk然后配置环境变量 并验证是否成功(1)百度收搜Jdk8(推荐),找到下载地址。(2)同意协议,下载电脑对应的版本。......
  • 2023/2/27每日总结
    以下为今日课上所写代码packageText;importjava.io.*;importjava.util.ArrayList;importjava.util.List;importjava.util.Scanner;/*关于文件导入并找出最长的接龙单......
  • 2023.3.1AcWing蓝桥杯集训·每日一题
    今日的知识点为\(BFS\)(广度优先搜素)。\(BFS\)简要介绍下\(BFS\)算法。首先,\(BFS\)算法适用于边权为\(1\)的图论问题。\(BFS\)算法的解题思路也比较固定。确定......
  • 每日总结
    android的修改密码在app里有修改个人密码功能,总体思路就是获取密码然后通过姓名修改,那么就需要原来的姓名和原来的密码在点击按钮之后,会跳转到输入新旧密码的判断界面,所......
  • 两道区间DP题目总结
    CF1132F.CleartheString题目传送门题意:有一个字符串,每次可以删除一段连续的相同字母的子串,求删完的最小次数。做法一设\(f[l][r]\)表示\([l,r]\)删完的最小次......
  • 每日一题7
    每日一题7题目:2.两数相加/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*ListNodenext;*ListNode(){}*......
  • 美团前端二面经典react面试题总结
    React事件机制<divonClick={this.handleClick.bind(this)}>点我</div>React并不是将click事件绑定到了div的真实DOM上,而是在document处监听了所有的事件,当事件发生并......