Tutorial
안드로이드의 IntentFilter란?
IntentFilter란? Intent는 명시적 인텐트와 암시적 인텐트로 나뉩니다. 그중 암시적 인텐트를 통해 사용자로 하여금 어느 앱을 사용할지 선택하도록 하고자 할때 IntentFilter가 필요합니다. 예를 들어 사용자가 다른 사람들과 공유했으면 하는 콘텐츠를 가지고 있는 경우, ACTION_SEND라는 Action 있는 인텐트를 생성한 다음 공유할 콘텐츠를 더보기…
IntentFilter란? Intent는 명시적 인텐트와 암시적 인텐트로 나뉩니다. 그중 암시적 인텐트를 통해 사용자로 하여금 어느 앱을 사용할지 선택하도록 하고자 할때 IntentFilter가 필요합니다. 예를 들어 사용자가 다른 사람들과 공유했으면 하는 콘텐츠를 가지고 있는 경우, ACTION_SEND라는 Action 있는 인텐트를 생성한 다음 공유할 콘텐츠를 더보기…
인텐트(Intent)란? 인텐트는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버)간에 통신을 하기 위한 메시지 객체 입니다. Intent를 사용하는 방법은 여러가지가 있지만 일반적으로 3가지입니다. 액티비티의 시작: startActivity(Intent), startActivityForResult(Intent, requestCode) 서비스의 시작: startService(Intent), bindService(Intent) 브로드케스트 전달: sendBroadcast(Intent), sendOrderedBroadcast(Intent), sendStickyBroadcast() 인텐트 유형 명시적 인텐트(Explicit Intent) : 시작할 더보기…
ViewGroup과 View의 관계 안드로이드의 UI는 ViewGroup과 View의 계층으로 이루어집니다. 타입 설명 View View는 액티비티에서 화면을 구성하는 최소 단위로 화면에 보이는 모든것은 View입니다. 또 다른말로 위젯이라고도 하며 대표적으로 ImageView, TextView, EditText, Button 등이 View를 상속 받아 만든 클래스입니다. ViewGroup n개의 View를 더보기…
ANR? 애플리케이션을 개발 하다보면 위 이미지와 같은 ANR 다이얼로그를 종종 볼때가 있습니다. 안드로이드 시스템에서는 일정 시간 사용자와 상호작용이 불가능할 때 애플리케이션의 강제종료를 위해서 ANR 다이얼로그를 호출합니다. ANR이 발동되는 경우 5초 이내에 터치 이벤트에 대한 응답이 없을 때 브로드캐스트 리시버의 onReceive()가 더보기…
다른 액티비티로 데이터 전달하기 데이터를 전달하는 방향에 따라 전달방법을 두가지로 나눌 수 있습니다. A Activity에서 B Activity를 호출과 함께 Data 전달 A Activity가 B Activity를 호출한 뒤, B Activity를 종료하며 결과값을 A액티비티로 데이터 전달 다른 액티비티로 데이터 전달하기 사용자의 텍스트 더보기…
액티비티의 시작 다른 액티비티를 시작하려면 Context.startActivity(Intent) 를 이용하면 됩니다. 파라미터로 Intent라는 것이 필요합니다. Intent란? Intent는 컴포넌트간의 런타임 바인딩을 제공하는 객체입니다. Intent는 작업의도를 나타내며 intent객체를 통해 다른 컴포넌트를 실행하고, 메시지를 전달하는 것들이 가능합니다. 먼저 다른 액티비티를 실행하려면 액티비티부터 만들어야겠죠? 프로젝트 구조에서 최상위에서 더보기…
액티비티의 생명주기 함수는 입력을 받아 출력을 하고, 프로그램은 실행을 하면 끝이있듯이 액티비티 또한 생성부터 소멸까지 생명주기(Lifecycle)가 존재 합니다. Activity 클래스는 생명주기와 관련된 몇가지 콜백 메소드를 갖습니다. 이러한 콜백을 통해 개발자가 액티비티가 어떻게 동작할 것인지, 사용자가 이 액티비티를 떠난다면 어떻게 할것인지, 더보기…
Parcelable vs Serializable 종종 앱을 개발하다보면 액티비티와 같은 안드로이드 컴포넌트에 POJO같은 데이터를 전달해야 할 일이 있습니다. 액티비티 객체는 우리가 만들지 않고 안드로이드 시스템에서 관리하고 있으므로 컴포넌트로 데이터를 전달하기 위해서는 반드시 인텐트를 통해서 전달하게 됩니다. Serializable Serial(직렬의) + ~able(~가능한) Serializable(시리어라이저블)은 자바 더보기…
안드로이드 애플리케이션은 크게 4가지 요소로 구성됩니다. 액티비티(Activity) 액티비티는 UI가 있는 단일 화면을 나타냅니다. 예를 들어 이메일 앱이라면 새 이메일 목록을 표시하는 액티비티가 하나 있고, 이메일을 작성하는 액티비티가 또 하나, 그리고 이메일을 읽는 데 쓰는 액티비티가 또 하나 있을 수 있습니다. 더보기…