0

전체 프로젝트는 자원 봉사자 (1 단계)에서 데이터를 수집하고 수집 된 데이터를 기반으로 모든 사용자가 서버에 파일을 가지고 있으며 온라인으로 여러 개의 에피소드로 분리되는 군중 감식을 기반으로 안드로이드 응용 프로그램을 제작하는 것으로 구성됩니다 인공 지능 알고리즘을 적용하여 데이터 마이닝을 향상시킬 것입니다.동적 일정이있는 Android 백그라운드 센서 애플리케이션?

예를 들어 1 단계에서 자원 봉사자가 보통 오전 8시 이전에 집에 있고 나를 분석 할 가치가없는 정보가있는 경우 애플리케이션은 서버에 데이터를 전송하지 않습니다. 아직 1 단계입니다. 인터넷에 연결되어있는 사용자가 곧바로 실행하기 시작하는 안드로이드 응용 프로그램을 만들려고합니다. 서버에 데이터 (배터리, GPS, 활동 등)를 보내고 활동 (걷기, 달리기 ...)에 따라 다음 데이터 흐름이 언제 전송되는지를 결정합니다. 예를 들어 그가 걷고 있다면 다음에 데이터가 서버로 전송 될 때 5 분이 걸릴 것입니다.

검색하는 동안 전체 시간 (높은 에너지 소비)을 수집하는 센서를 유지하면서 백그라운드에서 안드로이드 응용 프로그램을 실행하는 방법에 대한 많은 솔루션을 발견했습니다. 더 나은 솔루션은 5 분마다 예를 들어 일정을 잡는 것입니다. 내가 알고 싶은 것은, 일정을 동적으로 만들기위한 안드로이드 스튜디오 솔루션이 있습니까? 이전에 말한 활동에 따라 다르므로 정보를 수집 할 때마다 다음에 정보를 수집 할 때 일정을 잡습니다 (다음에 센서를 사용하여 데이터를 수집 한 다음 서버로 보냅니다).

언제나 백그라운드에서 실행되는 것은 특정 순간에 카운트 다운이있는 응용 프로그램입니다. 그 순간에 센서가 켜지면 데이터를 수집하여 서버로 보내고 그 데이터는 수집 된 활동 데이터를 바탕으로 다음 카운트 다운에 사용되며 카운트 다운이 끝날 때까지 센서가 꺼집니다.

의견을 보내 주시면 감사하겠습니다.

답변

0

프로젝트에 가장 적합한 옵션은 AlarmManager 일 것입니다. 주기적으로 또는 특정 시간에 코드를 실행할 수 있으며 샘플은 here입니다. 또한 시스템 상태 이벤트 (예 : Wi-Fi 켜기/끄기)로 앱을 시작할 수 있습니다. 이러한 이벤트를 잡으려면 BroadcastReceiver을 사용해야하며 샘플은 here입니다.

그래서 카운트 다운 타이머 또는 백그라운드 스레드를 구현할 필요가 없습니다. 또한 수작업으로 만들어진 카운트 다운 배경 스레드는 언제든지 시스템에 의해 종료 될 수 있습니다.