安卓开发---基于SQLite实现增删查改

目录

一、关于SQLite

二 、SQLiteDatabase、SQLiteOpenHelper、Cursor

三、实现增删查改

四、效果图

五、项目地址


一、关于SQLite

SQLite体积小,对于简单开发很方便,而且很多软件都有自带。而且开发支持也多。SQLite的核心引擎本身不依赖第三方的软件,在我们开发时直接使用即可。

二 、SQLiteDatabase、SQLiteOpenHelper、Cursor

  1. 创建SQLiteOpenHelper 之后在类创建数据库,创建表等等
  2. 创建SQLiteDatabase 之后操作数据库
  3. ContentValues是唯一插入数据库的数据类型 如果你使用对象就必须将Object转成ContentValues
  4. 数据库的数据提取返回cursor,之后手动的将cursor将数据取出来把数据封装成Object之后再使用

SQLiteDatabase:

SQLiteDatabase是SQLite数据库类, 用于创建数据库.

SQLiteOpenHelper

SQLiteOpenHelper这个类用来管理数据库。包括创建更新 数据库。所以我们只要继承SQLiteOpenHelper类来就可以对数据库进行管理。

Cursor:

SQLite查询的结果是返回一个游标(Cursor)。类似于我们在java学习数据库操作中的ResultSet类差不多, rawQuery(String sql, String[] selectionArgs)。通过移动游标来进行数据的查询。

三、实现增删查改

使用数据库前提是有一个数据库, 要进行数据操作就要对表进行操作

创建SQLite数据库,首先的创建一个 SQLiteOpenHeper  的子类并实现相应的方法(如下)。

创建数据库:

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL(CreateStudentInfo);    //此处的CreateStudentInfo是创建表的语句
} 
@Override 
public void onUpgrade(SQLiteDatabase arg0, int arg1, int arg2) {
     // TODO Auto-generated method stub 
}

 在我们使用这个类时, 构造方法就会新建数据库

public DBHelper(Context context){ 
    super(context,DATABASE_NAME,null,DATABASE_VERSION); 
}

 

使用数据库

new了SQLiteOpenHeper的子类后新建数据库就已经完成. 然后通过getReadAbleDatabase()或getWriteableDatabase()方法来获取一个数据库实例。可以在onCreate()方法中对数据库进行操作。不过为了便于管理, 最好重新写一个专门的工具类。 

新建表:

其实在onCreate()方法中就是在创建表:

public static final String SqlCreatTable = "create table student ("
            + "number integer primary key, "
            + "gender text , "
            + "name text,"
            + "birth text,"
            + "native_place text,"
            + "specialty text,"
            + "phone text)";
db.execSQL(SqlCreatTable );

插入数据:

public void add(List<Person> persons){
        db.beginTransaction();
        try{
            for (Person p:persons){
                db.execSQL("INSERT INTO person VALUES(null,?,?,?)",
                        new Object[]{p.getName(),p.getAge(),p.getInfo()});
            }
            db.setTransactionSuccessful();
        }catch(Exception e){
            e.printStackTrace();
        }finally {
            db.endTransaction();
        }
    }

删除数据(按name字段删除):

public void deleteOldPerson(Person p){
        db.delete("person","name=?",new String[]{p.getName()});
    }

查询数据:

用cursor查询,在按列读取cursor的每一组数据。

public List<Person> findAllPerson(){
        ArrayList<Person> persons = new ArrayList<Person>();
        Cursor c = db.rawQuery("SELECT * FROM person", null);
        while(c.moveToNext()){
            Person p = new Person();
            p.set_id(c.getInt(c.getColumnIndex("_id")));
            p.setName(c.getString(c.getColumnIndex("name")));
            p.setAge(c.getInt(c.getColumnIndex("age")));
            p.setInfo(c.getString(c.getColumnIndex("info")));
            persons.add(p);
        }
        c.close();
        return persons;
    }

更新数据:

还是根据name字段更新,数据是一个list形式封装好的。

public void update(Person p){
        ContentValues cv = new ContentValues();
        cv.put("age",p.getAge());
        cv.put("info",p.getInfo());
        db.update("person",cv,"name=?",new String[]{p.getName()});
    }

