새로운 안드로이드 백그라운드 실행 정책

https://android-developers.googleblog.com/2018/10/modern-background-execution-in-android.html 안드로이드 공식 블로그 내용을 번역한 글 입니다. 의역 및 오역 다수 있을 수 있습니다. 안드로이드 백그라운드 실행 정책 애플리케이션은 언제 백그라운드 상태로 있을까? 백그라운드 실행을 이해하기 전에 애플리케이션이 포어그라운드인지 백그라운드인지 명확하게 파악해야합니다. 다음 중 더보기…

안드로이드의 PendingIntent란?

PendingIntent PendingIntent는 Intent를 가지고 있는 클래스로, 기본 목적은 다른 애플리케이션(다른 프로세스)의 권한을 허가하여 가지고 있는 Intent를 마치 본인 앱의 프로세스에서 실행하는 것처럼 사용하게 하는 것입니다. PendingIntent 용도 Notification으로 작업을 수행할 때 인텐트가 실행되도록 합니다. Notification은 더보기…

안드로이드의 IntentFilter란?

IntentFilter란? Intent는 명시적 인텐트와 암시적 인텐트로 나뉩니다. 그중 암시적 인텐트를 통해 사용자로 하여금 어느 앱을 사용할지 선택하도록 하고자 할때 IntentFilter가 필요합니다. 예를 들어 사용자가 다른 사람들과 공유했으면 하는 콘텐츠를 가지고 있는 경우, ACTION_SEND라는 Action 있는 더보기…

안드로이드의 Intent란?

인텐트(Intent)란? 인텐트는 컴포넌트(액티비티, 서비스, 브로드캐스트 리시버)간에 통신을 하기 위한 메시지 객체 입니다. Intent를 사용하는 방법은 여러가지가 있지만 일반적으로 3가지입니다. 액티비티의 시작: startActivity(Intent), startActivityForResult(Intent, requestCode) 서비스의 시작: startService(Intent), bindService(Intent) 브로드케스트 전달: sendBroadcast(Intent), sendOrderedBroadcast(Intent), sendStickyBroadcast() 인텐트 유형 더보기…

ViewGroup과 View의 관계

ViewGroup과 View의 관계 안드로이드의 UI는 ViewGroup과 View의 계층으로 이루어집니다. 타입 설명 View View는 액티비티에서 화면을 구성하는 최소 단위로 화면에 보이는 모든것은 View입니다. 또 다른말로 위젯이라고도 하며 대표적으로 ImageView, TextView, EditText, Button 등이 View를 상속 받아 더보기…

ANR이란? (Android Not Responding)

ANR? 애플리케이션을 개발 하다보면 위 이미지와 같은 ANR 다이얼로그를 종종 볼때가 있습니다. 안드로이드 시스템에서는 일정 시간 사용자와 상호작용이 불가능할 때 애플리케이션의 강제종료를 위해서 ANR 다이얼로그를 호출합니다.  ANR이 발동되는 경우 5초 이내에 터치 이벤트에 대한 응답이 더보기…

액티비티의 시작과 종료:startActivity() and finish()

액티비티의 시작 다른 액티비티를 시작하려면 Context.startActivity(Intent) 를 이용하면 됩니다. 파라미터로 Intent라는 것이 필요합니다. Intent란? Intent는 컴포넌트간의 런타임 바인딩을 제공하는 객체입니다. Intent는 작업의도를 나타내며 intent객체를 통해 다른 컴포넌트를 실행하고, 메시지를 전달하는 것들이 가능합니다. 먼저 다른 액티비티를 실행하려면 더보기…

액티비티의 생명주기(Lifecycle of Activity)

액티비티의 생명주기 함수는 입력을 받아 출력을 하고, 프로그램은 실행을 하면 끝이있듯이 액티비티 또한 생성부터 소멸까지 생명주기(Lifecycle)가 존재 합니다.  Activity 클래스는 생명주기와 관련된 몇가지 콜백 메소드를 갖습니다. 이러한 콜백을 통해 개발자가 액티비티가 어떻게 동작할 것인지, 사용자가 더보기…

Parcelable과 Serializable 비교

Parcelable vs Serializable 종종 앱을 개발하다보면 액티비티와 같은 안드로이드 컴포넌트에 POJO같은 데이터를 전달해야 할 일이 있습니다. 액티비티 객체는 우리가 만들지 않고 안드로이드 시스템에서 관리하고 있으므로 컴포넌트로 데이터를 전달하기 위해서는 반드시 인텐트를 통해서 전달하게 됩니다. 예) 더보기…