android 创建数据库调用SQLiteOpenHelper,一般不直接操作SQLiteDatabase ,
是通过SQLiteOpenHelper来获取
public class DBOpenHelper extends SQLiteOpenHelper {
private static final int VERSION = 1;// 定义数据库版本号}
这个类下面有数据库创建,相对路径是直接存储在本程序的database下面,如果用绝对路径,就可以自选,是否sd卡。
在用到的类里面
private DBOpenHelper helper;// 创建DBOpenHelper对象
private SQLiteDatabase db;// 创建SQLiteDatabase对象
{
helper = new DBOpenHelper(context);// 初始化DBOpenHelper对象
db = helper.getReadableDatabase();// 初始化SQLiteDatabase对象
}
直接用getReadableDatabase来获取数据库SQLiteDatabase对象。
这里讲一下怎么自动选择有sd卡就存在sd卡,没有就存储在内存中。
public DBOpenHelper(Context context) {// 定义构造函数
super(context, DBNAME, null,VERSION);// 重写基类的构造函数
}
这个构造函数改完
public DBOpenHelper(Context context,String name) {// 定义构造函数
super(context, name, null,VERSION);// 重写基类的构造函数
}
然后在用到的activity里面判断
if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED)) {
name=Environment.getExternalStorageDirectory().getPath()+“/”+“alarm.db”;
}else{
name="alarm.db";
}
然后调用
helper = new DBOpenHelper(context,name);// 初始化DBOpenHelper对象
就可以自动判断了
版权声明:本文为博主原创文章,未经博主允许不得转载。
android 建数据库 SQLite 存储sd 卡或者内存
原文地址:http://blog.csdn.net/chenaini119/article/details/46801321