모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 게시물ID : programmer_20621
    작성자 : 훗날닭집사장
    추천 : 0
    조회수 : 544
    IP : 113.198.***.65
    댓글 : 9개
    등록시간 : 2017/05/21 15:01:18
    http://todayhumor.com/?programmer_20621 모바일
    안드로이드 막바지 코딩작업중에 질문드립니다..!
    옵션
    • 본인삭제금지
    우선 질문 작성 전에 오유분들께 진심으로 감사드린다는 말씀 드리고 싶습니다 (__)

    프로젝트 사정상 원래 주력 언어가 C인 제가 짧은 2주가량 동안 야매를 섞어가는 공부로 오픈소스를 활용하는데

    참 힘들더라구요. 자바/안드 숙련자분이였으면 하루이틀이면 끝날걸 2주동안 붙잡고 있었는데 그나마도

    오유에 틈틈히 질문올린것 친절히 답변해주시고 찾아주셔서 해결했습니다. 저도 이게 끝나고 나면 제 아는 한에서 많은 도움

    드리고 싶습니다 ㅠ_ㅠ



    우선 현재 진행상황과 제가 해결하지 못하고 있는 (초보적인) 문제부터 말씀드리겠습니다.

    안드로이드에 있는 sqlite DB에 약 100만개 row의 csv파일을 라인별로 읽어서 insert 해줍니다. (1개 row에 1개의 데이터만 들어있음. csv파일은
    assets 폴더에 접근하여 읽음.)

    이 상태로 DB에 있는 단어들을 찾아가면서 일종의 자동완성 기능을 하는건데요.
    여기서 본격적인 질문 들어갑니다! (코드는 맨 하단에 첨부해놓겠습니다! 읽으시는데 불편함 없으시도록 최대한 설명 덧붙여놓았습니다. ㅠㅠ)


    1. 데이터가 많아서 그런지 DB에 있는 단어들을 탐색하는데 너무 오랜시간이 걸려 AsyncTask라는 백그라운드 스레드를 통한 작업을 구현하려고 하는데요, 이걸로 시간이 걸리는 문제가 해결이 될까요? 시간이 오래걸린다 함은,앱 실행시 부터 단어 하나하나를 입력하려 할 때 마다 대기시간이 너무 길다는 얘기 입니다. 

    2. DB 테이블에 값을 insert해줄 때, 단순히 csv에 있는 단어들만 넣어줄게 아니라 각 단어마다의 count도 함께 지정해서 넣어주고 싶습니다. 이유는, 각 단어마다 count 값을 지정해서 사용자가 자동완성 기능을 사용하면 해당 자동완성 단어의 count를 늘려주고 count 순으로 내림차순해서 (초기에 모두 0이면 무작위로 보여줄테지만..) 보여주고 싶어서 그렇습니다. 


    DB 클래스에 관한 코드 입니다.

    주석을 간단간단하게 달아놓았지만 간략하게 테이블 생성 / read 함수 (DB를 커서로 이동하면서 읽음) / insert 함수 (DB에 데이터 삽입) 
    이렇게 구성되어 있는 상태 입니다.


    MainActivity에 관한 코드 입니다.

    위에서 말씀드린 csv파일을 라인별로 읽어 sqlite DB에 insert 해주는 코드가 들어있고 AsyncTask를 활용하기 위해 
    doInBackGround 함수에 코드를 넣어놓았습니다.
    getItemsFromDb 함수가 있는데 이놈은 아래 클래스에서 호출됩니다! 이름처럼 DB에 있는 데이터들을 read해주는 함수 입니다.


    이 클래스에서 상술해드린 getItemsFromDb 함수를 호출합니다.



    질문하는데 사족이 너무 길어 읽으시기 불편하셨다면.. 죄송합니다 ㅠ_ㅠ

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    23399
    엑셀 관련된 질문 하나만 해도 될까요?? 엑셀 찾기 및 바꾸기 창.... [3] 달콤빵맨 23/05/04 10:23 1700 0
    23397
    내가 부자가 되면 하고싶은 일~ [2] 영팔이삼촌 23/04/25 16:48 1551 0
    23393
    자바스크립트로 게임 만들고 있어요. 포커, 탄막슈팅. [7] 콩바구니 23/03/23 16:38 1884 4
    23392
    구글 검색에 노출이 잘 되는 블로그가 워드프레스 인가요? [2] 트릭즈 23/03/06 08:22 1625 0
    23391
    챗봇에게 코딩 시켜 봤어요. [6] 콩바구니 23/02/17 16:30 2682 4
    23388
    이런 프로그램을 만드려면 어떤걸 공부해야되나요? [5] 잉여류 23/02/03 11:53 2138 0
    23387
    유투브 영상 편집 해주실 분 구합니다. (초보자도 오케이) [2] 창작글 빚청산돈방석 23/02/02 08:40 1564 1
    23386
    아두이노 코딩좀 도와주세요.. [3] 박용 23/01/26 13:30 1912 0
    23385
    매일 이미지 다르게 뜨는 어플 만들기 쉬울까요? [6] 팩션마니아 23/01/26 13:11 1584 0
    23384
    3D 캐릭터 제작 공모전 얼리버드 제출 이벤트 안내 귀인서아 23/01/19 18:10 1406 0
    23383
    네이버 라인링크 vs 카카오 클레이튼 비교 창작글 요루미 23/01/09 00:34 1740 0
    23382
    [공모전 추천] 2023 3D 캐릭터 제작 / 상금 1천만원 이상 귀인서아 23/01/03 15:45 1253 2
    23381
    [기사] 대학시절 '화이트 햇' 경험이 '8년 보안 무사고' 밑거름 됐죠 블락체인 22/12/14 09:56 1323 0
    23380
    질문) 합쳐진 이미지 경계찾기 [5] 본인삭제금지 우가가 22/12/02 20:20 1485 0
    23379
    C++공부하고 싶으신분들 무료강의/자료 공유 드립니다^^ Dhsudhehdidi 22/11/30 00:58 1620 4
    23378
    프로그래밍 같이공부할수 있는공간을 소개합니다(강의전부무료,영상자료도 있음 Dhsudhehdidi 22/11/09 23:57 1447 1
    23377
    (사이드 프로젝트 홍보) AI로 매매법 교육해주는 서비스 kongsss 22/11/09 20:18 1198 0
    23376
    혹시 이력서 관련해서 조언좀 받을 수 있을까요? [1] 훗날닭집사장 22/11/04 10:42 1284 0
    23375
    [질문]C언어 공부 중에 궁금한게 있어서 질문합니다. [4] 엄빠어디가 22/10/27 18:04 1348 0
    23374
    백준 삼성 기출문제2번째 특강(강의자료 전부 무료, 회원가입 필요없음) Dhsudhehdidi 22/10/18 21:29 1164 0
    23373
    백준 온라인 강의 및 자료 공유 했습니다.(무료) Dhsudhehdidi 22/10/10 13:46 1268 0
    23372
    알고리즘 디자인패턴 CPP개념 공부하는데 좋은 사이트에요 Dhsudhehdidi 22/10/07 00:51 1247 0
    23370
    어플개발 문의좀해도 될까요? [1] 창작글 브로스윈즈 22/09/26 23:35 1278 0
    23367
    무료 개발 강의 모음 공유합니다 [4] 아리공 22/09/15 16:03 1565 4
    23365
    DB(MariaDB) 접속 없이 DB 내장함수를 호출할 수 있을가요? [11] 창작글본인삭제금지 상사꽃 22/09/06 16:41 1529 0
    23363
    개발자 취직전 꼭 보면 좋은 사이트 [1] 돌아온_탕아 22/08/23 14:03 1905 1
    23362
    혼자선 너무나 외로워~ [2] 창작글 상사꽃 22/08/23 01:09 1727 1
    23361
    (홍보) 일상 속에서 제가 불편해서 만들기 시작한 서비스에요 ! [3] 창작글 메시앙 22/08/22 00:00 1517 2
    23359
    아니? 회사에서... 아직까지 이런 기술을...? [1] EmiyaMulzom 22/08/21 21:24 2135 2
    23358
    유튜브 비디오 링크 관리앱 만들어 봤어요 고돌이님 22/08/16 15:55 1084 2
    [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [다음10개▶]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