一、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 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|