앱을 개발하고있는 초보 학생입니다.
문제를 푸는 형식의 앱을 개발하는데
데이터베이스에 작성한 문제를 불러오는데
문제를 풀고 나서의 값을 저장하기 위해 TEST 중인데
저장되는 값이 실제 DATABASE 파일로 저장되는게 아니라
adb shell 상에 DB로 저장이 되기때문에 매칭에 대하여 딜레마에 빠졌는데요..
이런 경우의 DB연동과 매칭을 어떻게 해야하는지 알고싶습니다.
제가 질문하는 요점은 데이터베이스를 사용하는 assets에다가 sqlite파일을 넣어서 불러오고 입력하는 것 입니다.
불러올시에는 assets에 있는 sqlite파일이 불러오게 하지만 insert시에 데이터가 입력되는곳은
sdk-tools에서 adb-shell로 찾아들어가는 패키지 디렉토리에 들어가지며 sqlite브라우져로는 확인이 가능하지 않아
adb shell 로 들어가서 직접 확인해야만 볼 수 있습니다.
제가 알고싶은 것은 adb상에 저장되는 sqlite 파일이 아니라 실제적인 assets 디렉토리의 sqlite 파일에 데이터를 저장시키는 법을 알고싶습니다.
assets 폴더는 설치시에 시뮬이나 디바이스 패키지 폴더 안으로 설치가 되죠. (작업하시던 프로젝트 폴더 내의 db파일은 그저 복사 대상이에요)
데이터베이스를 불러올때 assetmanager 를 이용하시면 그 복사된 경로의 db file을 가져오는 겁니다. 만약 들어간 데이터를 확인하고자 하시면
코드를 작성하여 확인하시던지, 아니면 설치된 어플리케이션 패키지 경로에서 해당 db를 pc로 복사해와 보셔야 할것같네요.
데이터베이스 사용방법은 간략히 두가지 정도로 보실 수 있는데.
1. SQLiteOpenHelper 를 사용 (실행시점에 디비 생성, 데이터 insert)
2. assets 안에 미리 만들어놓은 db파일을 넣어두고 앱 실행시 앱 writable 디렉토리로 복사하여 사용
디바이스로 복사된 assets 폴더는 읽기 전용입니다. 따라서 그 안의 database 파일도 쓰기금지.. 그러므로 이 디비 파일을 writable한 어플리케이션 디렉토리로 복사하여 사용하여야 합니다.
1번의 경우 예제참조
http://pulsebeat.tistory.com/15
2번의 경우 예제참조
http://blog.naver.com/PostView.nhn?blogId=gigar&logNo=60125554451&viewDate=¤tPage=1&listtype=0
sqlite3 와 같은 데이터베이스를 이용하시는게 아닌가요?
질문이 이해가 잘..