从包中访问sqlite文件

时间:2014-07-14 10:56:48

标签: android sqlite

一切都与安全有关。我的目的是从资源文件夹&获取sqlite文件。把它复制到SD卡。没关系。但现在我想把那个sqlite文件放在我的一个包&把它复制到SD卡。有可能吗?

从资产中复制sqlite文件:

private void copydatabase() throws IOException {
    InputStream myinput = mycontext.getAssets().open(DB_ASSETNAME);

    OutputStream myoutput = new FileOutputStream(DB_PATH+DB_NAME);

    byte[] buffer = new byte[1024];
    int length;
    while ((length = myinput.read(buffer))>0) {
        myoutput.write(buffer,0,length);
    }

    myoutput.flush();
    myoutput.close();
    myinput.close();

}

那么如何将我的sqlite文件从包复制到SD卡?

结构::

  - com.package.packagename
       -sqlitefilename.sqlite

1 个答案:

答案 0 :(得分:1)

  

那么如何将我的sqlite文件从包复制到SD卡?

new FileOutputStream(DB_PATH+DB_NAME)替换为指向外部存储空间的内容(例如new FileOutputStream(new File(getExternalFilesDir(), DB_NAME)))。如果WRITE_EXTERNAL_STORAGE设置为18或更低,请确保您拥有minSdkVersion权限。