私はここであなたをガイドします。誰もあなたに完全なコードを提供することはありません。私は誰にもそうするよう勧めません。それはあなた自身のためです。あなたはアンドロイドプログラミングの世界を練習し、探求する必要があります。それで、ここに私のガイドラインがあります。
FirebaseJobDispatcherここで問題を解決します。 FirebaseJobDispatcherの方に移動する前に、サービスクラスを作成する必要があります。アンドロイドのサービスでは、thisをチェックしてください。
あなたのservice
クラスについて話しましょう。 FetchWeatherData
クラスFetchWeatherDataはIntentService
に拡張され、いくつかのメソッドが実装されます。 onCreate
の中には、サーバーからデータを取得するためのロジックを記述します。サーバーからデータを取得すると、Databaseに保存されます。データベースに格納する前に、データベースにレコードがあるかどうかを確認する必要があります。そうであれば削除し、新しいレコードをそこに格納します。
あなたのActivity
について話しましょう。それはShowWeatherActivity
と言うことができます。レコードがない場合は、データベースにレコードがあるかどうか最初にチェックし、FetchWeatherData
を使用して気象データをダウンロードします。次にそれを示してください。
あなたの質問への回答は非常に長くなることがありますが、私はあなたが同期フローのアイデアを得るのを助けることができるほど説明しようとしました。あなたの問題は、この答えだけを読むことで解決できません。あなたは、私が追加した
(データを格納するための)
Sqliteテント・サービス(バックグラウンドで実行されます)
(メインスレッドで実行されます)
- Servicesに これらの概念を通過する必要があります答えの役に立つリンク。それらに従う。これがあなたを幾分助けてくれることを願っています。
このような詳細な回答は非常に@ザイサンです。私はあなたのことが私のためにどのように機能するかを教えてあげます。あなたに感謝できません –
@KiranKoravi問題がない場合、これは答えとしてマークしてください –
ありがとうございます。それは働いている。私はサーバーからデータを取得し、最後にデータベースに格納するサービスを作成しました。しかし、私はサービスだけを使用しました。 FirebaseJobDispatcherではありませんか?私のデータは、アクティビティが再びロードされたときにのみリフレッシュされます。 cribuzz cricketライブスコアカードのようなアクティビティをロードせずにデータをリフレッシュすることは可能ですか? –