android怎么删除api数据库,Android中API建议的方式实现SQLite数据库的增、删、改、查的操作...

该博客详细介绍了如何在 Android 应用中使用 SQLite 数据库进行数据的增删查改操作。通过 `PersonSQLiteOpenHelper` 类初始化数据库连接,并使用 `ContentValues` 存储待插入数据,然后调用 `insert()` 方法插入数据。查询操作中,利用 `query()` 方法获取 `Cursor`,遍历结果并实例化 `Person` 对象。更新和删除数据同样通过调用 `update()` 和 `delete()` 方法实现,条件参数通过占位符匹配。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

package com.examp.use_SQLite.dao;

import java.util.ArrayList;

import java.util.List;

import android.content.ContentValues;

import android.content.Context;

import android.database.Cursor;

import android.database.sqlite.SQLiteDatabase;

import com.examp.use_SQLite.PersonSQLiteOpenHelper;

import com.examp.use_SQLite.domain.Person;

public class PersonDaoForAndroid {

// 获取要操作的数据库对象

private PersonSQLiteOpenHelper helper;

/**

* 在构造方法中完毕helper的初始化

*

* @param context

*/

public PersonDaoForAndroid(Context context) {

helper = new PersonSQLiteOpenHelper(context);

}

/**

* 加入数据

*

* @param name姓名

* @param number电话

* @return 返回新插入一行的行ID,或者-1说明发生一个错误

*/

public long add(String name, String number) {

// 获取数据库的连接对象

SQLiteDatabase db = helper.getWritableDatabase();

// 以下是API推荐的写法

ContentValues values = new ContentValues();

values.put("name", name);

values.put("number", number);

// 目标数据表

// 返回新插入一行的行ID,或者-1说明发生一个错误

long id = db.insert("person", null, values);

// 及时的关闭数据库连接

db.close();

return id;

}

/**

* 依据用户姓名查询数据

*

* @param name

* 查询条件

* @return 查询结果

*/

public Person findByName(String name) {

// 获取数据库连接

SQLiteDatabase db = helper.getReadableDatabase();

// 目标数据表名|指定返回的数据字段,假设设置null表示返回全部的数据字段|条件语句,不包含wherekeyword|条件的參数列表|分组的语句|having查询的语句|排序的语句,假设不设置表示使用默认

Cursor cursor = db.query("person", null, "name=?",

new String[] { name }, null, null, null);

// 声明结果对象

Person person = null;

// 推断是否有结果返回

if (cursor.moveToNext()) {

// 取出数据集中的单行数据的个字段的数据

// cursor.getColumnIndex("id");获取指定的字段的下标

// cursor.getInt(index);或getString(index);是获取指定的下标的数据index为int类型;

int id = cursor.getInt(cursor.getColumnIndex("id"));

String named = cursor.getString(cursor.getColumnIndex("name"));

String number = cursor.getString(cursor.getColumnIndex("number"));

// 实例化查询结果数据对象

person = new Person(id, named, number);

}

// 关闭数据库连接,释放资源

db.close();

// 返回数据结果对象

return person;

}

/**

* 依据name更新一条数据

*

* @param name

* 跟新条件

* @param newnumber

* 新的数据

* @return rows受影响的行数

*/

public int update(String name, String newnumber) {

SQLiteDatabase db = helper.getWritableDatabase();

ContentValues values = new ContentValues();

values.put("number", newnumber);

// 目标数据表|要更新的数据|更新条件语句|更新条件參数列表

int rows = db.update("person", values, "name=?", new String[] { name });

db.close();

return rows;

}

/**

* 依据指定的名字删除数据

*

* @param name

* 删除条件

* @return rows受影响的行数

*/

public int delete(String name) {

SQLiteDatabase db = helper.getWritableDatabase();

// 目标数据库表名称|条件语句|条件參数

int rows = db.delete("person", "name=?", new String[] { name });

db.close();

return rows;

}

/**

* 查询全部的操作

*

* @return 查询的结果集

*/

public List findAll() {

SQLiteDatabase db = helper.getReadableDatabase();

Cursor cursor = db.query("person", null, null, null, null, null, null);

// 声明结果集

// 初始化结果集

List persons = new ArrayList();

// 推断是否有结果返回

while (cursor.moveToNext()) {

// 声明结果对象

Person person = null;

// 取出数据集中的单行数据的个字段的数据

// cursor.getColumnIndex("id");获取指定的字段的下标

// cursor.getInt(index);或getString(index);是获取指定的下标的数据index为int类型;

int id = cursor.getInt(cursor.getColumnIndex("id"));

String named = cursor.getString(cursor.getColumnIndex("name"));

String number = cursor.getString(cursor.getColumnIndex("number"));

// 实例化查询结果数据对象

person = new Person(id, named, number);

// 向结果集中加入数据

persons.add(person);

}

// 关闭连接,释放资源

db.close();

// 放回结果集

return persons;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值