
一、sqlite *** 作的组件类
AndroID SDK提供了一些类来表示sqlite的行, *** 作返回值等。
ContentValues类用于表示数据库的行,一个ContentValues对象代表了数据库的一行数据,
其中包含了各列的数据值,在想sqlite数据库插入数据的时候,ContentValues对象提供了列明和数据
的映射关系。
Cursor类用于 *** 作数据库查询结果,包含的典型的方法如下:
movetoFirst,移动指针至结果的第一行;
movetoNext,移动指针到下一行
movetoPrevIoUs,移动指针到上一行
getCount,获取结果的行数
getColumnIndexOrThrow,返回指定名称的列的索引,如列不存在则抛出异常
getColumnname,获取指定索引的列的名称
getColumnnames,获取所有列明
movetoposition,移动指针到指定的行
getposition,获取单签指针位置
另外,AndroID提供了Activity中管理Cursor资源的机制。应用程序的Activity提供了startManagingCursor方法
以将Cursor的生命周期集成到Activity的生命周期中。当完成Cursor的使用后,可以通过调用Activity提供的
stopManagingCursor来解除继承关系
二、直接读写sqlite数据库
我们可以通过如下两步来使用数据库
1、调用androID.database.sqliteDatabase类的openDatabase或openorCreateDatabase方法来打开或者创建数据库:
static sqliteDatabase openDatabase(String path,sqliteDatabase.CursorFacrory,int flags);
//第三个参数flag可取的值有OPEN_READWRITE,OPEN_Readonly,
//CREATE_IF_NECESSARY等,以说明数据库打开 *** 作的方式
static sqliteDatabase openorCreateDatabase(String path,sqliteDatabase.CursorFactory);
//等同于openDatabase(path,factory,CREATE_IF_nesSARY)
static sqliteDatabase openorCreateDatabase(file file,sqliteDatabase.CursorFactory factory);
//等同于openDatabase(file.getPath(),CREATE_IF_NECESSARY)
2、调用同一类的execsql方法来执行SQL语句voID execsql(String sql,Object[] bindArgs);voID execsql(String sql);直接 *** 作数据库方法的代码如下:private static final Stirng DATABASE_name="SampleDB.db";private static final String DATABASE_table="staff";private static final String DATABASE_CREATE="create table"+DATABASE_table+" (ID integerprimary key autoincrement,"+"name teset not null);";private voID createDatabase(){sqliteDatabase myDB=openopCreate(DATABASE_name,Context.MODE_PRIVATE,null);myDB.execsql(DATABASE_CREATE);}对于非常简单的数据库访问程序,上面的方法比较简洁,大叔你好IDuiyu数据库访问较多的应用程序,直接诶对数据库进行访问会使得代码模块的耦合性增大,应用程序逻辑控制层不能够独立于数据存储层,随着程序代码量的增大,维护的代价也会越来越大。因此建立一个数据库的Adapter是一个非常好的选择,AndroID SDK也提供了类以协助实现Adapter
总结以上是内存溢出为你收集整理的SQLite数据库第一天全部内容,希望文章能够帮你解决SQLite数据库第一天所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)