마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sqlite에 저장할 데이터들을 xml로 정리하는 법?

0 추천
sqlite를 한번도 안해봤는데 기본서를 보니 코드로만 쿼리를 던져서 데이터를 삽입하더라구요

근데 그 데이터가 500개 되면...코드 줄이 500개..늘어난다는 말인데..

데이터를 xml로 정리해서 xml에 있는 데이터를 이용해 바로 테이블을 생성하거나 업데이트 하는 방법이 있나요?
빙구짱 (1,720 포인트) 님이 2015년 3월 23일 질문

4개의 답변

0 추천

"그 데이터가 500개 되면...코드 줄이 500개..늘어난다는 말인데.."

이게 무슨말이죠? 데이터가 500개이면 코드수가 500줄이 된다뇨..?

익명사용자 님이 2015년 3월 23일 답변
그 만약에 테이블이 있는데 거기에 이름이랑 전화번호가 저장되는 테이블이면 그테이블에 레코드를 추가하려면 홍길동 010-0000-0000 추가하고 다음 김미연 010-000-0000 이렇게 500명 추가해야되는거 아닌가요? ㅠㅠ
이걸 반복문으로 하려면 데이터들이 배열이나 다른곳에 들어가 있어야 하는데 이 배열역할을 xml이 할수 있는 방법이 없을까요?
그거는 데이터 포맷을 csv로 하시든, 텍스트파일로 하시든 xml이든 어떤 방법으로든 코드상에서 데이터 읽어서 DB에 넣는 기능만 구현 하시면 문제없을텐데요.
0 추천
https://github.com/susemi99/TestDBListView

참고하시라고 db 예제 알려드리고 갑니다
쎄미 (162,410 포인트) 님이 2015년 3월 24일 답변
0 추천

res>raw에 *.sql 이라는 파일을 생성합니다.

"1","2","3","4","5"

"1","2","3","4","5"

"1","2","3","4","5"

"1","2","3","4","5"

이렇게 해당 컬럼들의 값을 sql 파일에 작성합니다.

코드에서는 

InputStream inputData =  context.getResources().openRawResource(R.raw.*.sql); // 해당 sql파일
try {
BufferedReader bufferedReader= new BufferedReader(new InputStreamReader(inputData, "euc-kr"));
while(true) {
String sql = "INSERT INTO TABLE_NAME (1COL, 2COL, 3COL, 4COL, 5COL) // 해당 쿼리문
" + " VALUES (";
String str = bufferedReader.readLine(); // sql 파일의 데이터를 한줄씩 읽어옴
if (str != null) {
sql += str + ")";
SQLiteDatabase.execSQL(sql); // 한줄씩 insert함.
}
else {
break;
}
}
} catch (Exception e) {
}
 
위와같이 sql 파일 줄갯수만큼 insert or update 할수있습니다.

 

님이 2015년 3월 24일 답변
*.sql 파일은 제가 보기편하게 확장자명을 변경한것으로 txt나 여려형태로 불러올수있습니다. 서버에서 500개 데이터들을 file로 넣어두셨다면 해당 파일을 위와같이 처리할수있습니다.
0 추천
http://sqlitebrowser.org/

위와 같은 프로그램을 이용하여 직접 입력해서 사용하셔도 됩니다.
nicehee (73,100 포인트) 님이 2015년 3월 24일 답변
...