<div>이번 회사 프로젝트에서 써야하는데 찾아봐도 없네여!?</div> <div><br></div> <div>어떻게해야함?!?!</div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div><br></div> <div>까지만 썼으면 분명 반대먹고 보류를 갔을테니</div> <div><br></div> <div>눈치껏 직접 만들어 보도록 합미다</div> <div><br></div> <div><br></div> <div>우측 상단에 숫자가 삽입 된 동그란 아이콘이 들어간 버튼</div> <div>-> 이하 AlertableButton으로 명명</div> <div><br></div> <div>개발 이유 -> 없으니까 내가 만든다 (적어도 내 구글링 실력으론 못 찾았음.. 지금부터 만들기로 한 이상 없을거야.. 없어야돼)</div> <div>개발 방향 -> 만들때 귀찮더라도 쓰기 쉽게.. 는 배부른 소리고 당장 목적으로 하는 데에서 편하게 쓸 수 있게</div> <div>개발 기간 -> 지금부터 만들건데 얼마나 걸릴지는 모르겠다</div> <div>개발 환경</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>Windows 8.1 (x64)</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>IntelliJ IDEA 14.0.2</div> <div><span class="Apple-tab-span" style="white-space:pre;"> </span>JDK 1.8</div> <div><br></div> <div>개발될 AlertableButton 이 갖추게 될 구조 몇 가지</div> <div>(1) 레이아웃 { 버튼, {뷰 <- Canvas에 draw} }</div> <div>(2) 버튼 <- Canvas에 draw</div> <div><br></div> <div>퍼포먼스 면에서 2번이 낫긴 한데 만들어보기도 전에 똥을 쌀 것임을 짐작. 깔끔하게 포기하고 1번으로 가기로 함</div> <div><br></div> <div>지금부터 오유 켜놓고 코딩 시작 (2월 13일 19시 22분)</div> <div><br></div> <div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/14238328163CgQ8z8KoW8QeSeU.png" width="800" height="544" alt="Cap 2015-02-13 20-03-52-236.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832816JJ7akDMIg4tbNo.png" width="800" height="544" alt="Cap 2015-02-13 20-05-52-930.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">여기까진 그냥 애플리케이션 모듈이랑 기본 액티비티 생성하는 과정임</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">이클립스땐 앱 하나가 프로젝트 단위였는데 인텔리J에선 모듈이라 불러서 헤맸던 기억이.. 후</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832817VNptnsE2InDGXiPIJQHP.png" width="800" height="544" alt="Cap 2015-02-13 20-07-06-262.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832817hIop2Q2hR.png" width="800" height="544" alt="Cap 2015-02-13 20-20-20-648.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">오늘 만들 목적인 버튼 클래스 만들어주고</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832818j1IwnqNjyoCP8.png" width="800" height="544" alt="Cap 2015-02-13 20-21-11-166.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">Alertable이라는 인터페이스 만들어 줍미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832818FKOTQvtkZOD7orFSAqbYp9EayQ.png" width="800" height="544" alt="Cap 2015-02-13 20-21-54-082.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832819M5W9VnQHVrjCCzQm9Sj5uKX.png" width="800" height="544" alt="Cap 2015-02-13 20-22-33-819.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">Alertable 상속받고 메서드 오버라이드 해줍미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832820EYoxIPYALjw4dnmJ81dIvoPx3DHxHfm.png" width="800" height="544" alt="Cap 2015-02-13 20-23-46-420.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">그리고 버튼 위에 올라갈 오늘의 주인공 "숫자 아이콘을 그려줄 뷰 클래스"를 만들어줍미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832820HYZVMuySrfVFvqZTbjFFaqQcG.png" width="800" height="544" alt="Cap 2015-02-13 20-28-55-093.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">만들어놓고 버튼에만 쓰긴 좀 그러니 추상화를 합미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832821NzwOUuGTUHi4Nq5CnxaCkVBSJzy2vqQi.png" width="800" height="544" alt="Cap 2015-02-13 20-34-14-015.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">ViewContainer 이라는 인터페이스를 만들어 줍미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832821qa4WwyUdSroBMokPFMcB4iHR3gn.png" width="800" height="544" alt="Cap 2015-02-13 20-35-53-418.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423832822oiZrUPVHr.png" width="800" height="544" alt="Cap 2015-02-13 20-37-19-169.png" class="chimg_photo" style="border:none;"></div></div> <div style="text-align:left;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833254O3xKe9r5UxKNnxbR.png" width="800" height="544" alt="Cap 2015-02-13 20-40-21-840.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833255Nd6gd3FBqt1qqFrBct.png" width="800" height="544" alt="Cap 2015-02-13 20-40-39-374.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">.. 잠깐? 어?</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833255rOopQsnLhX3pINHhBoIOkwuzJWo.png" width="800" height="544" alt="Cap 2015-02-13 20-43-31-995.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">맨 위에서 레이아웃 안에 넣어 쓴대놓고 여태 버튼 상속시켜 쓰고 있었음</div> <div style="text-align:left;">누구임 이거 짠 놈 완전 멍청하네</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833256AxiUIYDY.png" width="800" height="544" alt="Cap 2015-02-13 20-57-06-379.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">해상도를 맞추기 위해 유틸 하나 만듭미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/14238332568fjOLFMCeTHJqRkQDFQ3X.png" width="800" height="544" alt="Cap 2015-02-13 21-02-52-119.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">.. 짠?</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">사실 한 2년 전부터 만들어놓고 두고두고 갖다 쓰고있는 클래스라능</div> <div style="text-align:left;">W는 기준 width.. 그러니까 디자인 가이드 같은거에 명시된 픽셀이 720p 기준이면 W는 720, 1080p 기준이면 1080으로 바꿔서 씁미다</div> <div style="text-align:left;">float인 이유는 곱하고 나누는 작업 하다가 뒷자리가 막 짤려서 소숫점까지 남겨놨음</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833257oTK4m2pj1C86Gm.png" width="800" height="544" alt="Cap 2015-02-13 21-04-30-204.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833257Ef2IlZQbRm7DFbPRdR8dNFv2KqO8.png" width="800" height="544" alt="Cap 2015-02-13 21-10-02-029.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">숫자 그려주는 녀석 사이즈를 static 글로벌 상수로 정해놓고 가져다 씁미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/14238332584akSUeBmWK5tlgQHHhboAskUqKNIPsI7.png" width="800" height="544" alt="Cap 2015-02-13 21-14-58-969.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833259dH3ySjhHC2BvsXPrOb4uBmLIKMJN.png" width="800" height="544" alt="Cap 2015-02-13 21-18-49-240.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">그리는 좌표.. 계산 안하고 대충 때려넣고 나중에 일일이 그리면서 맞춰보기로</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833259TxYqU32SFuR3zcHGdE.png" width="800" height="544" alt="Cap 2015-02-13 21-25-43-953.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">ViewContainer 인터페이스 안에 정의된 OnChildClickListener 인터페이스를 글로벌 변수로 뽑아놓고</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">child녀석의 OnClickListener 이벤트를 받았을 때 이게 널이 아니면 동작시키는 방법으로 갑미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833260oCkNVT3fUcXk.png" width="800" height="544" alt="Cap 2015-02-13 21-28-31-002.png" class="chimg_photo" style="border:none;"></div><br></div> <div style="text-align:left;">치토게 여신님♥</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">위에서 죽어라 만든건 추상클래스라서 인스턴스 생성이 불가능하니</div> <div style="text-align:left;">그 녀석을 상속받은 클래스를 재정의 해줍미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833815LsMfDXQrbxaSfRghU.png" width="800" height="544" alt="Cap 2015-02-13 21-34-24-176.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">.. 어?</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833816t4kEqpsy1efECfGCbgRJd9YL.png" width="800" height="544" alt="Cap 2015-02-13 21-34-58-292.png" class="chimg_photo" style="border:none;"></div><br></div> <div style="text-align:left;">다시 AlertableButton으로 돌아가서 setOnChildClickListener 함수를 새로 하나 만들어줍미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833941ESOHaARBA.png" width="800" height="544" alt="Cap 2015-02-13 21-36-38-227.png" class="chimg_photo" style="border:none;"></div><br></div> <div style="text-align:left;">btn에 childclicklistener를 정의해줍미다</div> <div style="text-align:left;">누르면 숫자가 한개씩 늘어나는 구조!</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">후 이제 완성됐으니 실행해봅시다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423833964qpcl75UBaG4.png" width="800" height="544" alt="Cap 2015-02-13 21-37-40-645.png" class="chimg_photo" style="border:none;"></div><br></div> <div style="text-align:left;">으어어어어어어?????</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"> <div style="text-align:left;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423834056WYNFcyMx6PwjaVtInUSfCE79lH.png" width="800" height="467" alt="Cap 2015-02-13 22-27-20-933.png" class="chimg_photo" style="border:none;"></div><br></div> <div style="text-align:left;">.. 저처럼 프로젝트에 한글 경로가 있어서 에러가 나시는 분은</div> <div style="text-align:left;">{intellij}\bin\idea.exe.vmoptions 를 열어서</div> <div style="text-align:left;">-Dfile.encoding=UTF-8</div> <div style="text-align:left;">이걸 추가해줍미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">그리고 위 스샷에 평소 자바 짜던 습관대로 람다식을 써버렸는데 하위호환 시키려면 1.6기준으로 람다식 다 빼야합미다</div> <div style="text-align:left;">위 화면 이후로 한번 더 실행해봤는데 람다식 때문에 에러 빠바바박 올라왔음..</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423834157hMfLdjf4.png" width="800" height="1200" alt="Screenshot_2015-02-13-21-53-40.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">과연 두근두근</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423834158l1nLVJCyeovOfox1NPuCLlCR4nDR6X.png" width="800" height="1200" alt="Screenshot_2015-02-13-21-53-50.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">오오 완전 잘됨</div><br></div> <div style="text-align:left;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423834202xsYs9yv5E9YEjWtlJMGJh2Qd.png" width="800" height="544" alt="Cap 2015-02-13 21-56-36-003.png" class="chimg_photo" style="border:none;"></div><br></div> <div style="text-align:left;">그럼 어레인지를 좀 해봅시다</div> <div style="text-align:left;">alert 횟수가 10이 되면 치토게쨩 토스트가 나타나면서 횟수가 다시 0으로 되돌아가는 겁미다</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423834253o5QgZ4iz9OryVIWTGajdg.png" width="800" height="1200" alt="Screenshot_2015-02-13-21-57-04.png" class="chimg_photo" style="border:none;"></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">한번만 더 누르면</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><img src="http://thimg.todayhumor.co.kr/upfile/201502/1423834256cNHJXL9Trbv5UrQEWFaxk2mzDLiYH.png" width="800" height="1200" alt="Screenshot_2015-02-13-21-57-15.png" class="chimg_photo" style="border:none;"></div><br></div> <div style="text-align:left;">대바끄 대바끄!</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">자가개발은 역시 즐겁다능!</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">여신 치토게님을 위한 업적을 하나 남겨서 기분이 좋군여!</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">크흠.. 어.. 이거 줏었는데 어디.. 맘에 들면 가져가던가!! -> <a target="_blank" href="https://drive.google.com/open?id=0B2-9j4z4Pb9uTmdqdl95YUsxeWM&authuser=1" target="_blank">다운로드</a></div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">p.s 오픈소스입미다! 라이센스 없어여! 가져가서 내가 짰다고 우겨도 됨!</div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;"><br></div> <div style="text-align:left;">그럼 여러분 즐코딩염!</div> <div style="text-align:left;"><br></div> <div style="text-align:left;">자바나 안드로이드 질문같은거 올라오면 막 답변해줌</div></div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.