数据库的创建
package com.example.myapp;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.widget.Toast;
public class DbHelper extends SQLiteOpenHelper {
final String create_table="CREATE TABLE Student (_id integer primary key autoincrement,xm text,xh text,bj text,zy text,cj text)";
final String create_register="CREATE TABLE Register (_id integer primary key autoincrement,xm text,xh text)";
//创建两张表,一张student,一张register表
Context context;
public DbHelper(Context context,String dbname,int version){
super(context,dbname,null,version);
this.context=context;//上下文
}
@Override
public void onCreate(SQLiteDatabase db) {db.execSQL(create_table); db.execSQL(create_register);}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
db.execSQL("drop table if exists Student");
db.execSQL("drop table if exists Register");
db.execSQL(create_table);
db.execSQL(create_register);
//完成创建
}
// 对表进行数据的插入方法
public void insert(String tableName, ContentValues values){
SQLiteDatabase db = getReadableDatabase();
db.insert(tableName,null,values);
Toast.makeText(context,"成功插入数据!",Toast.LENGTH_SHORT).show();
}
//查询表中所有
public Cursor queryAll(String tableName){
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(tableName,null,null,null,null,null,null);
return cursor;
}
//对表中的姓名和学号进行单独的查询
public Boolean queryByStudentXhAndXm(String tableName,String xm,String xh){
SQLiteDatabase db = getReadableDatabase();
Cursor cursor = db.query(tableName,new String[]{"xm,xh"},"xm=? and xh=?",new String[]{xm,xh},null,null,null);
if (cursor.moveToFirst()) {
return true;
}else {
return false;
}
}
//删除表中数据的方法
public void delStudent(String id){
SQLiteDatabase db = getWritableDatabase();
db.delete("Student","_id=?",new String[]{id});
}
//对表进行更新
public void updateStudent(String id,ContentValues values){
SQLiteDatabase db = getWritableDatabase();
db.update("Student",values,"_id=?",new String[]{id});
}
}
创建了两张表格,一张用来储存学生信息,Student表:id(主键),姓名,学号,班级,专业,成绩。
一张register表:id(主键),姓名,学号。用来储存登录信息
其余类和其布局文件
MainActivity.class(登录界面)
package com.example.myapp;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
EditText et1,et2;
Button btn1,btn2;
DbHelper dbHelper;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
dbHelper=new DbHelper(MainActivity.this,"MyDataBase,",3);
setContentView(R.layout.activity_main);
et1=findViewById(R.id.et1);
et2=findViewById(R.id.et2);
btn1=findViewById(R.id.dl);
btn2=findViewById(R.id.zc);
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String xm=et1.getText().toString();
String xh=et2.getText().toString();
if (xm.isEmpty()||xh.isEmpty()){
Toast.makeText(MainActivity.this,"姓名或者学号不可为空",Toast.LENGTH_SHORT).show();
}
if (dbHelper.queryByStudentXhAndXm("Register",xm,xh)){
Intent intent=new Intent(MainActivity.this,Manage.class);
startActivity(intent);
}
}
});
btn2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent=new Intent(MainActivity.this,Register.class);
startActivity(intent);
}
});
}
}
activity_main.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=".MainActivity">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+