本次写了一个关于sqlite的程序,在这里做一下总结。
在操作数据库时有两种方法可以操作数据库,一种是SqliteDataBase 一种是继承它的 SqliteOpenHelper。一般我们用SqliteOpenHelper,因为它可以直接创建数据库。而SqliteDataBase只能进行操作数据库。
那么我们在继承SqliteOpenHelper时需要重写两个方法。
一个是onCreate()在onCreate的方法中的可以进行执行创建数据库的操作。
第二是onUpgrade()在这个方法中主要是写对数据版本的升级的操作。
还要实现一个继承SqliteOpenHelper类的构造器。在这个构造器中的super方法中需要有Context 数据库的名称 Factory一般为null 版本号。
然后就可以在这个类中封装数据库的增删改查了。在对数据进行操作时需要实现getwriteableDatabase()或者getReadableDatabase 这样是为了获取一个sqlitedatabase的实例进行操作数据的增删改查。那么用getWriteableDataBase还是用geReadableDatabse是取决于你的操作是读还是写。
在进行插入时 需要ContentValues 把数据装进去,然后调用insert方法(表名,列名,值)
在进行查找时query的操作。
在进更新时进行updata(表名,数据值,更新的id,更新的那个id)。
在进行数据库的展示我们一般会用到CursorAdapter或者SimpleCursorAdapter进行数据绑定展示。那么在继承CursorAdapter时要实现两个方法。
一个是newView 另一个是bindView。这两个方法可以这样理解,newView相当于onCreate,bindView相当于onStart。这样我们就会明白他的执行顺序。
CursorAdapter是继承BaseAdapter,它重写了BaseAdapter中的getView方法。当进行数据展示时,如果没有view时,它会调用newView方法,然后调用bindView方法。
newView方法并不会每次都调用,一般是在实例化的时候调用,或者在数据增加的时候调用。但是在重绘制的时候不会调用。比如更改textview中的内容不会调用newView方法。
bindView在绘制item之前会调用,在重新绘制的时候也会调用。
进行数据展示cursor.getColumnIndex(列名)会返回这个列的下标,然后在getString可以得到每一个列内容。在进行数据绘制时,它是一条条绘制的,是根据BaseAdapter中返回的数量,然后cursor进行移动的出来的内容。
在进行删除后让litview进行更新界面一般直接调用NotifydatasetChanged不行,需要先进性查早一下数据,然后调用changCursor 在调用NotiydatasetChanged就可以了。
关于sqlite的一些总结
最新推荐文章于 2020-12-15 10:46:18 发布