Intent Filter Activity Notification Intent Intent Filter Intent

  • Slides: 86
Download presentation

어플리케이션의 구성요소 어플리케이션 Intent Filter 액티비티(Activity) Notification Intent 브로드캐스트 리시버 Intent Filter Intent 컨텐트

어플리케이션의 구성요소 어플리케이션 Intent Filter 액티비티(Activity) Notification Intent 브로드캐스트 리시버 Intent Filter Intent 컨텐트 프로바이더 Intent Filter Intent 서비스 (Service) Toast 4

알림Notification 사용자에게 메시지를 전달하는데 사용 Notification Bar와 Notification Panel로 구성 Notification Bar Notification Panel

알림Notification 사용자에게 메시지를 전달하는데 사용 Notification Bar와 Notification Panel로 구성 Notification Bar Notification Panel Notification Bar에는 여러 상태 및 메시지를 아이콘 및 텍스트로 표시 10

액티비티의 생애주기Activity Lifecycle 효율적인 메모리 관리를 위해 존재 상태에 따른 분류 활성(Active), 일시정지(Paused), 정지(Stopped)

액티비티의 생애주기Activity Lifecycle 효율적인 메모리 관리를 위해 존재 상태에 따른 분류 활성(Active), 일시정지(Paused), 정지(Stopped) 생애주기에 따른 분류 on. Create() on. Start() on. Resume() on. Pause() on. Stop() on. Restart() on. Destroy() 15

액티비티의 생애주기Activity Lifecycle 액티비티 상태의 복구 on. Create(Bundle) on. Restore. Instance. State(Bundle) on. Save.

액티비티의 생애주기Activity Lifecycle 액티비티 상태의 복구 on. Create(Bundle) on. Restore. Instance. State(Bundle) on. Save. Instance. State(Bundle)이 호출되지 않았다면, 위의 두 메소드의 인자로 받는 Bundle 객체는 null on. Save. Instance. State() 및 on. Restore. Instance() 메소드는 생애주기 메 소드가 아니므로 항상 호출됨을 보장할 수 없음 28

액티비티의 생애주기Activity Lifecycle 액티비티 상태 저장/복구 메소드가 호출될 수 있는 시점 액티비티 시작 on.

액티비티의 생애주기Activity Lifecycle 액티비티 상태 저장/복구 메소드가 호출될 수 있는 시점 액티비티 시작 on. Create() 프로세스 종료 on. Restore. Instance. State() on. Save. Instance. State() on. Start() on. Resume() on. Restart() on. Pause() on. Stop() on. Destroy() 29

