一、前言
其实我们可以对数据进行的操作无非有4种,即CRUD。其中C代表添加( Create), R代表查询( Retrieve), U代表更新(Update), D代表删除( Delete)。
每一种操作又各自对应了一种SQL命令,如果不熟悉SQL语言,Android也提供了一系列的辅助性方法,使得在Android中即使不去编写SQL语句,也能轻松完成所有的CRUD操作。
调用SQLiteOpenHelper的getReadableDatabase( )或getWritableDatabase()方法是可以用于创建和升级数据库的,不仅如此,这两个方法还都会返回一个SQLiteDatabase对象,借助这个对象就可以对数据进行CRUD操作了。
二、添加数据
沿用上一篇博客“SQLite数据库存储”项目
2.1、前言
SQLiteDatabase中提供了一个insert()方法,这个方法就是专门用于添加数据的。它接收3个参数,第一个参数是表名,第二个参数用于在未指定添加数据的情况下给某些可为空的列自动赋值NULL,一般我们用不到这个功能,直接传入null即可。第三个参数是一个ContentValues对象,它提供了一系列的put()方法重载,用于向ContentValues中添加数据,只需要将表中的每个列名以及相应的待添加数据传入即可。
2.2、在activity_main.xml中添加代码,如下所示:
................
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/add_data"
android:text="Add data"/>
................
2.3、在MainActivity中编写添加数据逻辑
.........................
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
dbHelper = new MyDatabaseHelper(this , "BookStore.db" , null , 2);
......................
Button addData = (Button) findViewById(R.id.add_data);
addData.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
SQLiteDatabase db = dbHelper.getWritableDatabase();
ContentValues values = new ContentValues();
//开始组装第一条数据
values.put("name" , "The Da Vinci Code");
values.put("author" , "Dan Brown");
values.put("pages"