2013-07-16 3 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(); 
} 

을하지만 당신은 새를 만들 때이 할 수있는 것처럼 당신은 데이터베이스 클래스를 만들어야합니다 데이터 베이스. 이것은 프레임을 넘어 여기에 있지만, 시작해야 할 방향을 제시해야합니다.

관련 문제