Dev_Study/Android 18

8. 브로드캐스트 수신자(BroadcastReceiver)

브로드캐스팅(Broadcasting) 안드로이드에서는 여러객체에게 메시지를 전달하고 싶은경우 브로스캐스팅을 사용한다 예를들어 SMS를 수신하는경우 단말이 처리한 SMS수신이벤트를 다른 SMS용 애플리케이션들에게 알려줄 필요가 있다 이러한 이벤트는 단말전체에 적용될 수 있는것으로 글로벌 이벤트(Gloval Event)라고 한다 이렇게 전달되는 브로드캐스팅 메시지는 브로드캐스트 수신자(BroadcastReceiver)를 이용해 받을 수 있다 브로드캐스트 수신자는 BroadcastReceiver클래스를 상속받고 onReceive()를 정의하여 사용할 수 있다 이 메소드는 원하는 브로드캐스트 메시지가 도착하면 자동으로 호출된다 수신하고싶은 메시지가 있다면 그 메시지는 인텐트필터를 이용해 매니페스트에 등록한다 S..

Dev_Study/Android 2018.01.26

6. 액티비티 수명주기 (Life Cycle)

액티비티의 대표적인 상태정보 실행(Running) -화면상에 액티비티가 보이면서 실행되어 있는 상태 -액티비티 스택의 최상위에 있으며 포커스를 가지고 있음 일시 중지(Paused) -사용자에게 보이기는 하지만 다른 액티비티가 위에 있어 포커스를 받지 못하는 상태. -대화상자가 위에 있어 일부가 가려져 있는 경우에 해당 중지(Stopped) -다른 액티비티에 의해 완전히 가려져 보이지 않는 상태 이렇게 액티비티의 상태정보가 변화하는것을 액티비티의 수명주기(Life Cycle)라고 하며 액티비티가 처음 만들어진 후 없어질때까지 상태가 변화하면서 각각에 해당하는 메소드가 자동으로 호출됨 onCreate() -액티비티가 처음에 만들어졌을때 호출됨 -화면에 보이는 뷰들의 일반적인 상태를 설정하는 부분 -이전 상태..

Dev_Study/Android 2018.01.26

5. 액티비티 간에 데이터 전달하기

액티비티간에 데이터를 전달하기 위해 사용하는 번들객체는 인텐트 안에 들어있기 때문에 putExtra(), getExtra()를 이용해 넣거나 볼 수 있다 기본적으로 기본데이터타입(Primitive Data Type)만을 지원하므로 문자열이나 정수와 같은 데이터를 키와 데이터 값의 쌍으로 만들어 넣는다 [Reference] Intent putExtra(String name, String value) Intent putExtra(String name, int value) Intent putExtra(String name, boolean value) String getStringExtra(String name) int getIntExtra(String name, int defaultValue) boolean ..

Dev_Study/Android 2018.01.26

4. 플래그(Flag)

플래그(Flag) 액티비티가 동작하는 방식을 설정 [Reference] FLAG_ACTIVITY_SINGLE_TOP 액티비티를 생성할때 이미 생성된 액티비티가 있으면 재사용 FLAG_ACTIVITY_NO_HISTORY 처음이후에 실행된 액티비티는 액티비티 스택에 추가되지 않는다 사용자에게 한번만 화면을 보여주고싶을때 사용 FLAG_ACTIVITY_CLEAR_TOP 자신보다 위에있는 다른 액티비티를 모두 종료시킴 [Reference] public void onNewIntent(Intent intent) 액티비티가 이미 메모리상의 객체로 만들어져있는 경우 액티비티를 다시 씌우더라도 onCreate()메소드가 호출되지 않으므로 onNewIntent()메소드를 재정의해 사용해야한다 onNewIntent()메소드..

Dev_Study/Android 2018.01.26

2. 화면 간 이동

안드로이드 어플리케이션을 구성하는 네가지 구성요소 -액티비티 -서비스 -브로드캐스트 수신자 -내용 제공자 [Reference] startActivityForResult(Intent intent, int requestCode) 단순히 띄우는것이 아니라 어떤 액티비티를 띄운것인지, 그리고 띄웠던 액티비티로부터의 응답을 받아 처리할때 [Reference] protected void onActivityResult(int requestCode, int resultCode, Intent intent) 띄웠던 액티비티에서 돌아올때 자동호출 띄웠던 액티비티가 응답을 보내오면 그 응답을 처리하는 역할 [Reference] setResult(int resultCode, Intent intent) 현재 액티비티를 띄운 액티..

Dev_Study/Android 2018.01.26

1. 레이아웃 인플레이션

인플레이션(Inflation) 안드로이드에서는 화면을 구성하는 방법으로 XML레이아웃을 사용한다 XML레이아웃 파일의 내용은 애플리케이션이 실행될 때 메모리로 로딩되어 객체화된다 이렇게 XML레이아웃에 정의된 내용이 메로리상에 객체화되는 과정을 인플레이션이라고 한다 인플레이션 과정 XML레이아웃 파일은 프로젝트가 빌드되는 시점에 이진파일로 컴파일되지만 어플리케이션 실행시점이 되어서야 로드되어 메모리상에 객체화가 된다 setContentView()의 역할 [Reference] 1. 화면에 나타낼 뷰를 지정 2. XML레이아웃의 내용을 메모리상에 객체화 setContentView()는 액티비티의 화면전체를 설정하는 역할을 하므로 화면전체가 아닌 일부뷰만을 위한 XML레이아웃을 메모리상에 객체화하려면 별도의 ..

Dev_Study/Android 2018.01.25
728x90
반응형