2011-12-01 3 views
0

나는 안드로이드 응용 프로그램을 개발하는 중이며 해결하기위한 최선의 방법을 모르는 뭔가를 발견했습니다. 나는 사용자가 로그인 응용 프로그램에, 나는 스레드를 시작하려고 할 때, 장치가 (중요하지 않습니다 네트워크의 종류) 네트워크안드로이드 대기열 및 스레드

스레드가해야에 연결되어있는 경우 달성하기 위해 wwant 무엇

10 분마다 조치를 취하십시오.

이 스레드가 수행해야 할 작업은 목록을 통해 반복적으로 큐를 작성하는 것입니다. 이 큐에는 개체가 있으며 사용 가능한 연결이있을 때 큐의 개체를 기반으로 실행됩니다.

대기열은 응용 프로그램의 흐름을 통해 채워집니다. 예를 들어 질문을 작성하십시오.

대답을 서버에 동기화해야합니다. 모든 질문에는 카메라 등의 사진 찍기가 포함될 수 있으므로 특정 데이터를 객체로 저장하고 대기열에 넣고 스레드가 http 요청을 처리하도록하고 싶습니다. 이렇게하면 UI가 차단되지 않습니다. 가능할 때마다 동기화하는 것이 매우 중요합니다.

내가 피하고 싶은 것은 내 자신의 APP에서 다른 프로세스를 실행하는 것입니다. 그것이 내가 서비스를 사용하지 않은 이유입니다. 아니면 전반적인 서비스 개념을 이해하지 못합니까?

특정 대기열 개체 또는 목록이 있습니까? 프로그램이 실행되는 동안 언제든지 채울 수있는 대기열 목록을 루프백하려는 경우 목록이 완전히 비어있을 때 thread.sleep 메서드를 사용합니다.

이 문제와 관련하여 어떤 힌트와 조언을 남겨주세요.

답변

1

서비스하지가 자체 프로세스 ... Documentation에서이다 : "A 서비스를하지 별도의 프로세스 인 서비스 개체 자체는 자체 프로세스에서 실행되는 의미하지는 않습니다, 그렇지 않으면를 지정하지 않는 한. 응용 프로그램과 동일한 프로세스에서 실행됩니다. "

서비스가 실제로 당신이 말하는 것에 대해 최선의 선택입니다. 다음과 같은 작업을 수행하는 자신 만의 스레드를 생성합니다. 객체에 대한 대기열을 확인하고 서버로 보내십시오 (이미 UI 스레드에 있지 않으므로 원하는 경우 다른 스레드를 생성하지 않고이 작업을 수행 할 수 있습니다) . 대기열이 비어 있으면 Timer을 사용하여 업로드 메소드를 다시 호출하도록 예약하십시오.

+1

감사합니다. 직장에서 단어 서비스를 시작했을 때 사장님은 내게 서비스는 일반적으로 다른 과정이라고 말해주었습니다. 그러나 그는 자신을 안드로이드 프로그래밍하지 않습니다. 나는 아직도 그것에 대해 조사해야한다. 감사. 나는 이것으로 갈 수있을 것이라고 생각한다. 큐의 경우, 특별한 종류의 개체를 사용할 수 있습니까? 목록/배열 목록으로 충분합니까? –

관련 문제