반응형
Asset 폴더에 DB 파일을 고유 data 폴더로 이동시키는 로직이 필요하여 만들어보았다.
//Asset 폴더 경로가 asset/db/abc.db일때
private static final String ASSETS_FILE_DB = "db/abc.db";
public void copyDbFile(Context context) //assets/db 파일을 가지고와서 패키지 파일에 복사하는 작업
{
AssetManager am = context.getAssets();
try
{
InputStream is = am.open(Const.ASSETS_FILE_DB);
BufferedInputStream bis = new BufferedInputStream(is);
String strDbPath = context.getDatabasePath("tmp").getParent(); ///data/user/0/com.mysample.myapplication/databases
//getDatabasePath("tmp")의 파라미터 tmp는 아무 의미없는 값임.
File f = new File(strDbPath + "/" + Const.DB_NAME);
FileOutputStream fos = new FileOutputStream(f);
BufferedOutputStream bos = new BufferedOutputStream(fos);
int read = -1;
byte[] buffer = new byte[1024];
while ((read = bis.read(buffer, 0, 1024)) != -1)
{
bos.write(buffer, 0, read);
}
bos.flush();
bos.close();
fos.close();
bis.close();
}catch (Exception e)
{
}
}
반응형
'OS > Android' 카테고리의 다른 글
안드로이드 헤드셋 연결 브로드캐스트 리시버 (0) | 2019.11.13 |
---|---|
Asset 폴더에 있는 ogg 파일을 패키지 디렉토리로 복사하기 (0) | 2019.11.13 |
Android AudioFocus (0) | 2019.10.31 |
Android Studio Debugger (0) | 2019.10.29 |
안드로이드 View와 ViewGroup (0) | 2019.08.19 |