Android | SQLite를 사용하여 사용자 등록을 구현하고 여기에 사용자 개인정보를 저장합니다.

I. 개요

등록 기능을 구현하고, 등록된 정보를 데이터베이스에 저장하기 위한 것입니다.

SQLite에 대한 간단한 이해

SQLite 는 컴퓨팅 속도가 빠르고 리소스를 거의 차지하지 않는 경량 관계형 데이터베이스 입니다. 특징 : 경량, 독립성, 격리, 크로스 플랫폼, 보안, 다중 언어 인터페이스

2. 페이지 표시

【그림 1】

3. 코드 부분

1. 등록된 레이아웃 Activity_regiter.xml 

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context=".Register">
    <!--    外部-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        android:gravity="center">
        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">
            <TextView
                android:id="@+id/textVeiw"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="帐号注册信息页面"
                android:layout_gravity="center_vertical|center_horizontal"
                android:textSize="30dp"
                android:layout_margin="30dp"
                android:paddingBottom="20dp"/>

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center"
            android:padding="5dp">

            <TextView
                android:id="@+id/textView1"
                android:layout_width="71dp"
                android:layout_height="25dp"
                android:text="帐号:" />
            <EditText
                android:id="@+id/et_account"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPersonName"/>


        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="5dp"
            android:gravity="center">
            <TextView
                android:id="@+id/textView2"
                android:layout_width="71dp"
                android:layout_height="25dp"
                android:text="密码:" />
            <EditText
                android:id="@+id/et_password"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:inputType="textPassword" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:padding="5dp"
            android:gravity="center">
            <TextView
                android:id="@+id/textView3"
                android:layout_width="71dp"
                android:layout_height="25dp"
                android:text="确认密码:" />


            <EditText
                android:id="@+id/et_repassword"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:ems="10"
                android:inputType="textPassword" />
        </LinearLayout>
        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/textView4"
                android:layout_width="71dp"
                android:layout_height="25dp"
                android:text="姓名:" />


            <EditText
                android:id="@+id/et_name"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="textPersonName"
                />

        </LinearLayout>



        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:padding="5dp"
            android:orientation="horizontal">
            <TextView
                android:id="@+id/textView5"
                android:layout_width="71dp"
                android:layout_height="25dp"
                android:text="手机号:" />
            <EditText
                android:id="@+id/et_phone"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:ems="10"
                android:inputType="phone" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:gravity="center">
            <Button
                android:id="@+id/submit"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="提交"
                android:layout_margin="20dp"/>

            <Button
                android:id="@+id/back"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text="返回" />
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

2. 이름이 Bean인 새 패키지를 생성하고 이 디렉토리에 Userinfo 클래스(등록 클래스)를 생성합니다.

Bean이라는 새 패키지를 생성하고 이 디렉터리에 Userinfo 클래스를 생성합니다.

[그림: 디렉터리 구조도]

사용자 정보 클래스 코드:

package com.sziiit.cgy_620_sql.Bean;

public class Userinfo {
    private String account, password, name, phone;

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }
}

3. db 패키지를 생성하고 그 안에 MySqliteOpenHpler 클래스를 생성합니다.

SQLite 관련 기능:

MYSQLiteOpenHelper - 새 데이터베이스 생성

onCreate(SQLiteDatabase db)——새 데이터베이스 테이블 생성

onUpgrade——데이터베이스 사용 업그레이드

 1. SQL 문 CREATE_USER를 사용하여 사용자 테이블을 생성합니다.

 2. MySqliteOpenHelper 클래스는 상위 클래스 SQLiteOpenHelper를 상속하고, 생성자 MySQLiteOpenHelper()를 구현하고, 전역 변수를 mContext에 할당해야 합니다.

3. SQL 문을 통해 데이터 테이블 생성, sqliteDatabase.execSQL(CTREATE_USER) 사용 - 사용자 테이블(레지스트리 테이블) 생성

 MySqliteOpenHpler 클래스 코드:

package com.sziiit.cgy_620_sql.db;

import android.content.Context;
import android.database.DatabaseErrorHandler;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;

import androidx.annotation.NonNull;
import androidx.annotation.Nullable;

public class MySQLiteOpenHelper extends SQLiteOpenHelper {

    public static final String CREATE_USER = "create table user(" +
            "id integer primary key autoincrement," +
            "account text," +
            "password text," +
            "name text," +
            "phone integer)";

    private Context mContext;

    public MySQLiteOpenHelper(@Nullable Context context) {
        super(context, "user.db",null,1);
        this.mContext = context;
    }
    
    @Override
    public void onCreate(SQLiteDatabase sqLiteDatabase) {
        sqLiteDatabase.execSQL(CREATE_USER);
        Toast.makeText(mContext,"创建表成功",Toast.LENGTH_SHORT).show();
    }

    @Override
    public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {

    }
}

4. RegiserActivity 클래스

aaaaaaa

추천

출처blog.csdn.net/qq_63559792/article/details/131303811