使用SQLiteDatabase类操作数据库
1、创建安卓应用
基于Empty Activity模板创建安卓应用 - CreateDeleteDB
单击【Finish】按钮
2、准备图片素材
将背景图片拷贝到drawable目录
3、字符串资源文件
字符串资源文件 - strings.xml
<resources>
<string name="app_name">创建和删除数据库</string>
<string name="create_db">创建数据库</string>
<string name="delete_db">删除数据库</string>
</resources>
4、主布局资源文件
主布局资源文件 - activity_main.xml\
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:gravity="center"
android:orientation="vertical"
tools:context=".MainActivity">
<Button
android:id="@+id/btn_create_db"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:onClick="doCreateDB"
android:text="@string/create_db"
android:textSize="20dp" />
<Button
android:id="@+id/btn_delete_db"
android:layout_width="200dp"
android:layout_height="wrap_content"
android:onClick="doDeleteDB"
android:text="@string/delete_db"
android:textSize="20dp" />
</LinearLayout>
查看预览效果
5、主界面类实现功能
主界面类 - MainActivity
声明常量和变量
获取应用当期数据库个数
编写代码创建数据库
编写代码删除数据库
查看完整源代码
package net.hw.create_delete_db;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private static final String DB_NAME_PREFIX = "student"; // 数据库名前缀
private static final int MODE = Context.MODE_PRIVATE; // 文件访问模式
private int count; // 数据库计时器
private SQLiteDatabase db; // SQLite数据库对象
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 利用布局资源文件设置用户界面
setContentView(R.layout.activity_main);
// 获取应用当前数据库个数
count = databaseList().length;
}
/**
* 创建数据库
* 数据库位置:/data/data/net.hw.create_delete_db/databases
* @param view
*/
public void doCreateDB(View view) {
// 数据库计数器累加
count++;
// 定义数据库名
String dbname = DB_NAME_PREFIX + count + ".db";
try {
// 打开或创建数据库
db = openOrCreateDatabase(dbname, MODE, null);
// 提示用户创建成功
Toast.makeText(this, "恭喜,数据库【" + dbname + "】创建成功!", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
// 提示用户创建失败
Toast.makeText(this, "遗憾,数据库【" + dbname + "】创建失败!", Toast.LENGTH_SHORT).show();
}
}
/**
* 删除数据库(删除全部数据库)
*
* @param view
*/
public void doDeleteDB(View view) {
// 获取数据库名数组
String[] dbnames = databaseList();
// 判断是否有数据库可删除
if (dbnames.length > 0) {
// 遍历数组,按名称删除数据库
for (String dbname: dbnames) {
// 删除数据库
deleteDatabase(dbname);
}
// 数据库计数器归零
count = 0;
// 提示用户删除成功
Toast.makeText(this, "恭喜,数据库全部被删除!", Toast.LENGTH_SHORT).show();
} else {
// 提示用户没有数据库可删除
Toast.makeText(this, "遗憾,没有数据库可删除!", Toast.LENGTH_SHORT).show();
}
}
}
6、启动应用,查看效果
创建5个数据库,然后全部删除,最后又创建了三个数据库
使用SQLiteDatabase类操作数据表
1、创建安卓应用
基于Empty Activity模板创建安卓应用 - OperateTable
单击【Finish】按钮
2、准备背景图片
将背景图片拷贝到drawable目录
3、字符串资源文件
字符串资源文件 - strings.xml
<resources>
<string name="app_name">利用SQLiteDatabase操作数据表</string>
<string name="create_or_open_db">创建或打开数据库</string>
<string name="create_table">创建表</string>
<string name="add_record">添加表记录</string>
<string name="update_record">更新表记录</string>
<string name="display_all_records">显示全部表记录</string>
<string name="delete_all_records">删除全部表记录</string>
<string name="delete_table">删除表</string>
<string name="delete_db">删除数据库</string>
</resources>
4、主布局资源文件
主布局资源文件 - activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background"
android:gravity="center"
android:orientation="vertical"
android:padding="10dp">
<Button
android:id="@+id/btn_create_or_open_db"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:onClick="doCreateOrOpenDB"
android:text="@string/create_or_open_db"
android:textSize="20sp" />
<Button
android:id="@+id/btn_create_table"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:onClick="doCreateTable"
android:text="@string/create_table"
android:textSize="20sp" />
<Button
android:id="@+id/btnAddRecord"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:onClick="doAddRecord"
android:text="@string/add_record"
android:textSize="20sp" />
<Button
android:id="@+id/btn_update_record"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:onClick="doUpdateRecord"
android:text="@string/update_record"
android:textSize="20sp" />
<Button
android:id="@+id/btn_display_all_records"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:onClick="doDisplayAllRecords"
android:text="@string/display_all_records"
android:textSize="20sp" />
<Button
android:id="@+id/btn_delete_all_records"
android:layout_width="220dp"
android:layout_height="wrap_content"
android:onClick="doDeleteAllRecords"
android:text="@string/delete_all_records"
android:textSize="20sp" />
<Button