안드로이드 개발교육 2일차

주제 : 안드로이드 소개(2일차)
발표자 : 박성서 안드로이드펍 대표 (http://androidpub.com)
자료1 : 안드로이드 소개
자료2 : 안드로이드 실습

  • APK (애플리케이션 패키지)
    - 컴포넌트들의 집합 (Activity, Service, Content Provider, Broadcast Receiver)

  • Activity 란 ?
    - 유저 인터페이스 콤포넌트를 화면에 표시하고 시스템이나 사용자의 반응을 처리
    - 보통 UI 에서 하나의 스크린
    - 개개의 Activity 느 다른 어플리케이션에서 호출 가능
    - 기존의 Activity는 같은 기능을 하는 새로운 것을 대체될 수 있다.
    - 하나의 자바 클래스로 생성
    - apk 위의 프로세스에서 돌아간다.

  • Task
    - 액티비티의 모음이다. (연결해서 동작하는 액티비티들의 모음)
    - 다른 플랫폼에서는 하나의 애플리케이션의 개념
    - 경계가 없는 애플리케이션
    - 여러개의 Process 와 APK에 걸쳐 있을 수 있다.
    - 자신의 UI History 스택과 연결

  • ActivityManager
    - 애플리케이션 컴포넌트들을 관리하는 시스템 서버
    - AndroidManifest.xml 정보를 가져와서 관리 함
       (Acitivity  추가시 res/AndoridManifest.xml 에도 기재해야하는 이유)

  • Intent
    - 인텐트는 수행할 동작에 대한 설명을 담고 있다.

  • Process
    - 안드로이드 프로세스 = 리눅스 커널 프로세스
    - 기본적으로 하나의 프로세스마다 하나의 쓰레드
    - 메인 쓰레드와 워커 쓰레드랑 구분

  • Process LifeCycle
    - 프로세스는 필요할 때 알아서 시작된다. (시작/종료 할 필요 없음)
    - 시스템이 해당 애플린케이션의 코드를 실행할 필요가 있을 때 시작
        1) 서비스에 바이딩 할 때
        2) 컨텐트 프로바이더에 바인딩 할 때
        3) 액티비티를 시작할 때
        4) BroadcastReceiver를 처리 할 때
    -  메모리가 부족할 경우 중요하지 않은 순서로 메모리에서 프로세스를 제거한다.
    - 순서..
        1) Foreground 액티비티 : 현재 포커스를 가지고 있는 액티비티
        2) Visible 액티비티 : 포커스는 없지만 화면에 보이는 액티비티
        3)  Background 액티비티 : 화면에 보이지 않는 액티비티
             (이 처리를 잘해야한다. 어떻게 ??? 흠)

        4) Empty  : 액티비티를 가지고 있지 않은 프로세스
  • Views
    - 기본 View : TextView, EditText, ListView
    - 고급 View : ImageView, MapView (Andorid Add on 으로 들어감, 구글제공), WebView (html 페이지를 view 해주는 강력한 기능)

  • Layout : View 가 어떻게 배치될지 제어
    - AbdoulteLayout: x,y 좌표로지정 => deplicated 됨, 상위버전에서 지원안됨
    - LinearLayout, RelativeLayout 사용 권장
    - FrameLayout, TableLayout (상대적으로 많이 사용되지 않음)

  • Activity Life Cycle
    - 액티비티는 현재의 상태를 가지고 있고 변화 시 라이프 사이클 메소드가 호출됨
    - 3개의 그룹
        1) 스타팅 업 : onCreate, onStart, onRestart
        2) 노멀 익스큐션 : onPause
        3) 셧다운 : onStop/onDestory - 호출이 보장 되지 않음

    사용자 삽입 이미지

    새로운 Activity 가 호출 되면 메모리에는 onStart 상태까지는
    스택에 남아있다. onCreate 부터 할 필요 없음

    onPause 이후에는 프로세스가 죽을 수도 있어서
    필요한 데이타는 메모리가 아닌 다른 형태로(파일) 저장할 필요 있음

    Dialog 같은 경우 Activity  가 아니라 하나의 Window 라 (팝업이라 보는게 맞음) Activity Life Cycle 에 영향을 주지 않는다.

    장치슬립시 처리를 잘 해줘야함 (문서 찾아봐야 할 것 같음...)

  • 서비스
    - UI 를 가지지 않고 백그라운드에서 작업을 수행하는 컴포넌트
    - 쓰레드나 별도의 프로세스가 돌아가진 않음

  • Thread
    - 모든 컴포넌트는 하나의 쓰레드를 공유
    - Looper : 메시지 큐 처리, 싱글 쓰레드에서 동작,  안전하지 않음
                       직접 호출할 수 없고 Mian Thread 에 Message Handler 를
                       통해 다뤄짐

    만약 UI 쓰레드에서 웹에서 이미지를 다운로드 받아 처리하는 게 있다면
    다운로드하는 동안엔 UI 쓰레드가 멈추게 된다. 이럴 경우에는 별도의
    쓰레드를 구성하여 백그라운드로 돌려줘야하고 결과는 바로 적용할 수
    없기에 UI 쓰레드에서 처리할 수 있는 메소드를 만들어놔야 한다.

  • Intent
    - Message Object
       Activity Manager 에게 메시지를 보냄
    - 인텐트는 여러 Data 와 Action 으로 구성된다.
        Action : VIEW, EDIT, DIAL...
        Data : URI 형태로 되어있는 연관 데이터
        Category : 추가적인 정보 포함
    - Data 중심의 경계 없는 어플리케이션 구조

    전화를 거는 행위(데이타)를 하면 그 이후에 어떻게 처리를 할 건지는
    인텐트에서 결정한다. (Data 중심으로 처리, ex. 구글맵)

  • Intent Filter
  • BroadcastReceiver