四、效果图

五、项目地址

项目地址: SQLiteLearn

Github:SQLiteLearn

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 安卓的SQLite数据库增删查改操作通常需要使用SQL语句来实现。下面是一个简单的实现过程: 1. 创建数据库:使用SQLiteOpenHelper类创建数据库实现onCreate()方法创建表。 2. 增加数据:使用SQLiteDatabase类的insert()方法插入数据。 3. 删除数据:使用SQLiteDatabase类的delete()方法删除数据。 4. 修改数据:使用SQLiteDatabase类的update()方法修改数据。 5. 查询数据:使用SQLiteDatabase类的query()方法查询数据,并使用Cursor对象读取查询结果。 这是一个简单的实现过程,具体的实现过程可能因项目不同而有所差别,但大致思路是一致的。 ### 回答2: 安卓本地SQLite数据库增删查改操作是用于管理和操作本地SQLite数据库的一系列方法。以下是实现该过程的步骤: 1. 创建数据库:首先需要在安卓应用中创建一个SQLite数据库。可以通过继承SQLiteOpenHelper类来创建和管理数据库。在SQLiteOpenHelper的子类中可以定义数据库的名称、版本号和表结构。 2. 增加数据(Insert):使用SQLiteDatabase的insert方法可以向数据库中添加新的数据。该方法接受要插入的表名称、要插入的数据和要插入的列名称作为参数。可以通过ContentValues对象来存储要插入的数据,然后将ContentValues对象作为参数传递给insert方法。 3. 查询数据(Query):使用SQLiteDatabase的query方法可以从数据库中查询数据。该方法接受表名称、要查询的列名称、查询条件、查询参数等作为参数。可以通过Cursor对象来接收查询结果,并通过Cursor的moveToFirst等方法来遍历查询结果。 4. 更新数据(Update):使用SQLiteDatabase的update方法可以更新数据库中的数据。该方法接受表名称、更新的数据、更新条件、更新参数等作为参数。使用ContentValues对象来存储要更新的数据,并将ContentValues对象作为参数传递给update方法。 5. 删除数据(Delete):使用SQLiteDatabase的delete方法可以从数据库中删除数据。该方法接受表名称、删除条件、删除参数等作为参数。可以根据条件删除数据,也可以删除整个表中的所有数据。 以上是安卓本地SQLite数据库增删查改操作的实现过程。通过使用SQLiteOpenHelper类和SQLiteDatabase类提供的方法,可以方便地对本地SQLite数据库进行各种操作。 ### 回答3: 安卓的本地SQLite数据库操作分为增加(Insert)、删除(Delete)、查询(Select)和更新(Update)四个基本操作。 首先是增加操作,首先需要创建一个SQLiteOpenHelper类,继承自SQLiteOpenHelper,重写onCreate和onUpgrade方法,以便创建数据库和表。然后,在需要进行插入操作的地方,实例化该SQLiteOpenHelper类,并通过getWritableDataBase()方法获取一个可写的数据库对象,接着调用insert方法进行数据插入。 接下来是删除操作,通过getWritableDataBase()方法获取可写的数据库对象,然后调用delete方法进行数据删除。delete方法需要传入表名和删除条件。 然后是查询操作,同样需要获取可读的数据库对象,调用query方法进行查询。query方法需要传入表名、字段名、查询条件和排序等参数,返回一个Cursor对象。通过Cursor对象可以遍历查询结果,取得所需的数据。 最后是更新操作,同样需要获取可写的数据库对象,然后调用update方法进行数据更新。update方法需要传入表名、新数据和更新条件。 需要注意的是,数据库操作通常需要在一个事务中进行,以确保数据的完整性和一致性。在事务中的数据库操作失败时,可以进行回滚操作或者采取其他处理方式。 总结,安卓本地SQLite数据库增删查改操作实现过程包括创建SQLiteOpenHelper类、获取可读/写的数据库对象,并分别调用对应的insert、delete、query和update方法来进行增加、删除、查询和更新操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值