2012-01-12 17 views
0

私は、Web APIからデータを取得して表示するアプリケーションを作成しようとしていますが、5秒ごとにデータを継続的に更新していますが、これを行う最善の方法はわかりません。Windows Phoneでデータを継続的に更新する最良の方法は?

私の最初の考えは、this questionで行われたようなことをやっている単純なタイマーでしたが、私はそれを台無しにしてタイマーをバックグラウンドで実行し続けることが心配です。ユーザーがページを離れる場合)。実際には起こりそうなことについて私は心配していますか?これは、私がやろうとしていることをやり遂げるための良い方法ですか、これを行うためのより効率的な/安全な方法がありますか?

答えて

2

アプリの外をナビゲートすると、タイマーは続行されませんが、アプリ内の別のページに移動すると、タイマーは続行されます。あなただけのpush notificationsの使用を検討し、変更されていないほとんどの時間データをチェックしている場合、また

System.Windows.Threading.DispatcherTimer dt; 

    public MainPage() 
    { 
     InitializeComponent(); 
     dt = new System.Windows.Threading.DispatcherTimer(); 
     dt.Interval = new TimeSpan(0, 0, 0, 0, 1000); // 1000 Milliseconds 
     dt.Tick += new EventHandler(dt_Tick); 
    } 

    protected override void OnNavigatedFrom(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     dt.Stop(); 
    } 

    protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e) 
    { 
     dt.Start(); 
    } 

    void dt_Tick(object sender, EventArgs e) 
    { 
     listBox1.Items.Add(listBox1.Items.Count + 1); // for testing 
    } 

    private void PageTitle_Tap(object sender, GestureEventArgs e) 
    { 
     NavigationService.Navigate(new Uri("/Page1.xaml", UriKind.Relative)); // for testing 
    } 

:あなたはこのようにそれを防ぐことができます。

関連する問題