1 / 65

“ 구글의 안드로이드 프로그래밍 ” 4 강 요약 정리

“ 구글의 안드로이드 프로그래밍 ” 4 강 요약 정리. 서강대학교 게임교육원 게임소프트웨어 개발학과 김성애. Chapter 04. 애플리케이션의 구조와 사용자 인터페이스. 02. Intent receiver Service Content provider. 01. ACTIVITY. 03. 프로세스 라이프 사이클. 07. 후킹 , 이벤트 , 테마. 04. 화면 구성 요소들의 계층구조. 05. 레이아웃 객체. 06. XML 을 이용한 화면 디자인. Chapter 04.

seanna
Download Presentation

“ 구글의 안드로이드 프로그래밍 ” 4 강 요약 정리

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. “구글의안드로이드 프로그래밍” 4강 요약 정리 서강대학교 게임교육원 게임소프트웨어 개발학과 김성애

  2. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  3. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  4. 01. ACTIVITY ACTIVITY란 윈도우 OS의 ‘윈도우’와 같은 애플리케이션의 화면을 칭한다. 윈도우 OS처럼 안드로이드 애플리케이션도 여러 개의 ACTIVITY를 가질 수 있다.

  5. 01. ACTIVITY ACTIVITY SYSTEM ACTIVITY는 UI COMPONET를 화면에 표시하고 시스템, 유저와 프로세싱 한다. USER

  6. 01. ACTIVITY 새로운 화면이 열리면 이전화면은 히스토리스택[Task stack]에 저장된다.

  7. + 액티비티 라이프 사이클 01. ACTIVITY 액티비티 생성

  8. + 액티비티 라이프 사이클 01. ACTIVITY onCreate() 액티비티가 생성될 때 처음 호출되는 메소드. 리소스를 초기화한다.

  9. + 액티비티 라이프 사이클 01. ACTIVITY onStart() ACTIVITY가 사용자에게 보여줄 준비가 되었을 때 호출된다.

  10. + 액티비티 라이프 사이클 01. ACTIVITY onResume() ACTIVITY STACK의 맨 위에 있다. 사용자의 입력처리가 가능할 때 호출된다.

  11. + 액티비티 라이프 사이클 01. ACTIVITY 액티비티 활성화

  12. + 액티비티 라이프 사이클 01. ACTIVITY 다른 액티비티가 위로 올 경우

  13. + 액티비티 라이프 사이클 01. ACTIVITY onPause() 데이터의 저장, 애니메이션의 중지, CPU소비 중단 수행. 이전 액티비티가 Resume되기 전 호출 된다.

  14. + 액티비티 라이프 사이클 01. ACTIVITY 액티비티가 최상위로 온다.

  15. + 액티비티 라이프 사이클 01. ACTIVITY 액티비티가 화면에 보이지 않을 경우

  16. + 액티비티 라이프 사이클 01. ACTIVITY onStop() 액티비티가스택의 최상위에 있지 않으므로 보여지지 않는다.

  17. + 액티비티 라이프 사이클 01. ACTIVITY Stop된 ACTIVITY가 다시 최상위 화면으로 올 경우

  18. + 액티비티 라이프 사이클 01. ACTIVITY onRestart() ACTIVITY가 멈췄을 경우에 재시작하고자 할 때 호출된다.

  19. + 액티비티 라이프 사이클 01. ACTIVITY onDestroy() 호출되면 ACTIVITY를 파기한다.

  20. + 액티비티 라이프 사이클 01. ACTIVITY 다른 어플리케이션에서 메모리가 필요할 때

  21. + 액티비티 라이프 사이클 01. ACTIVITY 프로세스가 종료된다.

  22. + 액티비티 라이프 사이클 01. ACTIVITY 유저가 해당 ACTIVITY로 돌아가고자 할 때

  23. + INTENT 01. ACTIVITY ACTIVITY ACTIVITY ACTIVITY intent INTENT란 안드로이드에서 화면과 화면사이를 이동할 때 쓰는 클래스로 어플리케이션이 해야 하는 정보가 담겨있다.

  24. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  25. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  26. 02. Intent receiver, Service, Content provider

  27. 02. Intent receiver, Service, Content provider INTENT Receiver란 네트워크 접속의 활성화나 전화가 걸려오는 등 외부에서 이벤트가 발생했을 때 처리하기 위해 사용된다. Notification Manager를 이용해서 사용자에게 어떤 일이 발생했는지를 알려준다.

  28. 02. Intent receiver, Service, Content provider ACTIVITY ACTIVITY ACTIVITY SERVICE Service는 화면으로 보여지는 것과 상관 없이 오랫동안 존재하면서 실행되는 코드이다. Activity의 Context.startService()문장을 실행하면 해당 서비스를 멈출 때까지 Service로 실행한다.

  29. 02. Intent receiver, Service, Content provider APPLICATION APPLICATION Data Sharing Content Provider 클래스를 이용하면 애플리케이션에서 SQLite데이터베이스에 저장하지 않고 데이터를 저장하거나 다른 애플리케이션과 데이터를 공유할 수 있다.

  30. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  31. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  32. 03. 프로세스 라이프 사이클 FOREGROUND ACTIVITY VISIBLE ACTIVITY 사용자가 현재 조작중인 최상위 화면의 ACTIVITY. 가장 중요한 프로세스로 메모리가 부족해도 가장 마지막에 제거된다. BACKGROUND ACTIVITY EMPTY PROCESS

  33. 03. 프로세스 라이프 사이클 FOREGROUND ACTIVITY VISIBLE ACTIVITY 사용자 화면에는 보여지지만 최상위화면이 아닌 화면. FOREGROUND ACTIVITY 다음으로 중요하다. BACKGROUND ACTIVITY EMPTY PROCESS

  34. 03. 프로세스 라이프 사이클 FOREGROUND ACTIVITY VISIBLE ACTIVITY 사용자에게 보여지지 않고 멈춘 화면. 상위, 차상위 프로세스가 메모리 요구 시 제거된다. BACKGROUND ACTIVITY EMPTY PROCESS

  35. 03. 프로세스 라이프 사이클 FOREGROUND ACTIVITY VISIBLE ACTIVITY Service, BroadcastReceiver 클래스와 같이 ACTIVITY도 없고 애플리케이션 컴포넌트도 없는 것을 EMPTY PROCESS라고 한다. 메모리가 부족해지면 시스템에 의해 즉시 제거된다. BACKGROUND ACTIVITY EMPTY PROCESS

  36. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  37. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  38. + View 04. 화면 구성 요소들의 계층구조 View 클래스는 직사각형 형태의 레이아웃과 각종 정보를 저장하는 자료구조이다. 화면의 크기, 레이아웃, 그리기, 포커스 변화, 스크롤링과 키 처리 등을 위해 사용된다. VIEW

  39. + ViewGroup 04. 화면 구성 요소들의 계층구조 VIEW ViewGroup은 다양한 형태의 View들의 집합이다. ViewGroup은 View안에 또 다른 View를 포함하는 구조적 형태를 지원한다. VIEW VIEW VIEW VIEW

  40. + 트리구조의 사용자 인터페이스 04. 화면 구성 요소들의 계층구조 안드로이드에서는 Activity의 UI를 View와 ViewGroup의 트리구조를 이용하여 구성한다. 각 ViewGroup은 가용 공간 계산 후 하위의 View를 배치한다.

  41. + LayoutParams 04. 화면 구성 요소들의 계층구조 LayoutParams의 서브 클래스는 뷰 객체들을 어떻게 그려야 하는 지에 대한 정보를 부모 객체에게 알려준다. 각 하위 요소들은 부모의 속성에 맞는 LayoutParams를 정의해야 한다. 모든 뷰그룹은 가로,세로,여백, 테두리 속성을 가지고 있다.

  42. + LayoutParams 04. 화면 구성 요소들의 계층구조 WRAP_CONTENT FILL_PARENT • WRAP_CONTENT • 콘텐츠를 표시하는 데 • 필요한 최소한의 크기로 • 그린다. • FILL_PARENT • 부모 객체와의 패딩(여백) • 을 제외한 나머지 모든 • 공간을 차지한다.

  43. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  44. Chapter 04 애플리케이션의 구조와 사용자 인터페이스 02. Intent receiver Service Content provider 01. ACTIVITY 03. 프로세스 라이프 사이클 07. 후킹, 이벤트, 테마 04. 화면 구성 요소들의 계층구조 05. 레이아웃 객체 06. XML을 이용한 화면 디자인

  45. + FrameLayout 05. 레이아웃 객체 가장 단순한 레이아웃 객체로, 모든 객체들이 화면의 왼쪽 위를 기준으로 그려진다. 기준점을 설정할 수 없으며 특정 객체를 그린 후 다른 객체를 그리면 먼저 그린 객체는 가려진 만큼 지워진다.

  46. + LinearLayout 05. 레이아웃 객체 LinearLayout LinearLayout은 모든 하위 구성요소를 수직, 수평 형태 중 하나로 정렬하여 그리는 형식이다. 하위 구성 요소들 간의 마진과 정렬, 가중치값을 지정할 수 있다. Click to add Name Comments

  47. + LinearLayout 05. 레이아웃 객체 LinearLayout LinearLayout 가중치 값은 화면 구성 요소들이 남는 공간을 어떻게 활용할지 결정하는 값으로, 가중치값이 다르면 남는 공간을 가중치 비율별로 배분한다. Click to add Click to add Name Name Comments Comments 가중치 기본 값이 전부 0일 때 Comments에 가중치 값을 1로 주었을 경우

  48. + TableLayout 05. 레이아웃 객체 TableLayout에서는 테이블의 행과 열을 기준으로 하위 구성요소들을 배치한다. TableLayout 컨테이너는 테두리 라인을 표시하지 않는다. 5:57 PM G Views/Layouts/TableLayout/Ex 4 Open… Ctrl-O Save As… Ctrl-Shift-S

  49. + AbsoluteLayout 05. 레이아웃 객체 (0,0) (x1,y1) AbsoluteLayout AbsoluteLayout에서는 하위 구성 요소들을 화면에 표시하기 위해서 x,y좌표를 직접 설정해주어야 한다. 좌측상단을 기준으로 (0,0)이나 서로 다른 단말기 환경에서는 예상과 다르게 그려질 수 있기 때문에 가급적 사용하지 않는다. Click to add Name (x2,y2) Comments (xn,yn)

  50. + RelativeLayout 05. 레이아웃 객체 Views/Layouts/RelativeLayout/Example Type here: Cancel OK RelativeLayout에서는 하위 구성 요소들이 다른 구성 요소의 상대적인 위치에 그려진다.

More Related