2016-10-06 13 views
0

私はガソリンスタンドを地図上に表示する必要があるアプリケーションに取り組んでいます。私はそれらをサーバーへのAPI呼び出しで取り出し、JSONデータとして受け取っています。私は後で私が必要とするものをフィルタリングし、SQLite DBに格納します。Android、24時間ごとにAPIコールを使用してSQLデータベースを更新し、Googleマップマーカを更新

少なくとも私にとっては難しい部分があります。 アプリケーションが起動すると、データベース内のデータを使用してマーカーをマップに更新したいと考えています。私は24時間ごとに1回サーバーへのapi呼び出しを使用してデータを取得し、db内の現在のデータを新しいものと置き換えたい(新しいガソリンスタンドが利用できる理由がある)。アプリケーションの起動時にこの置換を実行したいのですが、最後の更新からリアルタイムで24時間が経過した場合です。

どこから始めますか?この特別なケースではアラームマネージャを使用するのは悪い習慣のような感じです.24時間ごとにインテントを起動したり、アプリを起動したりするのではなく、アプリケーションを起動して24時間が経過したかどうかをチェックします合格。

+0

方法を見つけましたか? – Anurag

+0

はい、API呼び出しが最後に実行された日の変数をSharedPreferencesに保存しました。アプリケーションが実行されると、24時間経過したかどうかを確認し(+1時間と-1時間の変更を考慮して)、intentserviceがステーションを再度フェッチし、古いステーションをdbから削除して新しいステーションを追加します。 –

答えて

0

この目的でジョブスケジューラを使用します。

+0

私のアプリケーションは4.4+をターゲットにしています。ジョブスケジューラは5.0以上(Lollipop)でしか利用できません。私は本当にJobSchedulerCompatのようなカスタムライブラリを使いたくない –

関連する問題