0

날씨 날씨를 알기 위해 날씨 카드를 추가 할 수있는 앱을 개발 중입니다. Google 지역 정보 자동 완성 API &으로 도시를 채울 수있어 선택한 도시의 날씨를 검색 할 수도 있습니다.원격 메소드 서비스를 호출하는 방법?

그러나 내 문제는 날씨 데이터가 고정되어 있지 않기 때문에 시간이 지남에 따라 변경됩니다. 그러면 사용자가 날씨 카드를 작성한 후에 어떻게 백그라운드에서 기상 데이터를 업데이트 할 수 있습니까? 백그라운드에서 업데이트 할 필요가 있습니다. 안드로이드 서비스를 사용해야하지만 시작할 위치를 모르겠습니다.

답변

1

좋아, 여기서만 안내 할 것이고, 아무도 당신에게 완전한 코드를 제공하지 않을 것입니다. 나는 아무에게도 그렇게 권고하지 않을 것이며, 그것은 당신 자신을위한 것입니다. 안드로이드 프로그래밍 세계를 연습하고 탐구해야합니다. 그래서, 여기에 당신을위한 나의 지침이 있습니다.

FirebaseJobDispatcher 여기에서 문제가 해결 될 것입니다. FirebaseJobDispatcher를 향해 이동하기 전에 서비스 클래스를 만들어야합니다. android의 서비스에 대해서는 this을 확인해야합니다.

service 클래스에 대해 이야기 해보십시오. FetchWeatherData 클래스라고하면 FetchWeatherData 클래스는 IntentService으로 확장되며 몇 가지 메소드가 구현됩니다. onCreate 안에 서버로부터 데이터를 가져 오기위한 논리를 작성합니다. 서버에서 데이터를 가져 오면 Database에 저장합니다. 데이터베이스에 저장하기 전에 데이터베이스에 레코드가 있는지 확인해야합니다. 그런 다음 삭제하고 새 레코드를 저장합니다.

귀하의 Activity에 대해 이야기 해보십시오.라고합시다. 레코드가없는 경우 데이터베이스에 레코드가 있는지 먼저 확인한 다음 FetchWeatherData을 사용하여 날씨 데이터를 다운로드합니다. 그럼 보여줘.

귀하의 질문에 대한 대답은 매우 길 수 있지만, 나는 당신이 동기 흐름에 대한 아이디어를 얻을 수 있도록 많은 것을 설명하려고 노력했습니다. 물론이 답변을 읽는 것만으로는 문제가 해결되지 않습니다. 당신은

내가 추가 한 (저장 데이터의 경우) 이러한 개념을 통해

  1. Services (주 스레드에서 실행)
  2. 의도-서비스 (백그라운드에서 실행)
  3. Sqlite를 이동하는 데 필요한 답변에 도움이되는 링크. 그들을 따라가. 이것이 당신을 다소 도울 수 있기를 바랍니다.

+0

그런 상세한 답변을 해주셔서 대단히 감사합니다. 어떻게 생각하는지 알려주지. 감사합니다. –

+0

@KiranKoravi 아무런 문제가 없습니다. 도움이된다면 대답으로 표시하십시오. –

+0

고마워요. 효과가 있습니다. 나는 서버에서 데이터를 가져 와서 데이터베이스에 저장하는 서비스를 만들었습니다. 하지만 저는 서비스 만 사용했습니다. FirebaseJobDispatcher가 아닌가요? 활동이 다시로드 될 때만 내 데이터가 새로 고쳐집니다. Cribuzz 크리켓 라이브 스코어 카드와 같은 활동을로드하지 않고 데이터를 새로 고칠 수 있습니까? –