목록전체 글 (186)
hmk run dev
캐시워크같은 잠금화면위에 어플화면을 띄울 수 있는 기능을 개발을 해보자! 안드로이드 같은 경우 잠금화면 액티비티를 개발자가 개발 할 수 있다(IOS는 아직까지 안돼는 걸로...) 잠금화면을 점유하기 위해서 BroadcastReceiver에서 ACTION_SCREEN_OFF, ACTION_SCREEN_ON 액션을 받아서 화면에 액티비티를 띄워야 하는데 Manifest파일에 receiver를 등록해 정적 동작은 실행되지 않는다. 그래서 Service를 만들어 백그라운드에서 동작하게 만들어야 하는데 안드로이드 O 버전부터 백그라운드 동작을 죽이기 때문에 일정 시간이 지나면 더 이상 동작하지 않는다. 이것을 해결하기 위해 AlarmManager로 알람을 등록해 서비스를 계속 실행시키는 방법도 있는데 이것은 알람..
Activit - 앱이 실행되면 전체 화면에 앱의 UI를 띄워줌 - 사용자와 상호작용하며 이벤트 처리 - 새로운 UI를 화면에 표시 기본적으로 MainActitvity가 앱 실행 시 최초로 보이는 화면을 담당한다. Service 앱의 백그라운드에서 동작하는 작업을 수행하며 서비스를 실행한 앱을 다른 앱으로 전환하더라도 서비스에서 시작한 작업은 백그라운드에서 계속 실행 된다. 서비스는 크게 3가지로 나눌 수 있는데 - 포그라운드 서비스 : 알침창에 서비스가 실행 중임을 표시해준다. 시스템에 의해서 강제로 종료되지 않음 - 백그라운드 서비스 : 사용자에게 보이지 않는 백그라운드에서 작업을 수행하며. 시스템의 리소스가 부족할 경우 강제 종료될 수 있음 - 바인드 서비스 : 서비스와 서비스를 호출하는 앱 구송 ..
Intent (스프링의 @Autowird와 비슷...??) Component를 실행하기 위해 시스템에 넘기는 정보 기본적으로 안드로이드는 component기반이고 이때 내부적으로 개발자가 작성한 Activity 같은 클래스들이 아래와 같이 동작하게 된다. 위 4개의 영역은 각각각의 class지만 상호 결합되지 않은 상태로 실행이 되고. 이것들은 안드로이드에선 component라고 할 수 있다. 안드로이드 애플리케이션을 네 가지 기본요소에는 Activity, Service, Broadcast Reiceiver, Content Provider가 있다. 이때 인텐트(Intent)란 이러한 어플리케이션 구성요소(컴포넌트) 간에 작업 수행을 위한 정보를 전달하는 역할을 한다. 인텐트는 안드로이드 개발 시 매우 빈..