0

私は現在、最初の Android アプリケーションを開発しています。アプリケーションのユーザーが「データの自動更新」を有効にできるようにしたいと考えています。これは、一部のデータを x 分ごとに更新する必要があることを意味します。によって開始されるサービスを作成しました

service = new Intent(context, MyService.class);
context.startService(service);

サービス内で TimerTask を使用して定期的にデータを更新しています。

timer = new Timer();

TimerTask tt = new TimerTask() {
    public void run() {
        refreshData();
    }
};
timer.scheduleAtFixedRate(tt,0,interval);

サービスを時々再起動できることに気付きました。refreshData(); であることを確認するにはどうすればよいですか。間隔分ごとに実行されますか (多かれ少なかれ)? ユーザーが間隔 (設定) を変更した場合、現在のタイマー (タスク) を強制終了して新しいタイマーを開始するにはどうすればよいですか? 現在、新しいものを開始しているように見えますが、古いものを強制終了せず、refreshData() を 2 つの間隔に従って実行します。

どんな助けでも大歓迎です!

4

1 に答える 1

0

(私はAndroid開発も初めてなので、私が言うことはすべて一粒の塩で取ってください)

そうですね、あなたは構造について多くのことを考えているように見えます。サービスと通信するにはさまざまな方法があります。インテントをブロードキャストし、サービスにインテントを受信させ、インテントから受信した情報に基づいて間隔を変更するのが最善のオプションだと思います。

于 2011-03-04T22:46:22.870 に答える