서비스를 시작하는 파일과 다른 Java 파일에있는 서비스가 있습니다.서비스에서 응용 프로그램으로 개체 보내기 - 처리기
간단히하기 위해 하나의 Main.java와 하나의 ServiceFile.java를 호출 해 보겠습니다.
main은 onCreate()에서 서비스 (ServiceFile.java)를 시작하고 응용 프로그램의 수명 동안 서비스가 계속 실행됩니다. 이 서비스의 기능은 별도의 스레드에 네트워크 작업 을 수행 한 다음 데이터를받은 후 Vehicle 개체를 생성하는 것입니다.
나는 내가 구글 개발자들에 대한 Handlers을 읽고 그것이 내가 필요한 것 같다 Main.java
에 ServiceFile.java에서이 객체를 얻을 필요가있다. 그러나 Handler의 구현을 찾을 수있는 모든 예제는 다른 스레드가 동일한 Java 파일에있는 예제입니다. 이렇게 파일간에 메시지를 보내려면 어떻게해야합니까?
나는 핸들러에 대한 참조를 제공하기 위해 putExtra를 사용하는 아이디어를 가지고 있지만 처리기parcelable or serializable.
그런데 문제는 내가 서비스를 결합하고 싶지 않아, 내가 원하는이 서비스가 계속 실행되도록해야합니다. 방금 얻었던 아이디어는 Main.java에서 getVehicle (Vehicle v)와 같은 정적 (static?) 메소드를 호출 한 다음 그 작업을 수행하는 것입니다. – benzabill
'Service '에 바인딩하는 것이 끊임없이 실행되지 않는다는 것을 의미하지는 않습니다. 일반적으로 서비스를 시작한 다음 필요에 따라 작업을 시작하는 방식으로 서비스를 시작하십시오. 뮤직 앱이 어떻게 이것을한다고 생각하십니까? 서비스는 끊임없이 실행되며 Activity는 필요할 때마다 Activity에 바인딩됩니다. 예를 들어 재생/일시 중지 버튼을 탭하면 활동이 서비스에 바인딩됩니다. – Varun
충분히 명확하게 말하면, 나는 묶인 서비스에 대해서 말하고있는 것이 아니다. 이러한 종류의 서비스는 무기한으로 백그라운드에서 실행되지 않습니다. 이미 말하고있는 것은 이미 실행중인 서비스에 바인딩하는 것입니다. 차이를 보길 바랍니다. – Varun