개발/Android

개발/Android

인텐트와 데이터 전달

이전 시간 실습에서는 startActivity() 메소드는 단방향이다. 즉 데이터를 주고 받을 수 없다. 아래 링크에서 확인할 수 있다. https://devdebin.tistory.com/151?category=1014847 Intent(인텐트) 안드로이드 애플리케이션은 액티비티, 서비스, 브로드캐스트 수신자, 콘텐츠 제공자로 구성된다. 콘텐츠 제공자 : 애플리케이션간의 데이터 공유를 위해 표준화된 인터페이스를 제공하는 컴포 devdebin.tistory.com 그러면 어떻게 인텐트를 통해서 데이터를 주고 받을까? 새로운 액티비티를 띄우고, 액티비티간 데이터를 주고 받기 위해서는 startActivityForResult()를 사용해야 한다고 한다. 데이터는 인텐트에 담아 전달하며, 요청 코드는 각각의 ..

개발/Android

Intent(인텐트)

안드로이드 애플리케이션은 액티비티, 서비스, 브로드캐스트 수신자, 콘텐츠 제공자로 구성된다. 콘텐츠 제공자 : 애플리케이션간의 데이터 공유를 위해 표준화된 인터페이스를 제공하는 컴포넌트다. 액티비티 : 사용자 인터페이스 화면을 구성하는 컴포넌트다. 메모리 관리를 위해 LifeCycle이 있으며 스택구조로 여러 개의 액티비티가 쌓인다. 서비스 : 백그라운드에서 실행되는 컴포넌트, 사용자 인터페이스를 가지지 않는다. 브로드캐스트 수신자 : 시스템으로부터 특정 브로드캐스트를 수신하거나 반응하는 컴포넌트 사용자 인터페이스를 가지지 않는다. 이 4개의 컴포넌트의 액션, 데이터 등을 전달하는 메시지 역할을 하는 것이 인텐트(Intent)다. 즉 애플리케이션 간의 메시지를 주고 받기 위한 용도로 사용한다. 인텐트(I..

개발/Android

Context

Android Context Context는 Android system에서 제공하는 추상 클래스로, application 환경에 대한 전역 정보를 접근하기 위한 인터페이스다. Android App startup process Android에서는 application과 process가 독립적으로 운영되기 때문에, application은 ActivityManagerService에서, process는 OS에서 관리한다. ActivityManagerService는 각 application을 특정 토큰 키/값 (id)으로 구분하여 여러 application의 전역 정보를 관리한다. 더 구체적인 Context의 역할 ActivityManagerService에 접근하기 위한 인터페이스(브릿지) 역할 각 applica..

개발/Android

레이아웃 인플레이션

안드로이드에서 어떤 뷰를 Activity(화면)에 띄우려면 반드시 객체화가 되어야 한다. 인플레이션이란 XML 레이아웃에 정의된 내용(뷰)이 메모리에 객체화되는 과정이다. 이 과정을 간단하게 말하면 UI를 디자인할 XML 파일 작성을 완료하면, 이후 setContentView 메소드에서 XML 레이아웃 파일을 매핑한다. 그러면 xml 파일을 View로 만들어서 Activity(화면) 위에 보여준다. 그러면 setContentView는 무슨 역할을 할까? Activity 화면에 나타날 뷰를 지정한다. 화면 전체를 설정하는 역할이지 부분 화면 설정은 불가능하다. XML 레이아웃 내용을 메모리에 객체화시킨다. 이것이 인플레이션(inflation)이다. 그렇다면 부분 화면 인플레이션은 어떻게 진행할까? setC..

Debin
'개발/Android' 카테고리의 글 목록 (3 Page)