目录
1.数据库的创建以及增删改查
1.1创建数据库
首先创建一个类,然后继承sqliteopenhelper,根据红线提示进行补充
package com.example.work.database;
import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import androidx.annotation.Nullable;
public class DatabaseHelper extends SQLiteOpenHelper {
public DatabaseHelper(@Nullable Context context, @Nullable String name, @Nullable SQLiteDatabase.CursorFactory factory, int version) {
super(context, name, factory, version);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}
}
接下来我们可以简单重构一个测试数据库来试试效果
public DatabaseHelper(Context context) {
super(context,"test.db",null,1);
}
然后再写一个创建数据库的sql语句
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table user(username varchar(20) not null,password varchar(60) not null);");
}
如何调用呢,在activity中调用
DatabaseHelper databaseHelper = new DatabaseHelper(this);
SQLiteDatabase sqLiteDatabase =databaseHelper.getWritableDatabase();
1.2 数据的增加
接下来我们尝试添加一下数据
findViewById(R.id.sql_add_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ContentValues contentValues = new ContentValues();
contentValues.put("user","WRS");
contentValues.put("password","20020208");
sqLiteDatabase.insert("user",null,contentValues);
}
});
1.3 数据的查询
findViewById(R.id.sql_query_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//创建一个游标
Cursor cursor = sqLiteDatabase.query("user",null,null,null,null,null,null,null);
if(cursor.moveToFirst()){
int count = cursor.getCount();
int i=1;
while(cursor.moveToNext())
{
String userName = cursor.getString(cursor.getColumnIndexOrThrow("username"));
String password = cursor.getString(cursor.getColumnIndexOrThrow("password"));
Toast.makeText(context,i+":"+userName+"的密码为"+password,Toast.LENGTH_LONG).show();
Log.d("123", i+":"+userName+"的密码为"+password);
i++;
}
}
}
});
1.4 数据的删除
//数据的删除
findViewById(R.id.sql_delete_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String whereClauseString = "username=?";
String[] whereArgsString ={"WRS"};
sqLiteDatabase.delete("user",whereClauseString,whereArgsString);
}
});
可以发现带有WRS的数据全部被删除了
1.5数据的更新
//数据的更新
findViewById(R.id.sql_update_button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
ContentValues contentValues = new ContentValues();
contentValues.put("password","password have updated");
String whereClauseString = "username=?";
String[] whereArgsString ={"RS"};
sqLiteDatabase.update("user",contentValues,whereClauseString,whereArgsString);
}
});
我们可以看到RS的数据已经被修改了