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

버튼에 데이터베이스를 받아 랜덤으로 출력하고 싶습니다.

0 추천
  • 아이디어를 주는 어플리케이션을 제작중에 있습니다.

     

    1. 제가 다양한 단어를 데이터베이스에 저장하여 버튼 3개로 구현해 랜덤으로 출력하고자 하는데, 데이터베이스를 버튼에 랜덤으로 출력하는 코드가 어렵습니다 ㅠㅠ

    데이터베이스에 저장을 하지 않고는 랜덤함수를 만들어

    random_word3.setText(WORD[randomnum()]);

    이렇게 출력하였었는데 데이터베이스에 접근하면 다른 방법으로 접근해야 되는지 궁금합니다.

    또, 3가지 단어를 비교했을 때 겹치는 것이 없었으면 좋겠습니다..

    후에는 단어데이터를 추가하고 삭제하는 기능을 넣었으면 좋겠습니다.

     

    2. 메모를 아이디어 별로 저장하는 것을 넣으려고 합니다.

    여기서 각각의 메모는 리스트뷰로 넣고 사용자가 임의로 폴더식의 버튼을 만들어서 메모를 분류하게끔 제작하려고 합니다. 동적버튼으로 생각 중에 있는데, 버튼이 아닌 리스트뷰로 하는 것이 나을까요?

    다른 예제를 봐도 리스트뷰로만 데이터베이스를 출력하고 버튼으로는 출력하는 경우가 없어서 궁금합니다.

     

    3. 디자인을 생각해서 여러가지로 리스트뷰가 아닌 버튼으로 제작중에 있습니다. 혹시 리스트뷰도 버튼처럼 디자인 할 수 있을까요? 아니면 버튼 식의 모양이 나는 다른 코드가 있을까요?

     

     

    전문가님들의 답변 기다리겠습니다 ㅠㅠ

홍콩 (160 포인트) 님이 2014년 11월 4일 질문
윽........욕심이 너무앞선거 같으십니다 ㅎ

하고싶은게 많으시면 하나하나 차근차근하셔야지 이렇게 막무가내로 폭풍질문하시면 곤란합니다 ㅎ

1개의 답변

0 추천
1. select * from table_name order by random() limit 3; 이렇게 쿼리를 날리면 랜덤으로 3개를 조회 할 수 있습니다.

추가 / 삭제는 DB에 insert / delete를 하면 됩니다.

 

2번은 정확한 의도를 모르겠지만 DB에서 조회한 것을 리스트뷰가 아니라 버튼으로도 표현 할 수 있습니다.

리스트 뷰와 같은 adapterView를 사용하는 이유는 데이터의 갯수가 많을 경우 뷰를 재사용하는 구조이기에

성능면에서 유리합니다. 100개의 데이터를 그냥 버튼 같은 뷰를 100개 만들어 스크롤 뷰로 감싸서 보여주는 것 보다

리스트 뷰나 그리드 뷰 를 이용하여 한 화면에 보이는 갯수 만큼 뷰를 만들어 재사용하는 편이 성능이 좋습니다.

 

3. 디자인을 어떻게 하냐에 따라 다릅니다.
원조안드로이드 (58,190 포인트) 님이 2014년 11월 4일 답변
...