Android笔记--基础的连接数据库的操作
start.java
package com.example.myapplication;
import androidx.activity.result.ActivityResult;
import androidx.activity.result.ActivityResultCallback;
import androidx.activity.result.ActivityResultLauncher;
import androidx.activity.result.contract.ActivityResultContracts;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ComponentName;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.SharedPreferences;
import android.net.Uri;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextUtils;
import android.text.TextWatcher;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;
import com.example.myapplication.database.Connect;
import com.example.myapplication.database.User;
import java.util.Random;
public class start extends AppCompatActivity implements View.OnClickListener {
private TextView et_name;
private TextView et_class;
private TextView et_major;
private CheckBox cb_remember;
private Button btn_add;
private Button btn_delete;
private Button btn_update;
private Button btn_check;
private Connect mHelper;
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_start);
et_name=findViewById(R.id.et_name);
et_class=findViewById(R.id.et_class);
et_major=findViewById(R.id.et_major);
cb_remember=findViewById(R.id.cb_remember);
btn_add=findViewById(R.id.btn_add);
btn_delete=findViewById(R.id.btn_delete);
btn_update=findViewById(R.id.btn_update);
btn_check=findViewById(R.id.btn_check);
btn_add.setOnClickListener(this);
btn_delete.setOnClickListener(this);
btn_update.setOnClickListener(this);
btn_check.setOnClickListener(this);
}
@Override
protected void onStart() {
super.onStart();
//获取数据库帮助器实例
mHelper= Connect.getInstance(this);
//读写操作
mHelper.openWriteLink();
mHelper.openWriteLink();
}
@Override
protected void onStop() {
super.onStop();
//关闭操作
mHelper.closeLink();
}
@Override
public void onClick(View view) {
String name=et_name.getText().toString();
String cla=et_class.getText().toString();
String major=et_major.getText().toString();
User user=null;
switch(view.getId()){
case R.id.btn_add:
user=new User(name,cla,major,cb_remember.isChecked());
//mHelper.insert(user);
if(mHelper.insert(user)>0){
Toast.makeText(this,"添加成功!",Toast.LENGTH_SHORT);
}
break;
}
}
}
activity_start.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">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="姓名:">
</TextView>
<EditText
android:id="@+id/et_name"
android:layout_width="360dp"
android:layout_height="wrap_content"
android:background="@drawable/selector_1">
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="班级:">
</TextView>
<EditText
android:id="@+id/et_class"
android:layout_width="360dp"
android:layout_height="wrap_content"
android:background="@drawable/selector_1">
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="50dp"
android:layout_height="wrap_content"
android:text="专业:">
</TextView>
<EditText
android:id="@+id/et_major"
android:layout_width="360dp"
android:layout_height="wrap_content"
android:background="@drawable/selector_1">
</EditText>
</LinearLayout>
<CheckBox
android:id="@+id/cb_remember"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="大学生否">
</CheckBox>
<Button
android:id="@+id/btn_add"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="添加">
</Button>
<Button
android:id="@+id/btn_update"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="修改">
</Button>
<Button
android:id="@+id/btn_delete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="删除">
</Button>
<Button
android:id="@+id/btn_check"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="查询">
</Button>
</LinearLayout>
User.java
package com.example.myapplication.database;
public class User {
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getCla() {
return cla;
}
public void setCla(String cla) {
this.cla = cla;
}
public String getMajor() {
return major;
}
public void setMajor(String major) {
this.major = major;
}
public Boolean getStudent(){
return student;
}
public void setStudent(Boolean student){
this.student=student;
}
private String name;
private String cla;
private String major;
private Boolean student;
public User(){}
public User(String name,String cla,String major,Boolean student){
this.name=name;
this.cla=cla;
this.major=major;
this.student=student;
}
}
Connect.java
package com.example.myapplication.database;
import android.content.ContentValues;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
public class Connect extends SQLiteOpenHelper {
//数据库名
private static final String db_name="user.db";
//表名
private static final String table_name="user_info";
//版本号
private static final int db_version=1;
//数据库帮助器的初定义
private static Connect mHelper=null;
//读写得初定义
private SQLiteDatabase mRDB=null;
private SQLiteDatabase mWDB=null;
private Connect(Context context){
super(context,db_name,null,db_version);
}
//利用单例模式获取数据库帮助器的唯一实例
public static Connect getInstance(Context context){
if(mHelper==null){
mHelper=new Connect(context);
}
return mHelper;
}
//打开数据库得读操作
public SQLiteDatabase openReadLink(){
if(mRDB==null||!mRDB.isOpen()){
mRDB=mHelper.getReadableDatabase();
}
return mRDB;
}
//打开数据库的写操作
public SQLiteDatabase openWriteLink(){
if(mWDB==null||!mWDB.isOpen()){
mWDB=mHelper.getWritableDatabase();
}
return mWDB;
}
//关闭数据库连接
public void closeLink(){
if(mRDB!=null&&mRDB.isOpen()){
mRDB.close();
mRDB=null;
}
if(mWDB!=null&&mWDB.isOpen()){
mWDB.close();
mWDB=null;
}
}
//创建数据库,执行建表语句
@Override
public void onCreate(SQLiteDatabase sqLiteDatabase) {
String sql="create table if not exists "+table_name+" ("+
"_name varchar primary key autoincrement not null," +
" cla varchar not null,"+
" major varchar not null);";
sqLiteDatabase.execSQL(sql);
}
@Override
public void onUpgrade(SQLiteDatabase sqLiteDatabase, int i, int i1) {
}
//添加语句
public long insert(User user){
ContentValues values=new ContentValues();
values.put("name",user.getName());
values.put("cla",user.getCla());
values.put("major",user.getMajor());
values.put("student",user.getStudent());
return mWDB.insert(table_name,null,values);
}
}
相关的增删改查代码没在这里,下一篇见吧!