Fragment 여러 화면을 가지고 있는 앱 = 여러 Activity를 갖는 앱 (화면 여러개 = 액티비티 여러개) Activity는 독립된 실행단위 -> 실행단위 유지 위한 다양한 기능 보유, 메모리 소모 큼 => 독립된 실행단위가 아닌 그냥 화면만 필요한 경우라면 Fragment 사용이 효율적 Activity 내의 작은 화면 조각으로서 Activity 화면을 여러 영역으로 나누어 관리 두개의 서로 다른 액티비티에 같은 화면이 필요할 경우 fragment를 재사용해 관리하면 좋음 Frgament 프로퍼티 add : 지정된 레이아웃 안에 Fragment 추가 -> 액티비티 안에서 어디에 어떤 프래그먼트를 배치할지 설정 replace : 지정된 레이아웃에 설정되어 있는 Fragment 제거하고 새로운 Fr..
분류 전체보기
* 이 개념 확실히 해야 한다. 동작 방식/프로세스가 복잡하니 직접 그려보면서 확실히 이해 ㄱㄱ IPC Activity에서 실행 중인 Service를 제어하거나 데이터를 사용하는 등의 작업이 필요할 때 사용 Activity 와 Service는 별개의 요소이다. 액티비티에서 서비스를 실행시켰다 하더라고 서로 별개로 동작하기 때문에 액티비티에서 실행중인 서비스에 접속해 서비스가 가지고 있는 메서드를 호출하는 개념 (액티비티 종료되더라도 서비스는 계속 동작하고 필요시 액티비티를 다시 만들고 서비스에 접속이 가능, 서비스의 결과를 액티비티에 반환 받아 사용할 수도 있음) class TestService : Service() { var isRunning = false var value = 0 val binder..
Service 안드로이드 4대 구성요소 중 하나 백그라운드 프로세싱을 위해 제공되는 요소 화면을 가지고 있지 않아 보이지 않는 동안에도 동작하는 것을 의미 ( 액티비티는 화면을 갖기에 화면이 보이는 동안만 동작) 보통 서비스 안에서 스레드를 운영해 사용 * 안드로이드 스튜디오의 intentService 클래스는 내부적으로 스레드 구조로 만들어진 클래스인데 안드 11 버전 부터 더이상 사용 X 권장) Foreground Service 백그라운드에서 운영되는 service가 메모리 부족/절전모드/보안이상의 이유로 장시간 서비스는 중지 등의 상황에서 안드 OS에 의해 제거 되는 경우를 방지하기 위해 -> Foreground Service 로 만들어 사용할 수 있음 (함부로 제거 X) Foreground Ser..
시스템 메시지 안드로이드는 단말기에서 사건이 발생할 경우 각 사건에 대해 정해진 메세지를 발생 시스템 메세지 발생 -> 이에 반응하는 Broad Cast Recevier 동작 개발자가 각 사건에 대한 이름으로 Broad Cast Recevier 를 등록하면 OS가 찾아서 동작시키는 방식 안드 8.0 부터 사용할 수 있는 시스템 메시지 수 줄어들었음 안드 8.0 이상도 시스템 메시지를 발생시키는 Broad Cast Recevier 는 Manifest에 이름을 등록하여 사용이 가능 * 아래 공식문서에 나와 있는 Broad Cast Recevier 들은 Manifest에 등록하여 암묵적으로 사용이 가능 (안드 8.0 이상이여도 가능) https://developer.android.com/guide/compon..