Universidad de Magallanes

Investigación


Dirección de Investigación


facebook twitter youtube
02 de agosto del 2019

android service 예제

이것은 안드로이드 서비스예였다. 이 자습서의 이클립스 프로젝트 다운로드: AndroidServiceExample.zip 이 두 경로는 완전히 분리되지 않습니다. startService()로 이미 시작된 서비스에 바인딩할 수 있습니다. 예를 들어 재생할 음악을 식별하는 의도를 사용하여 startService()를 호출하여 백그라운드 음악 서비스를 시작할 수 있습니다. 나중에 사용자가 플레이어에 대한 일부 제어를 행사하거나 현재 노래에 대한 정보를 얻으려고 할 때 활동이 bindService()를 호출하여 서비스에 바인딩할 수 있습니다. 이와 같은 경우 stopService() 또는 stopSelf()는 모든 클라이언트가 바인딩해제될 때까지 서비스를 실제로 중지하지 않습니다. 최종 루프 메시지가 나타나기 전에 서비스 시작 단추를 두 번 터치합니다. 버튼이 응답하지 않습니다. 약 20초 후 시스템에서 “ServiceExample가 응답하지 않습니다”라는 메시지가 포함된 경고 대화 상자가 표시될 수 있습니다. 그 이유는 응용 프로그램의 주 스레드가 현재 반복 작업을 수행하는 동안 서비스에 의해 유지되고 있기 때문입니다. 이렇게 하면 응용 프로그램이 사용자에게 응답하지 않을 뿐만 아니라 결국 응용 프로그램이 어떤 식으로든 잠겨 있다고 가정하는 시스템에도 응답하지 않습니다. android:exported 특성을 포함하고 false로 설정하여 앱에서만 서비스를 사용할 수 있도록 할 수 있습니다.

이렇게 하면 명시적 의도를 사용하는 경우에도 다른 앱이 서비스를 시작하지 못하게 됩니다. 서비스가 처음에 onStartCommand() 또는 onBind() 메서드를 사용하여 만들 때 시스템이 이 메서드를 호출하여 한 번 설정 절차를 수행합니다. 서비스가 이미 실행 중인 경우 이 메서드는 호출되지 않습니다. 기본적으로 서비스는 응용 프로그램의 주 스레드와 동일한 프로세스에서 실행됩니다. 응용 프로그램이 소멸되더라도 서비스는 백그라운드에서 무기한으로 실행됩니다. … <응용 프로그램 ... < <서비스 android:name=".SampleService" /> 서비스는 메인 스레드(호스팅 프로세스)에서 실행되는 UI가 없는 Android 응용 프로그램 구성 요소입니다.

또한 AndroidManifest.xml에서 선언해야합니다. 백그라운드 스레드에서 서비스 코드를 실행하려면 직접 관리해야 합니다. 용어 배경 및 포그라운드 오버로드 되 고 적용할 수 있습니다. 상수를 사용할 수 있으며, 가장 일반적인 옵션은 다음 표에 설명되어 있습니다. 서비스가 구현되면 AndroidManifest.xml 파일을 편집기로 로드하고 Android Studio에서 다음과 같이 읽어야 하는 새 서비스에 대한 적절한 항목을 추가했는지 확인합니다. 여기서는 서비스를 시작하고 중지하는 코드를 작성하고 있습니다. 또한, 버튼에 두 번째 활동을 호출다음. 일반적으로 Android에서 서비스를 만들려면 서비스의 하위 클래스를 만들거나 기존 하위 클래스 중 하나를 사용해야 합니다. Android에서 활동과 같은 응용 프로그램 구성 요소는 startService()를 호출하여 서비스를 시작할 수 있으며, 이로 인해 서비스의 onStartCommand() 메서드를 호출합니다. 다음 예제에서는 서비스에서 단추 클릭을 기반으로 인터넷에서 파일을 다운로드 하는 서비스를 사용 하는 방법을 보여 줍니다. 작업이 완료되면 서비스는 브로드캐스트 수신기를 통해 활동에 다운로드가 완료되었는지 알수 있습니다.

android에서는 활동, 서비스 또는 수신기와 같은 구성 요소가 startService() 메서드를 사용하여 서비스를 시작할 수 있습니다. 다음은 startService 메서드를 사용하여 서비스를 시작하는 샘플 코드 코드 조각입니다.

inicio atrás arriba

DESTACADOS

  • LINKS


  • Dirección de Investigación

    Investigación • Avenida Bulnes 01890 • Punta Arenas • Chile
    Teléfono: +56 61 2 209 397 • Email: dir.investigacion@umag.cl