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