최초 실행시 앱에서 필요한 데이터(assets폴더에 존재)를 DB로 만들었습니다.
매 실행시마다 db에 데이터가 누적으로 추가 되더라구요... 설치 후 최초실행시에만 db를 생성하고싶은데 어떤방법이 있을까요?
create table if not exist 는 생성이고, 데이터 삽입부분은 그대로 실행되네요...
본 질문으로 들어가겠습니다.
1800개 가량 데이터가 있는데 아래와 같이 데이터를 Db에 넣어주었습니다
@Override
protected Long doInBackground(DBAdapter... arg0) {
// TODO Auto-generated method stub
int count = stockList.length;
long totalSize = 0;
db = new DBAdapter(context, sql, "favorite");
db.open();
ContentValues values = new ContentValues();
// 한번만 실행되게 처리해야함
for (int i = 0; i < count; i++) {
values.put("name", stockList[i]);
values.put("code", codeList[i]);
db.insertTable(values);
publishProgress((int)((i / (float) count) * 100));
}
return null;
}
이렇게 하였더니 로딩시간이 1분정도 걸리는 것 같습니다... 최초실행시 한번만 하는거지만 그래도 너무느린것같아
속도좀 올려보려합니다... 조언좀 해주세요~




transaction 을 쓰셔야 할 거 같네요.