총 게시물 1,111건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[강좌]

왕앱따 103. 아이콘 반복클릭 테스트/[Android]

글쓴이 : 김병희라고요 날짜 : 2016-11-01 (화) 05:08 조회 : 993
글주소 : http://www.androidside.com/B56/32580
 
  엠브이테크
임베디드 개발용역 및 양산 Rockchip Freescale 엑시노스
www.mvtech.or.kr
  SBS아카데미컴퓨터학원송강인
여름방학 최대 40% 할인이벤트, 1:1멘토링 시스템, 강남역 연결 편리한위치
sbs-artcom.co.kr
  SBS아카데미컴퓨터학원한석현
여름방학 최대 40% 할인이벤트, 1:1멘토링 시스템, 강남역 연결 편리한위치
sbsartcenter.net
신청하기


왕앱따 103. 아이콘 반복클릭 테스트/[Android]

/ 2016.11.01. 최초 작성


왕앱따 2편(100회 이후) 강좌는 안사에 전부 올리지 않는 점 양해 바라오며, 전부 보시려면 아래 페이지에서 목록보기를 하시면 됩니다.


원본 : http://blog.daum.net/andro_java/737


사용자가 같은 아이콘을 급하게 반복해서 클릭하는 경우 앱이 죽거나 이상반응을 보일 수도 있다.


사용자가 그런 횡포를 부리지 못하도록 공손하게 거절하는 방법이 필요하다.


다른 좋은 방법이 있는지 모르므로, 생각나는 대로 코딩해 본다.


1. 앱의 메인화면에 보이는 아이콘


- 토글 2개 : 좌우 드로어 여닫기

- 옵션메뉴 3개

- 툴바 2개 (툴바 아이콘 4개 중 2개는 제외)


2. 반복 클릭해도 문제 없는 아이콘


토글 2, 툴바 2개, 탐색기 아이콘은 반복클릭해도 별 문제 없음.


3. 문제가 발생할 수 있는 아이콘


- 스피커 아이콘(음성출력)

- 돋보기 아이콘(성경검색)


4. 스피커 아이콘 처리


    static long timeSpeaker = System.currentTimeMillis();

    // 스피커 아이콘 클릭

    static void onClickSpeaker() {

        if (MainActivity.LAST_TEXT.isEmpty()) { Util.confirmDialog("성경/파일 먼저 선택하세요!"); }

        else {

            long time1 = System.currentTimeMillis();

            if ((time1-timeSpeaker) < 200) { } // 실수일지 모르므로 무시한다.

            else if ((time1-timeSpeaker) < 500) { uToast("너무 빨리 자주 누르면\n죽을 것만 같아요!"); }

            else {

                timeSpeaker = time1;

                speechOnOff();

            }

        }

    }


위 speechOnOff 메소드에서 음성출력/출력중단 처리.


5. 성경검색 아이콘 처리


1) 기존 코드 : searchOnOff 메소드를 (메뉴)아이콘 및 (성경검색 페이지의 닫기)버튼 양쪽에서 호출


2) 메소드 추가 : onClickSearch


3) 호출관계 수정 : (메뉴)아이콘은 onClickSearch 호출


* 닫기 버튼은 반복해서 누를 수 없으므로 직접 연결해도 문제 없음.


4) onClickSearch 메소드


    static long timeSearch = System.currentTimeMillis();

    // 성경검색 아이콘 클릭

    static void onClickSearch() {

        if (installCopyCheck() != -1) {

            Util.confirmDialog("성겅검색 설치 중입니다. \n" +

                    "잠깐 뒤에 다시 오시면 \n" +

                    "검색하실 수 있습니다.");

        }

        else {

            long time1 = System.currentTimeMillis();

            if ((time1-timeSearch) < 200) { } // 실수일지 모르므로 무시한다.

            else if ((time1-timeSearch) < 500) { Util.uToast("너무 빨리 자주 누르면\n죽을 것만 같아요!"); }

            else {

                timeSearch = time1;

                searchOnOff();

            }

        }

    }


위 searchOnOff 메소드에서 성경검색 페이지 열기/닫기 처리.


installCopyCheck는 검색용 성경파일(사본)을 백그라운드에서 설치하는 작업이 끝났는지 여부를 체크하는데, 원래 searchOnOff 메소드에 심었던 것을 그 메소드에서는 불필요하므로 옮겨온 것.





추천 버튼을 클릭하면 추천한 자와 추천받은 자 모두에게 포인트가 지급됩니다.

이전글  다음글  목록 글쓰기

총 게시물 1,111건, 최근 0 건 안내 RSS
번호 분류 제목 글쓴이 날짜 추천 조회
1111 강좌  코딩없이 유기동물조회 앱만들기_공공OpenAPI … 씨드래곤아트 06-22 0 227
1110 TIP&TECH  꿀팁_공공OpenAPI 쉽게 적용하기_지하철조회앱… 씨드래곤아트 06-19 0 269
1109 TIP&TECH  코딩 힘들때 참고하세요. 대기업부터 공모전… 1 씨드래곤아트 06-16 0 375
1108 TIP&TECH  CalendarView에서요 3 마소지 05-24 0 393
1107 TIP&TECH  리스트뷰에서 스위치,체크박스사용시 4 에찌 05-08 0 555
1106 자료  videoview에서 동영상 실행할때 검은화면 1 소트 05-02 0 341
1105 TIP&TECH  뷰(RecyclerView/...)에 Max Height 주기/[Android] 김병희라고요 04-26 0 324
1104 TIP&TECH  TabLayout ClickEvent 에찌 04-21 0 321
1103 TIP&TECH  현재 사용하고 있는 어플 foreground인지 backgroun… 3 에찌 04-14 0 665
1102 TIP&TECH  안드로이드 Drawble 에 해상도 마다 이미지를 … 1 에찌 04-14 0 403
1101 TIP&TECH  fragment 에서 ButterKnife 사용 시 resource가져올 때… 1 에찌 04-12 0 363
1100 강좌  감사합니다 1 백두산ee 03-28 0 391
1099 TIP&TECH  Youtube 및 facebook 동영상 업로드 할때 1 희망과꿈을 03-28 0 423
1098 TIP&TECH  google service lib 가져올 때 3 에찌 03-20 2 625
1097 강좌  java언어에서요 4 andhuni 02-20 0 959
1096 TIP&TECH  개발 환경에 대한 질문 한 개 올립니다 6 스머리 02-03 3 1206
1095 강좌  어플 게임아이콘 1 앙기모띠 02-01 2 751
1094 소스코드  CentralRV 프로젝트 - RecyclerView 가로/세로 가운… 1 김병희라고요 01-30 1 900
1093 TIP&TECH  번개검색 시스템/[Android] 2 김병희라고요 12-29 2 967
1092 TIP&TECH  RecyclerView 특정 포지션으로 스크롤 - smoothScroll… 1 김병희라고요 12-12 1 827
 1  2  3  4  5  6  7  8  9  10  11  12  13  14  15  16  17  18  19  20  다음  맨끝
 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기