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

xls에서 db로 불러오는 속도가 느립니다.

0 추천
안녕하세요

안드로이드의 멱살을 붙잡은지 일주일가량 된 (삭은)새내기입니다.

 

현재 xls을 이용한 문제은행을 만들고있습니다만(xls-db)

제작은 다 하였는데 모바일에서 실행하니 큰 문제가 있더라구요

 

문제은행이라지만 아직 한종류밖에 안하여서 db에는 2개의 테이블만 사용하는데요(문제&보기/답&해설)

우선 2개의 테이블의 셀 갯수가 각각 7천여개에 달한다는점입니다.......(약 1300문제)

 

이때문인지 어플을 종료후 실행시 xls파일을 읽어오는데

모바일자체의 오류가 약 3번가량 지나서야 완료가 되더라구요(갤2/ 약 3분가량)

혹시 이를 해결할만한 좋은 방법이 있을까 궁굼합니다.

 

개인용도로 사용할것이라 웹연동 등 몇몇은 힘든점 참고 바랍니다..

감사합니다!
익명사용자 님이 2015년 7월 5일 질문

2개의 답변

+1 추천
 
채택된 답변
xls를 sqlite에 넣어놓고 하면 안되나요?
개인용도로 쓰신다하면 변경 한번만 해놓으시면 될것같은데
문제는 결국 랜덤으로 골라서 뽑을텐데, 그럼 원하는 항목만 불러와서 띄워주거나
트랙잭션걸면 그나마 나아질것같은데...
익명사용자 님이 2015년 7월 6일 답변
저도 계속 xls를 읽기보다는  db에 넣어두고 쓰는게 나을 것 같은데 말이죠
그방법으로 해봐야겠네요
혹시 db로 저장시엔 딜레이없이 불러오기가 가능한가요??
문제 총 수가 7000개지만, 한번에 보여줄 개수는 1개씩이거나 몇개씩 정해져있지않나요?
문제 번호 골라서 해당하는거만 불러오기에는 충분할 것 같네요
저도 영어 문법 문제/답 형식의 데이터를 해봤는데 괜찮더군요
참고하여 개선해보겠습니다 도움 감사합니다!!
0 추천
속도개선이라하면.. 하드웨어성능향상이 최고!

그게 안된다면 알고리즘이라고 하긴 뭐하지만 코드 수행방법을 적절하게 변경해야겠네요

위 내용만으로는 어떤 형태로 사용하실건지 감이 안와서 대충 추측하여 예를 끄적이니 이해해주세요

우선 웹연동이 아니라고 하신걸로 보아 엑셀파일은 직접 휴대폰에 넣고

어플을 실행하면 엑셀파일을 읽어 내부 데이터베이스로 데이터를 가져오는 것 같은데

그럼 같은 파일의 경우 최초 실행 시 한번만 수행될테고 최초 수행 시에만 딜레이가 걸린다면

굳이 속도에 연연할 필요성이 있는가? 싶네요

작업 중에 오류가 3번 가량 난다는 건 아마도 해당 작업을 백그라운드에서 수행하지 않아서

발생한 것으로 예상되네요
초보개발자ㅠ (33,870 포인트) 님이 2015년 7월 6일 답변
프로그래밍은 진짜 한달도 안되서인지
차근차근 곱씹으면서 바꿔봐야겠어요 감사합니다!
...