WEB开发网
开发学院手机开发Android 开发 在Android中把SQLite的数据库文件存储在SD卡中 阅读

在Android中把SQLite的数据库文件存储在SD卡中

 2011-01-11 07:25:30 来源:WEB开发网   
核心提示:那么这里两种实现方式大概步骤和区别说下:---如果我们使用默认系统路径存储数据库文件:第一步:新建一个类继承SQLiteOpenHelper;写一个构造,重写两个函数!第二步:在新建的类中的onCreate(SQLiteDatabase db) 方法中创建一个表;第三步:在进行删除数据、添加数据等操作的之前我们要得到数

那么这里两种实现方式大概步骤和区别说下:

-----------如果我们使用默认系统路径存储数据库文件:

第一步:新建一个类继承SQLiteOpenHelper;写一个构造,重写两个函数!

第二步:在新建的类中的onCreate(SQLiteDatabase db) 方法中创建一个表;

第三步:在进行删除数据、添加数据等操作的之前我们要得到数据库读写句柄得到一个数据库实例;

注意: 继承写这个辅助类,是为了在我们没有数据库的时候自动为我们生成一个数据库,并且生成数据库文件,这里也同时创建了一张表,因为我们在onCreate里是在数据库中创建一张表的操作;这里还要注意在我们new 这个我们这个MySQLiteOpenHelper 类实例对象的时候并没有创建数据库哟~!而是在我们调用 (备注3)MySQLiteOpenHelper ..getWritableDatabase() 这个方法得到数据库读写句柄的时候,android 会分析是否已经有了数据库,如果没有会默认为我们创建一个数据库并且在系统路径data-data-com.himi-databases下生成 himi.db 文件!

(如果我们使用sd卡存储数据库文件,就没有必要写这个类了,而是我们自己Open自己的文件得到一个数据库,西西,反而方便~ )

-----------如果我们需要把数据库文件存储到SD卡中:

第一步:确认模拟器存在SD卡,关于SD卡的两种创建方法见我的博文:【Android 2D游戏开发之十】

第二步:(备注1)先创建SD卡目录和路径已经我们的数据库文件!这里不像上面默认路径中的那样,如果没有数据库会默认系统路径生成一个数据库和一个数据库文件!我们必须手动创建数据库文件!

第三步:在进行删除数据、添加数据等操作的之前我们要得到数据库读写句柄得到一个数据库实例;(备注2)此时的创建也不是像系统默认创建,而是我们通过打开第一步创建好的文件得到数据库实例。这里仅仅是创建一个数据库!!!!

第四步:在进行删除数据、添加数据等操作的之前我们还要创建一个表!

第五步:在配置文件AndroidMainfest.xml 声明写入SD卡的权限,上一篇已经介绍权限了,不知道的自己去看下吧。

有些童鞋不理解什么默认路径方式中就有表?那是因为我们在它默认给我们创建数据库的时候我们有创建表的操作,就是MySQLiteOpenHelper类中的onCreate()方法里的操作!所以我们如果要在进行删除数据、添加数据等操作的之前还要创建一个表,创建表的方法都是一样的。

总结:不管哪种方式我们都要-创建数据库-创建表-然后进行操作!

备注4:

Android中查询数据是通过Cursor类来实现的,当我们使用SQLiteDatabase.query()方法时,会得到一个Cursor对象,Cursor指向的就是每一条数据。它提供了很多有关查询的方法,具体方法如下:

以下是方法和说明:

move 以当前的位置为参考,将Cursor移动到指定的位置,成功返回true, 失败返回false

moveToPosition 将Cursor移动到指定的位置,成功返回true,失败返回false

moveToNext 将Cursor向前移动一个位置,成功返回true,失败返回false

moveToLast 将Cursor向后移动一个位置,成功返回true,失败返回 false。

movetoFirst 将Cursor移动到第一行,成功返回true,失败返回false

isBeforeFirst 返回Cursor是否指向第一项数据之前

isAfterLast 返回Cursor是否指向最后一项数据之后

isClosed 返回Cursor是否关闭

isFirst 返回Cursor是否指向第一项数据

isLast 返回Cursor是否指向最后一项数据

isNull 返回指定位置的值是否为null

getCount 返回总的数据项数

getInt 返回当前行中指定的索引数据

对于SQLite的很多童鞋有接触过,但是就不知道怎么存储在SD中,所以我也研究了下,这篇也写了把sd卡中的方式也提供给大家。

OK 这元旦放假几天就光给大家写这个了,呵呵~凌晨2点了,咳咳~该睡觉了。(我一般凌成3点睡觉,早8点起来上班 呵呵~习惯了~)

本篇源码:上传中、(不知道怎么了上传了两个源码都在我的资源里看不到啊,郁闷啊。等了一天都不出现!晕死)

Himi 原创, 欢迎转载,转载请在明显处注明! 谢谢。

原文地址: http://blog.csdn.net/xiaominghimi/archive/2011/01/04/6114629.aspx

上一页  1 2 3 4 5 

Tags:android SQLite

编辑录入:coldstar [复制链接] [打 印]
赞助商链接