8월 11, 2019의 게시물 표시

BroadCast Receive

Activity Action

다른 어플의 액티비티 실행

Intent Filter 안드로이드의 4대 구성요소는 모두 AndroidManinfest.xml 파일에 기록됩니다. 이 때 다른 애플리케이션이 실행할 수 있도록 하고자 한다면 Intent Filter를 이용해 이름을 설정해주면 됩니다.

객체 전달하기

객체 전달하기

Parcelable Intent를 통해 객체를 전달 할 때는 Parcleable 인터페이스를 구현한 객체만 가능합니다. Parcelable 인터페이스는 전달 받은 쪽에서 객체를 복원할 때 필요한 정보를 가진 부분을 의미합니다.

데이터 전달하기

Intent에 데이터 세팅하기 Actuvuty를 실행하기 위해 사용하는 Intent 객체에 putExtra 메소드를 이용해 데이터를 세팅하면 실행된 Activity에서 데이터를 전달 받을 수 있습니다. putExtra 메소드는 자료형 별로 메소드가 따로 제공되기 때문에 타입을 가리지 않습니다. ---------- Intent에서 데이터 가져오기 Intent에 세팅된 데이터는 getAAAExtra 메소드를 이용하여 가져오실 수 있습니다. 자료형 별로 메소드가 제공되므로 가져오고자 하는 데이터 타입에 맞는 메소드를 이용하여 겨져 올 수 있습니다.

OnResultActivity

startActivityForResult Activity에서 다른 Activity를 실행하고 다시 원래의 Activity로 돌아왔을 때 어떤 처리가 필요하다면 Activity를 실핼할 때 startActivity()가 아닌 startActivityForResult() 메소드를 사용합니다.

액티비티 실행하기

안드로이드 4대 구성 요소 하나의 애플리케이션은 독립된 실행단위인 4대 구성 요소로 구성됩니다. ---------- Activity 화면을 관리하는 실행단위입니다. 어플을 실행하면 눈에 보이는 버튼, 텍스트뷰, 이미지뷰 등 눈에 보이는 UI 요소들을 관리하는 실행단위 입니다. Service 백그라운드에서 실행되는 실행단위입니다. Broad Cast Receiver OS가 전달하는 메시지를 전달 받아 실행되는 실행단위입니다. OS자체에서 발생하는 이벤트 등을 전달받아 처리하는 단위 입니다. Contents Provider 저장돤 데이터를 제공하기위한 실행단위 입니다. 다른 어플이 사용하기 위해 제공하기 위한 실행단위 입니다. -------- Intent 안드로이드의 4대 구성 요소를 실행하기 위해서는 Intent라는 객체가 필요합니다. 안드로이드의 4대 구성 요소를 실행하기 위해서는 개발자가 직접 실행하는 것이 아닌 OS에게 실행을 요청하기 됩니다. 실행 요청을 전달 받은 OS는 해당 실행 요소를 실행하게 되는데 실행 요청을 위한 정보를 담는 객체가 Intent입니다. ---------- Activity 실행 및 종료 startActivity 지정된 Intent에 담긴 정보를 토대로 Activity를 실행합니다. finish 현재 실행되어 있는 Activity를 종료합니다. -------- Back Stack Activity에서 다른 Activity를 실행하면 이전 Activity는 Back Stack에 담겨 정지 상태가 되고 새로 실행된 Activity가 활동하게 됩니다. 새로 실해ㅇ된 Activity가 제거 되면 Back Stack에 담겨있던 Activity가 다시 활동하게 됩니다.

기타2

기타1

스래드2

스래드1

RunOnUiThread

RonOnUiThread 메소드는 개발자가 만들어낸 일반 스래드에서 코드 일부를 메인 스래드가 처리하도록 하는 메소드 입니다. Java에서는 메소드로 제공되었으나 Kotlin에서는 람다식으로 제공되고 있으므로 상대적으로 작성하는 것이 간편합니다.

AsyncTask

AsyncTask AsyncTask는 비 동기 처리를 위해 제공되는 클래스입니다. 개발자가 발생시킨 스래드와 핸들러의 조합으로 스래드 운영 중 화면 처리가 가능했던 구조를 클래스로 제공하는 것입니다. 메소드 onPreExecute doInBackground 메소드가 호출되기 전에 호출되는 메소드 입니다. 메인 스래드가 처리합니다. doInBackground 일반 스래드에서 처리합니다. onProgressUpdata doInBackground 메소드에서 publishProgress 메소드를 호출하면 메인 스래드가 처리하는 메소드 입니다. doInBackground 메소드 내에서 화면 처리가 필요할 때 사용합니다. onPostExcute doInBackground 메소드 수행 완료 후 호출됩니다. 메인 스래드가 처리합니다. AsyncTask를 이용하면 개발자가 만들어낸 일반 스래드와 화면처리를 위해 메인 스래드를 이용하는 것을 서로 조합하여 작업이 가능합니다.