우선 질문 작성 전에 오유분들께 진심으로 감사드린다는 말씀 드리고 싶습니다 (__) <div><br></div> <div>프로젝트 사정상 원래 주력 언어가 C인 제가 짧은 2주가량 동안 야매를 섞어가는 공부로 오픈소스를 활용하는데</div> <div><br></div> <div>참 힘들더라구요. 자바/안드 숙련자분이였으면 하루이틀이면 끝날걸 2주동안 붙잡고 있었는데 그나마도</div> <div><br></div> <div>오유에 틈틈히 질문올린것 친절히 답변해주시고 찾아주셔서 해결했습니다. 저도 이게 끝나고 나면 제 아는 한에서 많은 도움</div> <div><br></div> <div>드리고 싶습니다 ㅠ_ㅠ</div> <div><br></div> <div><br></div> <div><br></div> <div>우선 현재 진행상황과 제가 해결하지 못하고 있는 (초보적인) 문제부터 말씀드리겠습니다.</div> <div><br></div> <div>안드로이드에 있는 sqlite DB에 약 100만개 row의 csv파일을 라인별로 읽어서 insert 해줍니다. (1개 row에 1개의 데이터만 들어있음. csv파일은</div> <div>assets 폴더에 접근하여 읽음.)</div> <div><br></div> <div>이 상태로 DB에 있는 단어들을 찾아가면서 일종의 자동완성 기능을 하는건데요.</div> <div>여기서 본격적인 질문 들어갑니다! (코드는 맨 하단에 첨부해놓겠습니다! 읽으시는데 불편함 없으시도록 최대한 설명 덧붙여놓았습니다. ㅠㅠ)</div> <div><br></div> <div><br></div> <div>1. 데이터가 많아서 그런지 DB에 있는 단어들을 탐색하는데 너무 오랜시간이 걸려 <span style="font-size:9pt;">AsyncTask라는 백그라운드 스레드를 통한 작업을 구현하려고 하는데요, 이걸로 시간이 걸리는 문제가 해결이 될까요? 시간이 오래걸린다 함은,앱 실행시 부터 단어 하나하나를 입력하려 할 때 마다 대기시간이 너무 길다는 얘기 입니다. </span></div> <div><span style="font-size:9pt;"><br></span></div> <div><span style="font-size:9pt;">2. DB 테이블에 값을 insert해줄 때, 단순히 csv에 있는 단어들만 넣어줄게 아니라 각 단어마다의 count도 함께 지정해서 넣어주고 싶습니다. 이유는, 각 단어마다 count 값을 지정해서 사용자가 자동완성 기능을 사용하면 해당 자동완성 단어의 count를 늘려주고 count 순으로 내림차순해서 (초기에 모두 0이면 무작위로 보여줄테지만..) 보여주고 싶어서 그렇습니다. </span></div> <div><br></div> <div><br></div> <div>DB 클래스에 관한 코드 입니다.</div> <div><a target="_blank" href="http://colorscripter.com/s/gOakbQ5">http://colorscripter.com/s/gOakbQ5</a></div> <div><br></div> <div>주석을 간단간단하게 달아놓았지만 간략하게 테이블 생성 / read 함수 (DB를 커서로 이동하면서 읽음) / insert 함수 (DB에 데이터 삽입) </div> <div>이렇게 구성되어 있는 상태 입니다.</div> <div><br></div> <div><br></div> <div>MainActivity에 관한 코드 입니다.</div> <div><a target="_blank" href="http://colorscripter.com/s/OW6MJ8y">http://colorscripter.com/s/OW6MJ8y</a></div> <div><br></div> <div>위에서 말씀드린 csv파일을 라인별로 읽어 sqlite DB에 insert 해주는 코드가 들어있고 AsyncTask를 활용하기 위해 </div> <div>doInBackGround 함수에 코드를 넣어놓았습니다.</div> <div>getItemsFromDb 함수가 있는데 이놈은 아래 클래스에서 호출됩니다! 이름처럼 DB에 있는 데이터들을 read해주는 함수 입니다.</div> <div><br></div> <div><br></div> <div><a target="_blank" href="http://colorscripter.com/s/WNcPE3r">http://colorscripter.com/s/WNcPE3r</a></div> <div>이 클래스에서 상술해드린 getItemsFromDb 함수를 호출합니다.</div> <div><br></div> <div><br></div> <div><br></div> <div>질문하는데 사족이 너무 길어 읽으시기 불편하셨다면.. 죄송합니다 ㅠ_ㅠ</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.