我在打开数据的时候,如果是用filename="test.db",然后包括下面注释掉的创建代码,都不会出错        String filename="/sdcard/test/test.db";   //String filename="test.db";
     File file=new File(filename);
     if(file.exists()){
     SQLiteDatabase db = openOrCreateDatabase(filename,Context.MODE_PRIVATE, null);
     /*String sql="Create table solar_info(id integer primary key autoincrement,value float);";
     db.execSQL(sql);
     sql="insert into solar_info values(1,100);";
     db.execSQL(sql);
     sql="insert into solar_info values(2,200);";
     db.execSQL(sql);*/
但是当我用上面的语句打开SD卡上数据库的文件时候就出错了,
感觉问题应该是出在Context.MODE_PRIVATE上,这个选项该怎么写
SQLiteDatabase db = openOrCreateDatabase(filename,Context.MODE_PRIVATE, null);

解决方案 »

  1.   

    这个忘记了在AndroidManifest里增加访问SD卡的权限
    还有请问一下,如果我这个数据库文件需要拷到程序的database目录下,应该怎么处理,数据库文件大小2M多点
    能够设定成apk安装的时候直接拷吗?
      

  2.   

    我没有这样做过,我一般都是写成xml文件或json数据放在assets文件夹下,然后在程序启动的时候开线程去读取后插入数据库,如果数据不想让别人知道可以先加密,后解密