android 在SdCard上创建数据库
来源:互联网 发布:脚手架用量计算软件 编辑:程序博客网 时间:2024/06/03 00:36
数据库管理类中使用到的是自定义的Context,而非app的上下文对象:
/** * 用于支持对存储在SD卡上的数据库的访问 **/public class DbContext extends ContextWrapper {/** * 构造函数 * * @param base * 上下文环境 */public DbContext(Context base) {super(base);}/** * 获得数据库路径,如果不存在,则创建对象对象 * * @param name * @param mode * @param factory */@Overridepublic File getDatabasePath(String name) {// 判断是否存在sd卡boolean sdExist = android.os.Environment.MEDIA_MOUNTED.equals(android.os.Environment.getExternalStorageState());if (!sdExist) {// 如果不存在,Log.e("SD卡管理:", "SD卡不存在,请加载SD卡");return null;} else {// 如果存在// 获取sd卡路径String dbDir = android.os.Environment.getExternalStorageDirectory().getAbsolutePath();dbDir += "/database";// 数据库所在目录String dbPath = dbDir + "/" + name;// 数据库路径// 判断目录是否存在,不存在则创建该目录File dirFile = new File(dbDir);if (!dirFile.exists())dirFile.mkdirs();// 数据库文件是否创建成功boolean isFileCreateSuccess = false;// 判断文件是否存在,不存在则创建该文件File dbFile = new File(dbPath);if (!dbFile.exists()) {try {isFileCreateSuccess = dbFile.createNewFile();// 创建文件} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} elseisFileCreateSuccess = true;// 返回数据库文件对象if (isFileCreateSuccess)return dbFile;elsereturn null;}}/** * 重载这个方法,是用来打开SD卡上的数据库的,android 2.3及以下会调用这个方法。 * * @param name * @param mode * @param factory */@Overridepublic SQLiteDatabase openOrCreateDatabase(String name, int mode,SQLiteDatabase.CursorFactory factory) {SQLiteDatabase result = SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null);return result;}/** * Android 4.0会调用此方法获取数据库。 * * @see android.content.ContextWrapper#openOrCreateDatabase(java.lang.String, * int, android.database.sqlite.SQLiteDatabase.CursorFactory, * android.database.DatabaseErrorHandler) * @param name * @param mode * @param factory * @param errorHandler */@Overridepublic SQLiteDatabase openOrCreateDatabase(String name, int mode,CursorFactory factory, DatabaseErrorHandler errorHandler) {SQLiteDatabase result = SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null);return result;}}
0 0
- android 在SdCard上创建数据库
- Android avd 在电脑上创建sdcard
- Android中在sdcard上创建文件夹
- 在手机的sdcard上创建数据库研究
- Android中在sdcard上创建文件夹,注意加权限!!!!
- SQLiteDatabase 在sdcard创建数据库的步骤
- Android 文件在SDCard上读写操作
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- Android中数据存储--采用SQLite存储数据及在SDCard中创建数据库
- 在sdCard创建数据库(打造自己的SQLiteOpenHelper)
- Android创建sdcard
- Android创建sdcard
- android虚拟机创建sdcard
- Android学习笔记(5&&6) ————采用SQLite存储数据及在SDCard中创建数据库
- Android 4.0系统在sdcard不能创建目录
- Android 4.0系统在sdcard不能创建目录
- 25个增强iOS应用程序性能的提示和技巧 — 中级篇
- 使用vim保存没有编辑权限的文件
- android 相对布局属性
- rac logfile ,tempfile 注意
- HttpClient 教程6 (高级主题)
- android 在SdCard上创建数据库
- 25个增强iOS应用程序性能的提示和技巧 — 高级篇
- linux下删除非空目录
- 关于svm_train的参数问题
- 图片集效果 改写
- Memcached调优
- audio与video兼容ie
- 非模态对话框之间的切换
- 应用程序调用dll动态库,参数有vector时崩溃的问题