본문 바로가기

Java7

Java : 스레드 sleep, join, interrupt, isAlive 를 이해하기 좋은 기본 샘플코드 Java : 스레드 sleep, join, interrupt, isAlive 를 이해하기 좋은 기본 샘플코드 sleep() : 명시된 시간만큼 해당 스레드를 대기 wait() : 명시된 시간만큼 해당 스레드를 대기 join() : 명시된 시간만큼 해당 스레드가 죽기를 기다린다. interrupt() : 위 3가지 행위를 멈추도록 한다. (대기상태 일 때만) public class ThreadTest { public static void main(String[] args) { Sleep s = new Sleep(); s.start(); try { int cnt = 0; while(cnt 2017. 1. 3.
새롭게 안드로이드 달력 만들기 1탄 (하루뷰) Making Calendar in Android. chapter 1 : OneDayView 아주아주 오래전 달력 만들기 포스트 이후 오랜만에 달력을 실전에 사용할 일이 생겼다. 이번에야 말로 그동안 갈고 닦은(?) 티를 내야 할텐데.. 하는 마음으로 새롭게 달력을 만들어본다. 역시나 바쁜 와중이라 포스트 업데이트가 느릴 수도 있겠지만,, 어째든 끝까지 간다. 공유의 자세로~~~ 기본적인 목표는 연속적인 상하스크롤이 가능한 달력이다. 네이버나 솔캘린더처럼 말이다. 아래 모양으로 프로토 타입 갑니다. 이렇게 생긴 달력에서 먼저 달력의 한칸을 표현하는 OneDayView를 만든다. 가장 최소한의 내용만 간단히 했다. 여기 레이아웃이다. layout/onday.xml 위에서 같이 쓰인 리소스 drawable/l.. 2014. 10. 26.
데이터베이스를 위한 열거형 구조체 샘플(Enum for database structure) 샵 이미지 정보를 담고 있는 DB테이블 샘플. /** 샵 테이블 컬럼 */ final public static String[] shopimage = new String[]{"id", "shop_id", "type", "image", "movie"}; /** 샵 테이블 인덱스 */ public static enum ShopImageIndex { Id(0), ShopId(1), Type(2), Image(3), Movie(4); public final int value; ShopImageIndex(int val) { value = val; } public static ShopImageIndex lookup(int val) { for(ShopImageIndex alphabet : ShopImageIndex.v.. 2014. 10. 17.
콤포지션 패턴(Composite Pattern) (프로그램 구조 패턴) 콤포지션 패턴(Composite Pattern) >WiKi 컴포지트 패턴(Composite pattern, 조합 방식)이란 객체들의 관계를 트리 구조로 구성하여 부분-전체 계층을 표현하는 패턴으로, 사용자가 단일 객체와 복합 객체 모두 동일하게 다루도록 한다. The composite pattern describes that a group of objects are to be treated in the same way as a single instance of an object. > 언제 사용할까? Composite should be used when clients should ignore the difference between compositions of objects and .. 2014. 3. 23.
늦은 움직임 처리하기(Delayed Animation) 이제야 배우는 자바 초보의 깨달음... 핸들러의 removeCallbacks, postDelayed 를 활용하면 애니메이션의 사후처리를 잘 할 수 있겠다. @TargetApi(Build.VERSION_CODES.HONEYCOMB_MR1) private void showhideView(int visible) { if(customView.getVisibility() == visible) return; if(visible == View.GONE) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR2) { customView .animate().scaleX(0) .setDuration(300).start(); delayedHide(400); } el.. 2013. 12. 20.
java.lang.ClassNotFoundException 에러시 잘 되던 프로젝트를 ADT 업데이트 이후 아담관련 클래스에서 뭐라뭐라 ~~~Caused by: java.lang.ClassNotFoundException 이런 에러가 나타나서 당황스러웠고, 밤늦게까지 풀지 못한채 잠들어 버렸는뎅. 정말 글귀 그대로 컴파일이 후 해당 클래스 참조가 안되는 이유 였다. Properties > Java Build Path > Order and Export Tab 에서 사용자 라이브러리가 체크해제 되어 있었다. 체크를 해보자. 관련 내용 : http://www.androidpub.com/?mid=android_dev_info&document_srl=2049579 2012. 10. 21.
기억해야 할 자바문법들 List to CharSequence[] (리스트를 배열로 바꾸는 법) from http://stackoverflow.com/questions/1391970/how-to-convert-string-to-charsequence-in-java List 2011. 3. 18.