2013-02-25 5 views
2

나는이 앱을 가지고 있습니다.이 실행 서비스는 사용자가 작업을 마칠 때까지 서비스를 마치더라도 작업 할 수 있습니다.ArrayList 전달 서비스와 활동 사이

튜토리얼 Android Example: Communication between Activity and Service using Messaging을 따라하고 내 앱에 적응했지만 메시지를 보내려고하면 내 서비스 또는 클라이언트에서 수신하지 않습니다.

또한부터 시작에게 워크 플로우 내 응용 프로그램을 시작하는이

  1. 사용자처럼하는 ArrayList를 앱처럼 인수에게 더 복잡한을 통과 사용자가 응용 프로그램과 응용 프로그램에서 버튼을 누르면
  2. 서비스를 필요 실행중인 경우가 아니라 서비스가 새로운 데이터
  3. 경우 잠시 동안 아무것도 이후의 사용자에게 통지하는 경우 서비스에 신호를 보내
  4. 이 서비스는 인터넷, 과정에서 데이터를 가져 오기 (이 정수가 될 수 있습니다) 및 응용 프로그램이 데이터를 전송 서버에서 서비스 중지를 수신합니다.

질문은 서비스와 응용 프로그램간에 복잡한 개체를 전달하는 방법은 무엇입니까?

답변

1

Message에서 복잡한 객체를 전달할 수 있습니다. setData(android.os.Bundle). 묶음에는 Parcelable 데이터가 필요하므로 직렬화 할 수 있지만 편의를 위해 기본 유형 (예 : 정수 및 문자열)의 ArrayLists를 지원합니다. 목록에 맞춤 개체가 포함되어있는 경우 Parcelable을 구현하고 putParcelableArrayList(String key, ArrayList<? extends Parcelable> value)을 사용하여 번들에 추가해야합니다.

데이터가 매우 복잡하거나 구조적 인 경우 Content Provider을 사용할 수도 있습니다. 초기 학습 곡선이 있지만 제공자가 어떤 경우에 적합합니다.