안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요
외부 db를 내부 data영역에 복사하는것 질문을 드립니다..
앞서서 검색을 해보았는데... 똑같이 잘안되네요....
다음은 코드입니다.
@Override
public void onCreate(SQLiteDatabase db)
{String dir= "/data/data/"+mContext.getPackageName();
File folder = new File(dir+"/databases");
if(!folder.exists())
folder.mkdirs();
File outfile = new File(dir+"/databases/"+Config.DB_FILE_NAME);
if(!outfile.exists())
{AssetManager assetManager = mContext.getResources().getAssets();
try
{InputStream is = assetManager.open(Config.DB_FILE_NAME);
OutputStream os = new FileOutputStream(outfile);
byte[] buffer = new byte[1024];
int len;
while((len = is.read(buffer)) > 0)
{os.write(buffer, 0, len);
}
os.flush();
os.close();
is.close();
}
catch(IOException e)
{e.printStackTrace();
return;
}
}
}
SQLiteOpenHelper 상속받아서 쓰고있는데 의문점이 몇가지드는게
1. 앱을 삭제하였는데... 파일이 그대로 있다고 인지를 해버림
2. 복사를 하였지만 데이터를 가져오는 쿼리를 날리니 그런 테이블은 존재하지 않는다고 나옴...
데이터베이스 잘아시는분 도움좀 부탁드립니다.

개발자는 기계가 아닙니다.




스스로 해결을 하긴했는데... 왜 이렇게 되는지 모르겠군요 끄응 -_-;;;; 마치.. 풀었지만... 뒤를 안닦은 찝찝한기분?