0
내부 저장소 디렉터리에서 내 응용 프로그램의 데이터 폴더로 데이터베이스 파일을 복사하려고합니다. 내가 copydatabase 함수를 호출하는 동안 컴파일러가 data.canWrite()가 false를 반환에 도달하면,내부 저장소에서 내 응용 프로그램의 데이터 디렉터리로 데이터베이스 복사
public static void copyDatabase(Context applicationContext){
try {
File sd = Environment.getExternalStorageDirectory();
File data = Environment.getDataDirectory();
if (data.canWrite()) {
String dbPath = "/data/data/" + "my.package.here" + "/databases/dbname";
String actualDBPath = "dbname.sqlite";
File finalDB = new File(dbPath);
File actualDB = new File(sd, actualDBPath);
if (actualDB.exists()) {
FileChannel src = new FileInputStream(actualDB).getChannel();
FileChannel dst = new FileOutputStream(finalDB).getChannel();
dst.transferFrom(src, 0, src.size());
src.close();
dst.close();
}
}
Toast.makeText(applicationContext, "Save completed !!.", Toast.LENGTH_SHORT).show();
} catch (Exception e) {
e.printStackTrace();
}
}
:
여기 내 코드입니다. 어떻게 고칠 수 있니?