android创建sqlite数据库及在SD卡上创建数据库
来源:互联网 发布:ubuntu使用搜狗输入法 编辑:程序博客网 时间:2024/04/30 13:11
原文链接:http://blog.csdn.net/chtnj/article/details/7834687
在SD卡上创建数据库
通过android的SQLiteOpenHelper类的源码,可以看到SQLiteOpenHelper类的getWritableDatabase
这个接口实际上调用的是Context的openOrCreateDatabase方法,而这个方法是不支持带路径的数据库名
称的,也就是说,用这个方法创建的数据库只能放在/data/data/包名称/ 目录下;要想在SD卡上创建数据库
,我们可以调用SQLiteDatabase类的openOrCreateDatabase方法,这个方法是支持带路径的数据库名称的。
那么下面的问题就是如何判断是否存在SD卡,已经如何获取SD卡的路径了?
判断是否存在SD卡:
android.os.Environment.MEDIA_MOUNTED.equals(
android.os.Environment.getExternalStorageState());
获取SD卡路径:String dbPath=android.os.Environment.getExternalStorageDirectory()
.getAbsolutePath();
在SD卡上创建数据库方法如下:
String dbPath=android.os.Environment.getExternalStorageDirectory()
.getAbsolutePath()+"/database";
File dbp=new File(dbPath);
File dbf=new File(dbPath+"/"+"test.db");
if(!dbp.exists()){
dbp.mkdir();
}
//数据库文件是否创建成功
boolean isFileCreateSuccess=false;
if(!dbf.exists()){
try{
isFileCreateSuccess=dbf.createNewFile();
}
catch(IOException ioex){
}
}
else{
isFileCreateSuccess=true;
}
if(isFileCreateSuccess)
db = SQLiteDatabase.openOrCreateDatabase(dbf, mFactory);
为了简便起见,我们可以用上述方法重写SQLiteOpenHelper类的getWritableDatabase方法,
其他逻辑参照SQLiteOpenHelper类即可。最后别忘了,加入SD卡的读写权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>。
- android创建sqlite数据库及在SD卡上创建数据库(一)
- android创建sqlite数据库及在SD卡上创建数据库(二)
- android创建sqlite数据库及在SD卡上创建数据库(二)
- android创建sqlite数据库及在SD卡上创建数据库
- android创建sqlite数据库及在SD卡上创建数据库
- android创建sqlite数据库及在SD卡上创建数据库
- 在Sd卡上创建Sqlite数据库
- Android SD 卡上创建 SQLite 数据库
- android在SD卡中创建数据库
- Android-数据库Sqlite的创建,查询及在ListView显示
- Android数据库SD卡创建,及图片存、取操作!!
- android 创建sqlite 数据库
- android sqlite 数据库创建
- android sqlite创建数据库
- android sqlite 数据库创建
- android Sqlite 数据库创建
- Android Sqlite数据库创建及操作
- android SQLite数据库:创建及更新
- 软考——公钥和私钥
- 基于hadoop2.2的map端表关联(map side join)mapreduce实现
- SQLLDR详解与例子
- 9.2
- 关于在集合中加入StringBuffer的问题
- android创建sqlite数据库及在SD卡上创建数据库
- hdu1316 大数
- ThreadPoolExecutor使用和思考-线程池大小设置与BlockingQueue的三种实现区别
- [LeetCode]Merge Two Sorted Lists
- 初识C++
- java 作业 4.1
- Sqlplus中的VARIABLE以及使用VARIABLE之后使用execute。
- if有空的话 C++
- java作业 4.2