2011-07-22 129 views
3

我在android中做一个应用程序,我的系统中有.sqlite文件,名为'ff.sqlite'。在.sqlite文件中,我有10个表,非常大的表记录。在我的应用程序(android)中,我将.sqlite文件放在原始文件夹中,并创建了一个名为'festival.db'的数据库。现在我不知道如何将ff.sqlite文件导入到festival.db中。请帮帮我。如何将.sqlite导入到android上的sqlite中的数据库

res/raw/ff.sqlite 

创建数据库,我用下面的代码在android系统:

 SQLiteDatabase dbs; 
    dbs = openOrCreateDatabase("festival.db", SQLiteDatabase.CREATE_IF_NECESSARY, null); 

我的问题是,我需要从.sqlite文件中的festival.db所有表,请帮助我。

回答

6

从资产文件夹中的DB文件复制到内存中,然后打开数据库,并从那里做CRUD:

private void copyDB() throws IOException{ 

     InputStream myInput = m_Context.getAssets().open(DB-SQLITE_FILE_NAME_KEPT_IN_ASSET_FOLDER); 
     String outFileName = "/data/data/your.package.name/databases/"; 
     OutputStream myOutput = new FileOutputStream(outFileName); 
     byte[] buffer = new byte[1024]; 
     int length; 
     while ((length = myInput.read(buffer))>0){ 
      myOutput.write(buffer, 0, length); 
     } 
     myOutput.flush(); 
     myOutput.close(); 
     myInput.close(); 

    } 
+1

感谢这里给.sqllite文件名? –

相关问题