안드로이드 개발환경 설정 어플리케이션 개발환경 JDK (Java Development Kit) Eclipse Android SDK (Software Development

안드로이드 개발환경 설정 어플리케이션 개발환경 JDK (Java Development Kit) Eclipse Android SDK (Software Development Kit) ADT(Android Development Tools) Plugin 32

ADT Plugin 설치 이클립스용 안드로이드 개발 플러그인 프로젝트 생성, AVD 생성, SDK 관리 DDMS(Dalvik

ADT Plugin 설치 이클립스용 안드로이드 개발 플러그인 프로젝트 생성, AVD 생성, SDK 관리 DDMS(Dalvik Debug Monitor Server), Emulator Control (Call / SMS/ Location) 34

Application Components (Dev. side) Java Source Code Resources Manifest (Android. Manifest. xml) 37

Application Components (Dev. side) Java Source Code Resources Manifest (Android. Manifest. xml) 37

프로젝트 생성파일 분석 R. java 를 이용한 리소스 접근 Resources 리소스 사용 Java Code

프로젝트 생성파일 분석 R. java 를 이용한 리소스 접근 Resources 리소스 사용 Java Code layout main = 0 x 7 f 030000 R. java 리소스 ID를 받아옴 Examples : R. layout. main R. drawable. icon R. string. hello drawable icon = 0 x 7 f 020000 string app_name=0 x 7 f 040001 hello=0 x 7 f 040000 41

Exercises Activity : Structure & Layouts 47

Exercises Activity : Structure & Layouts 47

액티비티 화면 구성하기 Layout이 Child View를 배치하는 방법들 Linear. Layout : 수직 / 수평으로

액티비티 화면 구성하기 Layout이 Child View를 배치하는 방법들 Linear. Layout : 수직 / 수평으로 배치 View View android: orientation = “vertical” android: orientation = “horizontal” 52

액티비티 화면 구성하기 레이아웃 파일을 이용한 화면 구성 레이아웃 파일(main. xml) <? xml version="1.

액티비티 화면 구성하기 레이아웃 파일을 이용한 화면 구성 레이아웃 파일(main. xml) <? xml version="1. 0" encoding="utf-8"? > <Linear. Layout xmlns: android="http: //schemas. android. com/apk/res/android" android: orientation="vertical" Linear. Layout : 배치 android: layout_width="fill_parent" Child View를 수직으로 화면을 꽉 채움 android: layout_height="fill_parent" > <Text. View : android: layout_width="fill_parent" 너비는 화면에 꽉 차게, android: layout_height="wrap_content" 높이는 Text. View의 크기만큼 표시될 문자열 지정 android: text="@string/hello" /> </Linear. Layout> 55

액티비티 화면 구성하기 Summary : Hello, Android Code package com. androidhuman. Hello. Android; import

액티비티 화면 구성하기 Summary : Hello, Android Code package com. androidhuman. Hello. Android; import android. app. Activity; import android. os. Bundle; public class Hello. Android extends Activity { @Override public void on. Create(Bundle saved. Instance. State) { super. on. Create(saved. Instance. State); set. Content. View(R. layout. main); } } 레이아웃 파일의 ID를 인자로 넣어줌 57

Java Code를 이용한 화면 구성 레이아웃 및 Child View의 인스턴스 생성 Linear. Layout Text.

Java Code를 이용한 화면 구성 레이아웃 및 Child View의 인스턴스 생성 Linear. Layout Text. View 각 View의 속성, 레이아웃 속성 지정 Linear. Layout �orientation �layout_height, layout_width Text. View �text �layout_height, layout_width 63

Java Code를 이용한 화면 구성 Linear. Layout 인스턴스 생성 Linear. Layout root = new

Java Code를 이용한 화면 구성 Linear. Layout 인스턴스 생성 Linear. Layout root = new Linear. Layout(this); 레이아웃 속성 객체 생성 Context (Activity) 정보를 넘겨줌 Linear. Layout. Params params = new Linear. Layout. Params( // layout_width View. Group. Layout. Params. FILL_PARENT, // layout_height View. Group. Layout. Params. FILL_PARENT, // layout_weight 0. 0 F); 64

Java Code를 이용한 화면 구성 레이아웃 속성 적용 root. set. Layout. Params(params); 뷰 배치

Java Code를 이용한 화면 구성 레이아웃 속성 적용 root. set. Layout. Params(params); 뷰 배치 방향 설정 root. set. Orientation(Linear. Layout. VERTICAL); //android: orientation=“vertical” 65

Java Code를 이용한 화면 구성 Text. View 인스턴스 생성 Text. View tv = new

Java Code를 이용한 화면 구성 Text. View 인스턴스 생성 Text. View tv = new Text. View(this); Context (Activity) 정보를 넘겨줌 레이아웃 속성 객체 생성 Linear. Layout. Params tv. Params = new Linear. Layout. Params( // layout_width View. Group. Layout. Params. FILL_PARENT, // layout_height View. Group. Layout. Params. WRAP_CONTENT, // layout_weight 0. 0 F); 66

Java Code를 이용한 화면 구성 Text. View 속성 적용 tv. set. Layout. Params(tv. Params);

Java Code를 이용한 화면 구성 Text. View 속성 적용 tv. set. Layout. Params(tv. Params); tv. set. Text(R. string. hello); Linear. Layout에 Text. View 추가 root. add. View(tv); Linear. Layout을 액티비티의 화면으로 설정 set. Content. View(root); 67

Exercises Activity : Creating new Activity 69

Exercises Activity : Creating new Activity 69

인텐트를 이용한 액티비티 호출 액티비티 표시 과정 Hello. Android start. Activity() Intent cmp=Activity 2.

인텐트를 이용한 액티비티 호출 액티비티 표시 과정 Hello. Android start. Activity() Intent cmp=Activity 2. class Activity 2 finish() 77

인텐트를 이용한 액티비티 호출 Code : Button의 동작을 처리할 인터페이스 구현 / 설 정

인텐트를 이용한 액티비티 호출 Code : Button의 동작을 처리할 인터페이스 구현 / 설 정 android. view. View. on. Click. Listener �public void on. Click(View v) 메소드 구현 Button. set. On. Click. Listener(View. on. Click. Listener) �버튼을 클릭했을 때 동작을 구현한 인터페이스를 인자로 받음 launch. set. On. Click. Listener(new On. Click. Listener(){ @Override public void on. Click(View v){ // TODO Auto-generated method stub } }; 81

인텐트를 이용한 액티비티 호출 on. Click. Listener 인터페이스 구현 다른 액티비티를 호출할 인텐트 생성

인텐트를 이용한 액티비티 호출 on. Click. Listener 인터페이스 구현 다른 액티비티를 호출할 인텐트 생성 @Override public void on. Click(View v){ // TODO Auto-generated method stub Intent intent = new Intent(Hello. Android. this, Activity 2. class); } 82

인텐트를 이용한 액티비티 호출 on. Click. Listener 인터페이스 구현 액티비티 호출 @Override public void

인텐트를 이용한 액티비티 호출 on. Click. Listener 인터페이스 구현 액티비티 호출 @Override public void on. Click(View v){ // TODO Auto-generated method stub Intent intent = new Intent(Intent. Example. this, Activity 2. class); start. Activity(intent); } 83

인텐트를 이용한 액티비티 호출 on. Click. Listener 인터페이스 구현 액티비티를 종료 @Override public void

인텐트를 이용한 액티비티 호출 on. Click. Listener 인터페이스 구현 액티비티를 종료 @Override public void on. Click(View v){ // TODO Auto-generated method stub finish(); } 85 F

finish( ) http: //androidhuman. tistory. com Twitter @Androidhuman 86

finish( ) http: //androidhuman. tistory. com Twitter @Androidhuman 86