在Android中使用sql数据库

时间:2014-05-20 12:45:20

标签: android sqlite

我使用sqlite文件创建了一个数据库。如何访问Android中的sqlite文件以及将该db文件保存在android项目中的位置。

感谢您的帮助。

2 个答案:

答案 0 :(得分:0)

我了解您创建的数据库是在您的计算机上,并且您希望将其捆绑在APK中。因此,我建议您使用https://github.com/jgilfelt/android-sqlite-asset-helper等库,并从资产中加载数据库。另外,我建议您阅读SQLite的文档:http://developer.android.com/reference/android/database/sqlite/package-summary.html

答案 1 :(得分:0)

您可以将其保存在资源文件夹中。您也可以使用此方法将.db文件复制到系统数据库中:

private static String DB_PATH = "/data/data/com.example.testapp/databases/";

private void copyDataBase() throws IOException {

    this.getReadableDatabase();
    //Open your local db as the input stream
    InputStream myInput = myContext.getAssets().open(this.dbName);

    // Path to the just created empty db
    String outFileName = DB_PATH + this.dbName;

    //Open the empty db as the output stream
    OutputStream myOutput = new FileOutputStream(outFileName);

    //transfer bytes from the inputfile to the outputfile
    byte[] buffer = new byte[1024];
    int length;
    while ((length = myInput.read(buffer))>0){
        myOutput.write(buffer, 0, length);
    }

    //Close the streams
    myOutput.flush();
    myOutput.close();
    myInput.close();

}