본문 바로가기

분류 전체보기

(15)
|| 사용 options 존재 하면 options = options options 존재 하지 않으면 options = {} options = options || {};
[HTML] META TAG Cache Control 1. 캐쉬 종료 시간 설정 0 분이 지나면 캐쉬를 지우고 페이지를 새롭게 읽어온다. 0과 같은, 유효하지 않은 날짜는 과거의 시간을 나타내어 리소스가 이미 만료되었음을 의미 2,3. 캐쉬가 되지 않게 해주는 설정 캐시가 캐시 복사본을 릴리즈 하기전에 원격 서버로 요청을 날려 유효성 검사를 강제하도록 한다.
액티비티 상태 저장 화면 회전하는 경우 / 다른 액티비티로 화면이 전환될 때 데이터를 잃지 않기 위해선 상태 저장 방법을 알아야 된다. onPause() → onSaveInstanceState() → onStop() → onDestroy() 함수가 호출되며 액티비티가 종료되고 다시 액티비티를 시작하면서 onCreate() → onStart() → onRestoreInstanceState() → onResume() 함수가 실행된다. 액티비티의 상태 관리를 위해 데이터를 저장, 복원 시 사용되는 함수 onCreate(), onRestoreInstanceState() , onSaveInstanceState() 이다. 1) onSaveInstanceState() 매개변수가 2개인 함수가 API Level 21 부터 추가되었음 매개..
액티비티 생명주기 1. 활성 상태 액티비티가 사용자 화면에 보이고, 포커스를 가지고 있어서 사용자 이벤트에 반응할 수 있는 상태 onCreate() → onStart → onResume() 함수가 호출되면서 활성 상태가 된다. onResume() 호출 전까지 액티비티 화면 내용을 출력해 주어야 한다. setContentView() 함수에서 출력한 내용이, onResume() 이후에 화면에 출력되는데 setContentView() 는 이전 화면을 지우면서 새로운 내용을 출력하는 함수이기 때문에 화면에 출력되는 건 맨 마지막에 호출된 내용이다. 만약, 기본 화면을 지우지 않고, 그 위에 함께 출력하려면 addContentView() 함수를 이용하면 된다. 2. 일시 정지 상태 액티비티가 여전히 화면에 보이지만, 포커스를 잃은..
Adapter 와 Adapter View AdapterView 에 항목 나열 화면에 데이터가 나오려면 Adapter 클래스( 뷰는 아니지만 AdapterView 를 만들어주는 클래스 ) AdapterView 들은 AdapterView 의 서브 클래스들이며 ListView, GridView, Spinner 등이 대표적인 클래스 * Context : 애플리케이션 레벨에서 시스템 레벨의 기능 및 정보를 이요해야 할 때 , 이용하는 객체 1. ArrayAdapter 한 항목에 문자열 데이터 하나를 순서대로 나열 시 사용 ArrayList 2. SimpleAdapter 문자열 여러 개 나열 시 사용 ArrayList 3. CursorAdapter DBMS 프로그램의 select 결과값을 그대로 이용해 항목을 구성 4. Custom Adapter View..
이벤트 모델 1. 델리게이션 이벤트 모델 - 뷰에서 발생하는 이벤트를 처리하기 위한 모델 이벤트 프로그램 구조 이벤트 소스와 이벤트 핸들러를 리스너로 연결하여 처리하는 구조 이벤트 소스에서 이벤트가 발생하는 순간 등록된 이벤트 핸들러를 실행해주는 구조 * Gof 디자인 패턴의 옵저버 패턴이다. // A1 클래스의 객체를 생성하는 구문 A1 a = new A1(); // A1 을 상속받은 이름 없는 하위 클래스를 선언하고, // A1 이 인터페이스면 인터페이스를 구현한 이름 없는 클래스를 선언하고, // 선언하자마자 객체를 생성한 코드이다. // 이 구조는, 이벤트 코드를 보다 보면 자주 보이는 형태이다. A1 a = new A1() { void a() { } }; 2. 하이어라키 이벤트 모델 - 액티비티에서 발생하는..
빌더 패턴 안드로이드에서 몇몇 클래스는 Builder 로 생성하도록 강제한다. 항상 똑같이 생성해야 한다면 new 설정을 어떻게 하느냐에 따라 결과가 달라지는 객체라면 Builder 클래스를 이용해서 생성한다. 대표적으로 AlertDialog 클래스가 있다.
뷰 아키텍처 1. 뷰의 계층 구조 View : 안드로이드 뷰 클래스의 최상위 클래스, 액티비티 출력 클래스는 모두 View 의 서브 클래스 ViewGroup : 뷰의 서브 클래스여서 화면에는 출력됨. 뷰 그룹 자체만의 UI는 없음. 다른 뷰 여러개를 뷰그룹에 포함하여 제어하기 위한 목적 TextView : 특정 UI를 출력할 목적. 대표적으로 TextView, 이외에도 여러 가지 클래스가 있음. 소프트웨어 모델 : DOM 을 따름. 패턴 : Gof 디자인 패턴의 Composite 패턴 2. 대표적인 뷰 클래스들 1) TextView - text , typeface(폰트), textStyle , textColor , textSize, autoLink android:text="http://www.google.com a@..
View 의 기초 속성 1. id 속성 필수 속성은 아니지만, 필요할 때 추가 가능 XML에 등록하여 자동으로 생성된 객체를 자바 코드에서 식별할 필요가 있을 때 id 속성 사용 XML 파일로 작성한다고 가정, 뷰 코드를 자바 코드로 직접 생성한 게 아니기 때문에 id가 없으면 객체명을 알 수 없음 android:id="@+id/myText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="hello"/> 이렇게 지정한 id 값은 해당 앱의 R.java 파일에 등록된다. id 값도 R.java 파일에 등록됨 setContentView() 함수를 호출하면, 레이아웃 XML 파일 내용이 화면에 출력되고, XML에 정의한 객체..
액티비티 - 뷰 구조 액티비티 : 앱의 실행 단위 컴포넌트 , 액티비티만 실행하면 빈 화면만 보인다. 뷰 (뷰 클래스): 액티비티에 버튼 , 문자열, 이미지 등을 출력해주어야 한다. 안드로이드 UI 프로그램은 다양한 뷰를 화면에 출력하는 구조이다. 액티비티에서 뷰를 출력하려면, setContentView() 함수가 필요하다. public void setContentView(View view) public void setContentView(int layoutResID) 위 2가지 형태로 제공된다. UI 프로그램 작성 방법 1. 자바 코드로 화면 구성 자바 코드로 모든 뷰 직접 생성 메서드를 이용하여 뷰 설정을 일일이 지정하는 방법 2. 레이아웃 xml 파일 작성 UI 를 레이아웃 xml 로 작성하여 자바 코드 부분을 그만큼 ..