본문 바로가기

Android : INTENT 와 예제 INTENT Android의 4대 컴포넌트(component) -Activity : 화면에 표시되는 UI 구성을 위해 가장 기본이 되는 요소. -Service : 앱이 꺼져도 동작하기 위한 컴포넌트로, Background에서 동작 (예: 알람, 멜론 등) -Boardcast Receiver : 내 폰에서 일어나는 모든 일을 캐치할 수 있게 하는 component -Content Provider : 어플간 데이터를 주고받게 해준다 (예: 카톡-주소록) Intent 는 이 component들의 중간다리라고 할 수 있다. - 호출요구 : 액션 + 데이터 Activity A -> Activity B - 결과값 반환 : 결과(선택적)을 돌려받음 Activity A
Android : Layout Layout 리니어 레이아웃(LinearLayout) 박스모델한쪽 방향대로 차례대로 뷰를 추가하며 화면을 구성하는 방법이다.뷰가 차지할 수 있는 사각형 영역을 할당한다.자유도가 무척 낮다.속성 orientation에서 수평/수직 변경 가능하다.레이아웃 안에 레이아웃을 삽입해서 표처럼 만들수도 있다. 상대 레이아웃(RealativeLayout) 규칙기반 모델부모 컨테이너나 다른 뷰와의 상대적 위치로 화면을 구성하는 방법이다. 부모 컨테이너와의 위치속성다른 뷰와의 위치속성 응용리니어 레이아웃을 이용해 숫자 빨리누르기 게임을 만들어 보았다. 코드package com.example.pc_20.layout; import android.support.v7.app.AppCompatActivity;import andr..
Container와 Bean의 Lifecycle / Scope 1. Container Lifecycle2. Bean LifecycleBean 초기화 과정에서 InitializingBean 인터페이스의 afterPropertiesSet() 가 호출되고, Bean 소멸 과정에서 DisposableBean 인터페이스의 destroy() 가 호출된다. 오버라이드해서 Bean 초기화 / 소멸 과정에 개입가능하고, student.destroy()와 같이 사용하여 컨테이너와 별개로 Bean만 소멸시킬 수도 있다. 혹은 Annotation을 사용할 수도 있다.@PostConstruct를 붙이면 초기화시 / @PreDestroy를 붙이면 소멸시 해당 메소드가 호출된다. (메소드명은 관계없음) 3. Bean Scope스프링 컨테이너 / 빈이 생성될 때 빈은 Scope, 범위를 갖고 ..
DI(Dependency Injection) DI를 왜 쓰는가? 규모가 커진 프로젝트에 DI를 사용하여 객체간 결합도를 낮춰 유지보수를 원활하게 함. 위 예제는 인터페이스를 활용하여 스프링 설정파일(xml)만을 수정하고 Java파일을 건드리지 않으면서 수정했음. DI 설정 1 - XML 사용 1-1. 생성자 태그 사용 1-2. setter 태그 사용 187 1-3. 축약c:field 혹은 p:field="" 이렇게 선언하면 이렇게 줄여서 가능하다 DI 설정 2 - 자바 클래스파일 사용 package com.javalec.ex; import java.util.ArrayList; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation..
Overloading / Overriding 오버로딩(Overloading) vs.오버라이딩(Overriding) 오버로딩(Overloading): 중복정의1-1. Overloading의 정의매개변수의 개수나 형식이 다를 때 같은 메소드명을 사용할 수 있게 지원하는 기능이다.1-2. Overloading의 조건메소드명이 같아야 한다.매개변수의 타입이나 개수는 달라야 한다.매개변수는 같으나 반환형이 다르면 오버로딩이 불가하다.1-3. Overloading 예제1234567891011class Dog{ public void bark(){ System.out.println("woof "); } //overloading method public void bark(int num){ for(int i=0; i
LinkedList / ArrayList 비교 리스트는 모든 프로그래밍 언어에서 가장 유용한 자료구조 중의 하나이다. LinkedList와 ArrayList는 모두 Java에서 제공하는 List 인터페이스를 구현한 Collection 구현체이다.하지만 인터페이스만 같을 뿐 내부적으로 동작하는 방식은 다르다. 두 자료 구조의 차이를 알아보고 LinkedList와 ArrayList를 적절하게 사용하도록 하자. List 인터페이스를 구현하는 LinkedList 또는 ArrayList는 왜 사용할까?Java 에서 LinkedList 와 ArrayList 적절하게 사용하기Java 에서는 기본형(Primitive Types) 또는 인스턴스(Reference Type)를 저장하기 위해 보통 배열을 사용한다. 하지만 배열의 초기 길이를 지정해야 하며 생성된 배열의..
String/StringBuffer/StringBuilder 성능비교 String / StringBuffer / StringBuilder 간단한 성능비교 테스트. package test;public class StringTest { int test = 99999; public static void main(String[] args) { StringTest stringTest = new StringTest(); System.out.println("스트링: " + stringTest.stringTest()); System.out.println("스트링빌더: " + stringTest.stringbuilderTest()); System.out.println("스트링버퍼: " + stringTest.stringbufferTest()); } public long stringTest..
안드로이드스튜디오 단축키 안드로이드스튜디오 단축키 Editing Ctrl + Space : 기본 코드 완성Ctrl + Shift + Space : 스마트 코드 완성(예상되는 타입의 메소드또는 변수명 )Ctrl + Q : 빠른 문서보기Shift + F1 : 외부 문서보기(http://developer.android.com/reference로 이동)Ctrl + mouse over code : 간단한 설명.Alt + Insert : Generate code( Getters, Setters, Constructors, hashCode/equals, toString )Ctrl + O : Override methodsCtrl + I : Implement methodsCtrl + Alt + T : Surround with… (if..else,..