2013-07-16 95 views
1

嗨,我有單獨的數據庫與表。我需要將該數據庫保存到我的資產文件夾中。然後,我想從我的資產文件夾中獲取數據庫中的數據。任何機構都可以告訴我,我該怎麼做?提前致謝。如何訪問Android資產文件夾中的數據庫?

+0

運行時將數據庫從資產文件夾複製到應用程序數據文件夾 –

回答

0

無法直接從資產文件夾讀取數據庫,因此您必須將數據庫複製到應用程序存儲器中。定義路徑這樣

private static String DB_PATH = "/data/data/com.yourpackage.package/databases/"; 
private static String DB_NAME = "yourdatabase.dat"; 

而與此mehod它應該工作拷貝:

private void copyDataBase() throws IOException 
{ 

    InputStream mInput = mContext.getResources().getAssets().open(DB_NAME); 

    String outFileName = DB_PATH + DB_NAME; 

    File createOutFile = new File(outFileName); 
    if(!createOutFile.exists()){ 
     createOutFile.mkdir(); 
    } 
    OutputStream mOutput = new FileOutputStream(outFileName); 
    byte[] mBuffer = new byte[1024]; 
    int mLength; 
    while ((mLength = mInput.read(mBuffer))>0) 
    { 
     mOutput.write(mBuffer, 0, mLength); 
    } 
    mOutput.flush(); 
    mOutput.close(); 
    mInput.close(); 
} 

但你必須創建一個數據庫類像你所要做的,當你想創建一個新的數據庫。這超出了在這裏所說的框架,但應該給你一個方向從哪裏開始。

相關問題