Android数据库的使用(增删改查),怒斩腾讯和阿里的Offer

//当数据库不用时关闭数据库(为了防止博主Demo出错。。。。。)

db.close();

}

//添加数据

public void btninsert(View view) {

SQLiteDatabase db = helper.getWritableDatabase();

//Android为了方便程序员SQL开发,提供了一个贼好的API: ContentValues(添加数据交给它)

ContentValues values = new ContentValues();

//放值

values.put(“name”, “张三”);

values.put(“age”, 18);

db.insert(DataBaseHelp.TABLE_NAME, null, values);

values.put(“name”, “李四”);

values.put(“age”, 19);

db.insert(DataBaseHelp.TABLE_NAME, null, values);

values.put(“name”, “王五”);

values.put(“age”, 20);

db.insert(DataBaseHelp.TABLE_NAME, null, values);

//关闭数据库

db.close();

}

//删除数据

public void btndelete(View view) {

SQLiteDatabase db = helper.getWritableDatabase();

/*table :表名

  • whereClause:满足删除条件 格式:例子: “name=?”

  • whereArgs:满足删除的条件*/

db.delete(DataBaseHelp.TABLE_NAME, “name=?”, new String[]{“张三”});

//关闭数据库

db.close();

}

//修改数据

public void btnupdate(View view) {

SQLiteDatabase db = helper.getWritableDatabase();

ContentValues values = new ContentValues();

values.put(“name”, “BoRe”);

values.put(“age”, 7);

/*

  • table:表名

  • values:更新的数据

  • whereClaues:更新条件 格式:例子: “name=?”

  • whereArgs:满足更新的条件*/

db.update(DataBaseHelp.TABLE_NAME, values, “name=?”, new String[]{“李四”});

//关闭数据库

db.close();

}

//查找数据

public void btnselect(View view) {

SQLiteDatabase db = helper.getWritableDatabase();

/*

*table :表名

  • colums:被查询的列(字段)

  • selection :查询条件

  • selectionArgs:满足查询条件

  • group:指定分组

  • having:分组筛选数据的关键字

  • orderby:排序*/

Cursor cursor = db.query(DataBaseHelp.TABLE_NAME, new String[]{“name”, “age”}, null, null, null, null, null);

//数据拿到了,已经在cursor游标中,现在要遍历游标

//先拿到我们关心的列的索引

int nameIndex = cursor.getColumnIndex(“name”);

int ageIndex = cursor.getColumnIndex(“age”);

while (cursor.moveToNext()) {

//通过列的索引去获取单个格子的值

String name = cursor.getString(nameIndex);

int age = cursor.getInt(ageIndex);

Log.e(“Select”, "btnselect: " + name + age);

}

//关闭数据库

db.close();

}

}

xml文件如下:

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=".DataBaseActivity">

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“btncreate”

android:text=“创建”/>

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“btninsert”

android:text=“插入数据”/>

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“btndelete”

android:text=“删除数据”/>

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“btnupdate”

android:text=“更改数据”/>

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:onClick=“btnselect”

android:text=“查询数据”/>

最后

由于文章篇幅原因,我只把面试题列了出来,详细的答案,我整理成了一份PDF文档,这份文档还包括了还有 高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料 ,帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习。

需要的朋友可以私信我【答案】或者点击这里免费领取

你可能感兴趣的:(程序员,架构,移动开发,android)