본문 바로가기

전체 글

(170)
싱글턴 패턴(Singleton Pattern) - 인스턴스가 하나뿐인 특별한 객체 싱글턴 패턴정의어플리케이션에서 유일하게 존재하는 객체싱글톤을 이용한 클래스는 new를 이용한 객체를 생성하지 못하고 클래스안의 getInstance() 메소드를 이용하여 객체를 가져온다.(명명규칙)java의 calendar = getInstance해도 새로운 객체를 만들어준다 고로 싱글톤이라할 수 없다public static Calendar getInstance() { Calendar cal = createCalendar(TimeZone.getDefaultRef(), Locale.getDefault(Locale.Category.FORMAT)); cal.sharedZone = true; return cal; } private static Calendar createCalendar(TimeZone zone,..
팩토리 패턴(Factory Pattern) - 느슨한 결합을 이용하는 디자인 패턴 팩토리 패턴 팩토리패턴디자인패턴 중에서 생성 패턴(Creational Pattern)의 대표적인 패턴들이다.팩토리 패턴의 종류팩토리 메서드(Factory Method) 패턴추상 팩토리(Abstract Factory) 패턴시작하기전에디자인 패턴에 포함되지는 않지만, 팩토리 패턴의 기본이 되는 팩토리 구조에 대해서 알아보자.팩토리를 사용하는 이유클라이언트에서 사용할 객체를 생성하는 부분을 캡슐화하여 느슨한 결합 상태로 만들어, 변화에는 닫혀있고 확장에는 열려있는 코드를 만들 수 있다.변경 전의 코드// Pizza 클래스의 객체의 생성 및 사용을 모두 수행하는 메서드 Pizza orderPizza(String type) { Pizza pizza; if (type.equals("cheese")) { pizza ..
안드로이드 강의11- Android TextView and string.xml(텍스트뷰 와 string.xml) Android TextView and string.xml 오늘부터 안드로이드에서 사용하는 View들에 대해서 강의를 시작합니다.이번 강의는 View중에서 가장 기본이 되는 View인 TextView에 대해서 알아보고 string.xml의 사용법을 알아보겠습니다. TextView는 Button과 EditText의 부모 클래스로 안드로이드에서 Text를 표현해주는 기본 View입니다.앞서서 Sample Code로도 많이 사용했고 사용하는데 크게 어려운 부분은 없습니다. 오늘은 텍스트뷰와 함께 res/string.xml에 대해서도 함께 알아보겠습니다. 개발을 할 때는 뷰영역과 비지니스로직을 구분합니다. 그리고 안드로이드에선 뷰영역에서 좀더 세분화를 합니다.큰틀인 layout와 layout에 사용될 resour..
안드로이드 강의10- Android AbsoluteLayout(앱솔루트 레이아웃) Android AbsoluteLayout(앱솔루트 레이아웃) 드디어 10강입니다. 마지막 뷰 그룹인 앱솔루트 레이아웃을 강의하도록 하겠습니다.강의에 앞서 이녀석은 절대 쓰이는 일이 없을겁니다.. 예전에 기기가 적었던 시절은 이 레이아웃을 사용했지만 너무나 다양한 기기들이 나오면서 절대적인 좌표로 구성되는 레이아웃인 앱솔루트 레이아웃은 의미가 없어졌습니다. 그리고 이 레이아웃은 deprecated되었는데 deprecated가 무었이냐!! 안드로이드에서 종종 볼수 있는데 더이상 중요도가 떨어져 사용하지 않을 것이며 앞으로 사라지게 될 거라는 뜻입니다. 그렇기 때문에 앱솔루트 레이아웃은 현재 의미가 없는 레이아웃이며 다른 레이아웃들로 대체가 가능합니다. 그렇기 때문에 디테일한 학습보단 이런것도 있구나 하고 보..
안드로이드 강의09- Android TableLayout(테이블 레이아웃) Android TableLayout(테이블 레이아웃) 테이블 레이아웃은 지난 강의에서 배운 Grid와 매우 비슷합니다.GridLayout이 TableLayout의 단점을 보완해서 만든 레이아웃인 만큼 비슷할 수 밖에 없을 겁니다.오늘은 TableLayout을 이용하여 표를 그려보도록 하겠습니다. Table를 사용할 일이 있으면 GridLayout를 사용하는 것이 더욱 심플한 코드로 동일하게 구현 가능할 거 같습니다.그래도 알고 넘어가야 하니 간단한 표를 그려보도록 할께요 오늘 코딩해볼 내용은 아래와 같은 표입니다. 코드가 상당히 길어질 것 같아서두줄만 구현하였습니다. TableLayout은 어려운게 없습니다. 특징을 보자면TableRow라는 것을 통해서 한줄한줄 구현해야 합니다.stretchColumns..
안드로이드 강의08- Android GridLayout(그리드 레이아웃) Android GridLayout(그리드 레이아웃) GridLayout의 Grid는 격자 눈금등을 뜻합니다. 바둑판 형식의 레이아웃 이라고 생각 하시면 될 듯합니다. 저는 그리드 레이아웃을 보면서 TableLayout이랑 비슷하네? 라고 생각하고 검색을 해보니 GridLayout는 API14레벨부터 추가된 레이아웃으로 리니어 레이아웃 렐러티브 레이아웃 테이블 레이아웃의 단점을 보안하여 만든 레이아웃으로 메모리 효율이 좋고 빠르다고 사용을 적극 권장하는 레이아웃 입니다. 하지만 계산기 같이 표로 구성되어야 하는 경우 외에는 잘 사용하지 않는 레이아웃 입니다. 오늘은 그리드 레이아웃으로 간단한 계산기를 그려보는 것으로 포스팅을 마치겠습니다. 오늘 목표 레이아웃입니다. 코드는 간단합니다.HTML을 한번이라도 ..
안드로이드 스튜디오 에뮬레이터 실행하기 (android studio emulator) Android Studio Emulator 안드로이드 스튜디오에서 에뮬레이터를 실행하는 방법을 알아보겠습니다. 안드로이드 상단 메뉴에서 위의 아이콘을 클릭하세요 클릭하면 아래화면이 나오는데요 기본적으로 Nexus 5에뮬이 생성되어 있는데 새로운 에뮬을 생성해보도록 할께요아래의 Create Virtual Device를 클릭하세요 아래와 같이 해상도별 Phone, TV, Wea,r Tablet등 있는데 우리는 Phone 어플을 제작해야 하니깐 폰중에서 특정 해상도를 지정하여 선택하고 Next를 누르세요. 시스템 이미지를 선택하는 부분입니다. Next를 클릭 AVD 이름과 기타 옵션을 선택하는 부분입니다. 변경할 부분이 있으면 변경하고 Finish를 클릭합니다. Finish를 클릭하면 AVD가 생성이 됩니다...
안드로이드 강의07- Android:OnClick를 구현하는 4가지 방법 Android OnClick 오늘은 OnClick 메서드에 대해서 알아보겠습니다. OnClick메서드는 OnClickListener interface에 정의되어 있는 메서드입니다. 리스너는 말그대로 듣고 있는 녀석입니다. 리스너 내의 메서드를 구현해 놓으면 특정 이벤트를 계속 듣고 있다가 이벤트가 발생하는 시점에 메서드를 호출해 줍니다. 오늘은 그중에 View에 있는 OnClickListener을 알아보겠습니다.OnClickListener에 있는 OnClick메서드를 구현하는 4가지 방법을 알아보겠습니다. 방법4가지 1. OnClickListener interface를 implements 하여 메서드를 구현2. View의 인자에 바로 Listener을 구현 3. clickListener을 별도의 객체로 ..