CHAP 11. 액티비티와 인텐트.

Slides:



Advertisements
Similar presentations
3. 메소드와 변수 SCJP 자격증 프로젝트 발표자 : 최선웅. 1. 메 소 드 개 념 2. 메 소 드 양 식 3. 메 소 드 변 수 4. 메 소 드 예 제 5. 참 고 문 헌 / 자 료 목 차.
Advertisements

Android Tutorial 안드로이드 SDK 설치 및 기초 프로그래밍 강좌입니다 서울대학교 네트워크 융합 및 보안 연구실 권 윤
6 장 객체 - 지향 설계 ③. 목차 GUI 레이아웃  전화기 키 패드 전화기 키 패드 전화기 키 패드 모양의 GUI 를 만드는 Telephone.java, TelephonePanel.java 를 완성해 보자.  주석을 참고하여 TelephonePanel.java.
CHAP. 2 안드로이드 개발 도구 설치. © 2012 생능출판사 All rights reserved 개발 과정의 개요.
2. 미디어 쿼리 : 다양한 뷰포트의 지원 김은옥 1 학습목표 : 여기서는 미디어 쿼리 작성방법, 뷰포트 지정 방법 등 을 살펴본다.
Unlocking Android 안드로이드 패키지 (1/2) 2 Unlocking Android 안드로이드 패키지 (2/2) 3.
CHAP 3. 첫번째 애플리케이션 예제 #1: text 문자를 출력 예제 #2: UI를 XML로 표현 – main.xml
6 메 뉴.
CHAP 22. 블루투스.
CHAP 18. 멀티미디어.
CHAP 10. 액티비티와 인텐트.
CHAP 10. 액티비티와 인텐트.
Android Programming 고급위젯
액션바와 네비게이션
Contents 학습목표 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다. 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술 실습. 학습내용 이벤트 핸들러 여러 가지 이벤트.
그림으로 쉽게 설명하는 안드로이드 프로그래밍
액티비티와 리소스.
Android Application 애플리케이션 위젯.
CHAP 19. 구글맵.
○ 본 강의 자료는 이지스퍼블리싱(주)에서 제공하는 강의 교안입니다.
Contents 학습목표 이벤트를 처리하는 여러 가지 형식과 각 형식의 장단점에 대해 상세하게 연구하고 기본적인 이벤트에 대한 실습을 한다. 사용자의 입력을 자유자재로 처리하기 위해서 반드시 습득해야 하는 중요한 기술 실습. 학습내용 이벤트 핸들러 여러 가지 이벤트.
CHAP 7. 메뉴와 대화상자.
Contents 학습목표 Canvas와 Paint 객체를 통해 화면에 원하는 도형을 그리고 속성을 변경하는 기본적인 방법에 대해 소개한다. 토스트로 메시지를 출력하는 방법과 스피커를 통해 소리를 출력하는 방법에 대해서도 알아본다. 학습내용 캔버스 그리기 객체 쉐이더 그외.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
Java Seminar 6.
첫 번째 애플리케이션 첫째 마당 - Chapter 03 Do It! 안드로이드 앱 프로그래밍 Jun. 2013
Ch.07-5 xml-rpc 사용하기 김상엽.
CHAP 4. 이벤트 처리.
CHAP 6. 이벤트 처리.
02. 처음으로 만드는 안드로이드 응용 프로그램 제목. 02. 처음으로 만드는 안드로이드 응용 프로그램 제목.
UNIT 07 그림책 만들기 1/2 로봇 SW 콘텐츠 연구원 조용수.
CHAP 24. nfc와 앱위젯.
Activity 액티비티는 안드로이드 응용 프로그램을 구성하는 4가지 컴포넌트 중 하나로 가장 빈번히 사용되며 사용자를 대면한다는 면에서 실질적으로 가장 중요한 요소 화면 하나에 대응되며 입출력 기능이 없어 내부에 뷰나 뷰 그룹을 가짐 setContentView 메서드.
운영체제 박상민.
CHAP 7. 메뉴와 대화상자.
Visual Basic .NET 처음 사용하기.
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
CHAP 8. 그래픽.
메시지 큐[5] – test1.c 메시지 제어: msgctl(2) #include <sys/msg.h>
CHAP 6. 이벤트 처리.
CHAP 14. 데이터베이스와 환경 설정.
CHAP 13. 네트워크.
속성과 리스너 초기화 파라미터 외 파라미터에 대해 이해한다. 리스너를 생성해보고 사용에 대해 이해한다.
CHAP 12. 리소스와 보안.
3강. JSP 맛보기 JSP 문서 작성 하기 JSP 아키텍처 Lecturer Kim Myoung-Ho Nickname 블스
플랫폼의 개념 클럭, 버스, 대역폭의 의미 64비트 PC
Unity로 만드는 안드로이드 앱 유니티 프로젝트의 구성 Made by Karoid.
30강 JAVA 그래픽 JAVA GUI(Graphic User Interface)란? AWT 컴포넌트? Swing 컴포넌트?
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
CHAP 3. 첫번째 애플리케이션.
CHAP 5. 레이아웃.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
CHAP 13. 서비스와 방송 수신자.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
10. 액티비티와 인텐트 제목. 10. 액티비티와 인텐트 제목 액티비티의 개념을 파악한다. 인텐트의 개념과 활용법을 익힌다. 액티비티 생명주기에 대해 알아본다.
Lab 8 Guide: 멀티스레딩 예제 2 * Critical Section을 이용한 멀티스레딩 동기화 (교재 15장, 쪽)
3강_레이아웃-I 화면구성 요소 뷰에 대한 이해 LinearLayout Lecturer Kim Myoung-Ho
CHAP 5. 레이아웃.
CHAP 21. 전화, SMS, 주소록.
13차시_스마트 애플리케이션 기획 스마트 미디어의 사용환경과 사용자의 특성.
Intent.
3장 JSP프로그래밍의 개요 이장에서 배울 내용 : JSP페이지의 기본적인 개요설명과 JSP페이지의 처리과정 그리고 웹 어플리케이션의 구조에 대해서 학습한다.
안드로이드 앱 개발과정 Step1. 기초과정 강사 : 정 훈 희.
9 브라우저 객체 모델.
CHAP 11. 리소스와 보안.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
15강_액티비티 액티비티란? 새로운 액티비티로 전환 생명주기 화면방향(Orientation)
CHAP 15. 데이터 스토리지.
CHAP 5. 메뉴와 대화상자.
7 생성자 함수.
Presentation transcript:

CHAP 11. 액티비티와 인텐트

안드로이드는 모바일 플랫폼의 일종인데 모바일 플 랫폼은 성능 낮은 CPU, 느린 속도의 메모리, 작은 화 면, 배터리 용량 등으로 일반적인 컴퓨터와는 실행 단위가 다르다. 컴퓨터의 실행 단위는 애플리케이션, 안드로이드에 서는 액티비티 단위로 실행된다.

4가지의 중요한 개념 애플리케이션(application) 액티비티(activities) 액티비티 스택(activity stack) 태스크(task)

애플리케이션 한 개 이상의 액티비티들로 구성된다. 하나의 애플리케이션은 .apk를 확장자로 갖는 하나 의 파일 안에 저장된다. 액티비티들은 애플리케이션 안에서 느슨하게 묶여 있다.

액티비티 애플리케이션을 구성하는 빌딩 블록 쉽게 말하면 “화면 하나”라고 생각하면 된다. 안드로이드에서는 다른 애플리케이션의 액티비티도 시작할 수 있다.

태스크 액티비티의 이력을 관리해주는 매커니즘을 태스크 라 부른다. 사용자가 액티비티를 호출할 때마다 액티비티 태스 크라는 장소에 쌓이게 된다. 안드로이드는 태스크를 액티비티가 쌓여있는 스택이라 하여 액티비티 스택 이라 표현한다.

액티비티 스택 스택의 맨 위 액티비티는 현재 실행되는 액티비티이 고 다른 액티비티를 실행하면 스택의 맨 위에 삽입 (push)된다. Back 키를 누르면 현재 액티비티를 제거(pop)하고 이전 액티비티로 되돌아 간다. 사용자가 방문한 액티비티들은 어딘가에 기억

멀티태스킹 동시에 여러 태스크를 실행 현재의 태스크를 배경(background)으로 보내고 다 른 태스크를 전경(foreground)에서 시작할 수 있다.

멀티태스킹의 예

인텐트 다른 액티비티를 시작하려면 액티비티의 실행에 필 요한 여러 가지 정보들을 보내주어야 하는데 이때, 사용하는 메시지가 인텐트(intent)이다. 안드로이드의 컴포넌트끼리 통신하기 위한 메시지 시스템

인텐트의 종류 명시적 인텐트(explicit intent) 암시적 인텐트(implicit intent) “애플리케이션 A의 컴포넌트 B를 구동시켜라“와 같이 명확하게 지정 암시적 인텐트(implicit intent) “지도를 보여줄 수 있는 컴포넌트이면 어떤 것이라도 좋다”

명시적인 인텐트 실행하고자 하는 액티비티의 이름을 적어 준다. 호출자는 메인 액티비티 자신이고 NextActivity를 호출한다는 뜻이다. startActivity 메서드는 인텐트의 정보를 참조하여 현재 액티비티를 부모로 하는 NextActivity를 호출한다. 이런 식으로 인텐트에 호출할 대상 컴포넌트가 명시되어 있는 것을 명시적 인텐트라 한다. Intent intent = new Intent(this, NextActivity.class); startActivity(intent);

명시적인 인텐트 예제 여기서 두 개의 액티비티로 이루어진 애플리케이션 을 작성하여 보자. 첫 번째 액티비티는 Activity1, 두 번째 액티비티는 Activity2라고 하자.

레이아웃 파일 layout1.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_height="wrap_content" android:text="여기는 액티비티1입니다."/> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:text="액티비티2로 갑니다."/> </LinearLayout>

레이아웃 파일 layout2.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:layout_height="wrap_content" android:text="여기는 액티비티2입니다"/> <Button android:id="@+id/Button01" android:layout_width="wrap_content" android:text="액티비티1으로 갑니다"/> </LinearLayout>

Activity1.java ... public class Activity1 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);setContentView(R.layout.layout1); Button b = (Button)findViewById(R.id.Button01); b.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent intent = new Intent(Activity1.this, Activity2.class); startActivity(intent); } });

Activity2.java public class Activity2 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.layout2); Button b = (Button)findViewById(R.id.Button01); b.setOnClickListener(new OnClickListener() { public void onClick(View v) { finish(); } });

메니페스트 파일 ... <activity android:name=".Activity1" android:label="@string/app_name"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="Activity2" android:label="Activity2"></activity>

실행 결과