为了账号安全,请及时绑定邮箱和手机立即绑定

复制自定义的 sqlite 数据库到 android 中的错误

复制自定义的 sqlite 数据库到 android 中的错误

翻过高山走不出你 2019-03-22 18:15:22
我想复制一个自定义的 sqlite 数据库到 android 中public class DataBaseHelper extends SQLiteOpenHelper { private static String TAG = "DataBaseHelper"; // Tag just for the LogCat window private static String DB_PATH = "/data/data/mypackagename/databases/";//path of our database private static String DB_NAME ="application-database";// Database name private SQLiteDatabase mDataBase;  private final Context mContext; public DataBaseHelper(Context context)  {     super(context, DB_NAME, null, 1);     DB_PATH = "/data/data/" + context.getPackageName() + "/databases/";     this.mContext = context; }    public void createDataBase() throws IOException {     //If database not exists copy it from the assets       boolean mDataBaseExist = checkDataBase();     if(!mDataBaseExist)     {         this.getReadableDatabase();         this.close();         try          {             //Copy the database from assests             copyDataBase();             Log.e(TAG, "createDatabase database created");         }          catch (IOException mIOException)          {             throw new Error("ErrorCopyingDataBase");         }     } }当运行到 InputStream mInput = mContext.getAssets().open(DB_NAME);给出一个错误,程序直接跳转到catch (IOException mIOException)          {             throw new Error("ErrorCopyingDataBase");         }数据库是在 assets 文件夹中。这个问题出在哪里呢?
查看完整描述

3 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

你需要先把数据库解压到SD卡上,然后去读取SD卡上的db文件。


查看完整回答
反对 回复 2019-04-29
  • 3 回答
  • 0 关注
  • 484 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号