Android操作db的坑
来源:互联网 发布:分身软件 编辑:程序博客网 时间:2024/09/21 09:25
Android 下操作在sd上db
第一要复写个
第二: db文件表明有单引号
第三db文件下载时,记得多余字符影响。
文件存储的时候,会多出很多无用的字节,
byte[] buffer = new byte[4 * 1024];
int len;
while ((len=input.read(buffer))!= -1) {
output.write(buffer,0,len);
}
DatabaseContext extends ContextWrapper{
/** * 构造函数 * @param base 上下文环境 */ public DatabaseContext(Context base){ super(base); } /** * 获得数据库路径,如果不存在,则创建对象对象 * @param name * @param mode * @param factory */ @Override public 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 += "/stock";//数据库所在目录 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 block e.printStackTrace(); } } else isFileCreateSuccess = true; //返回数据库文件对象 if(isFileCreateSuccess) return dbFile; else return null; } } /** * 重载这个方法,是用来打开SD卡上的数据库的,android 2.3及以下会调用这个方法。 * * @param name * @param mode * @param factory */ @Override public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory) { SQLiteDatabase result = SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null); return result; } /** * Android 4.0会调用此方法获取数据库。 * * @see ContextWrapper#openOrCreateDatabase(String, int, * CursorFactory, * DatabaseErrorHandler) * @param name * @param mode * @param factory * @param errorHandler */ @Override public SQLiteDatabase openOrCreateDatabase(String name, int mode, CursorFactory factory, DatabaseErrorHandler errorHandler) { SQLiteDatabase result = SQLiteDatabase.openOrCreateDatabase(getDatabasePath(name), null); return result; }}
第二 :
0 0
- Android操作db的坑
- Hibernate 的DB操作模式
- 【DB】对数据的操作
- Android数据库GreenDAO3.2.2的使用(三,GreenDao操作外部数据库----操作.db数据库)
- 【Android】GreenDao操作外部DB数据库文件
- DB操作
- Android加载asset的db
- Android 对 SDCARD 卡 上的sqlite3 db 文件进行操作总结
- 数据库操作的一般类:DB.Manager
- PHP操作mssql的db类
- 操作数据库的一个DB类
- instantclient连接DB的操作记录
- 对远程的DB进行操作。
- 常用连接操作数据库的DB类
- apicloud db模块的简单操作
- Android db
- Android数据库(SqlLite)操作和db文件查看
- android开发笔记之db数据库基本操作
- oracle linux 5.9 不支持 acfs 文件系统 怎么解决呢?
- Android RecyclerView基本使用
- #码神心得_04# 基本数据类型转换
- 使用HTTP协议访问网络
- Gerrit 服务器搭建
- Android操作db的坑
- 算法之希尔排序
- 第四次课总结和思考
- 共用体和结构体
- jstorm源码分析:任务领取
- 欢迎使用CSDN-markdown编辑器
- 什么叫做裸设备
- php中JSON的使用与转换
- 访问共享变量