Posted by Tcher

2009/12/08 10:33 2009/12/08 10:33
Response
7 Trackbacks , 3 Comments
RSS :
http://blog.inculab.net/rss/response/18

Trackback URL : http://blog.inculab.net/trackback/18

Trackbacks List

  1. Ampicillin injection.

    Tracked from Ampicillin injection. 2011/02/26 05:15 Delete

    Ampicillin injection.

  2. Canada oxycontin.

    Tracked from Buy oxycontin from canada. 2011/02/26 11:58 Delete

    Oxycontin canada. Treatment of oxycontin addiction in canada. Generic oxycontin in canada. Oxycontin addiction fraud lawsuits canada.

  3. Ampicillin from mexico.

    Tracked from Ampicillin from mexico. 2011/02/26 20:54 Delete

    Ampicillin from mexico.

  4. Percocet canada.

    Tracked from Percocet canada. 2011/02/27 09:31 Delete

    Percocet canada.

  5. Req ultram.

    Tracked from Req ultram. 2011/02/27 18:29 Delete

    Req ultram.

  6. Drug interaction halflytely and adderall.

    Tracked from Adderall and interaction and nsaids. 2011/02/28 04:42 Delete

    Interaction with marijuana and adderall. Pseudoephedrine and adderall drug interaction.

  7. Percocet beer.

    Tracked from Percocet beer. 2011/02/28 13:56 Delete

    Percocet beer.

Comments List

  1. zhangyuanzhu 2011/04/24 13:25 # M/D Reply Permalink

    Activity, Service, Content Provider, Broadcast Receiver

  2. birdtocute 2011/06/02 17:25 # M/D Reply Permalink

    FrameLayout

  3. ray ban outlet 2011/10/20 12:25 # M/D Reply Permalink

    new style <a href="http://www.echeapraybansunglasses.com/"><strong>ray ban 2140</strong></a> sunglasses and <a href="http://www.echeapraybansunglasses.com/"><strong>ray bans outlet</strong></a> on there, people like cool <a href="http://www.echeapraybansunglasses.com/"><strong>ray ban 3025</strong></a>, no sunlight that buy <a href="http://www.echeapraybansunglasses.com/"><strong>aviator sunglasses for men</strong></a> nice.

Leave a comment
[로그인][오픈아이디란?]
« Previous : 1 : ... 30 : 31 : 32 : 33 : 34 : 35 : 36 : 37 : 38 : ... 47 : Next »

블로그 이미지

- Tcher

Notices

Site Stats

Total hits:
84625
Today:
61
Yesterday:
91