2012-02-02 61 views
0

我知道如何檢查互聯網連接。告訴我如何同步應用程序數據。iPhone:如何在互聯網可達時與網絡服務同步數據?

當互聯網可用時,同步如何工作?

我的困惑:

我有應用程序,它使用Web服務,以顯示在iPhone和數據也現場。現在我可以在網絡可用時更新用戶的工作通過在用戶執行某項任務時同時調用網絡服務。

但當網絡不可用,我必須保持用戶的本地數據(說的SQLite)在iPhone,當互聯網是到達我不得不更新服務器上的所有數據。

For Example, 

     If internet is reachable, user works on some task and I update the data on server at the dame time. 

     But Now internet is not reachable, user works on `N task`. I can not update on server, I have to wait for internet 
     How can I update all task on web-server at time? 

所以我的問題是:

How can I update all the data when net is available ? 

任何鏈接或代碼,它可以幫助我嗎?

+0

你使用Reachability類嗎? – user784625 2012-02-02 14:13:18

+0

所以你真正想要的是一個SQLlite速成課程?!? – AnthonyBlake 2012-02-02 14:59:46

+0

@AnonyBlake:我想了解Sync過程的基本知識。 – Devang 2012-02-02 16:24:09

回答

3

試圖把一個字段作爲isOfflinerecord在你的數據庫(如果如果你正在使用的數據庫),當連接回來更新或僅插入那些數據。 這可能是您的第一步。

1

使用可達性類,然後你可以設置一個通知,將通知的時候會有的網絡狀態

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(checkNetworkStatus:) name:kReachabilityChangedNotification object:nil]; 

hostReachable = [[Reachability reachabilityWithHostName: @"www.google.com"] retain]; 
[hostReachable startNotifier]; 


- (void) checkNetworkStatus:(NSNotification *)notice 
{ 
    // called after network status changes 

    NetworkStatus hostStatus = [hostReachable currentReachabilityStatus]; 
    switch (hostStatus) 

{ 
    case NotReachable: 
    { 
     break; 

    } 
    case ReachableViaWiFi: 
    { 

     break; 

    } 
    case ReachableViaWWAN: 
    { 

     break; 
    } 
} 

} 
+0

我知道如何檢查互聯網連接。告訴我關於同步數據的一些信息。 – Devang 2012-02-02 14:24:15

+0

運行你有多次的網絡服務? – user784625 2012-02-02 14:38:01

+1

@Devang您如何同步數據將取決於您的服務器以及您正在傳輸的內容。這完全取決於你如何做到這一點,如果你問10位開發人員,你可能會得到10種不同的解決方案。我建議你去思考一下,並提出自己的解決方案,因爲這是一個相當廣泛的問題。 – 2012-02-02 15:41:44

1

改變這個問題也許能幫助你。使用Apple的Reachability類。

`How to check for an active Internet connection on iOS or OSX?

+0

我知道如何檢查互聯網連接。告訴我關於同步數據的一些問題 – Devang 2012-02-02 14:24:40

+0

好吧,這樣做的方法是在互聯網上每隔一段時間向服務器發出一個請求,然後下載最新的更新並將其保存到本地。根據您的在線數據庫的大小,您可以立即下載。 – 2012-02-02 14:27:16

+0

哦!以及如何在服務器上上傳應用程序數據? – Devang 2012-02-02 14:28:20

相關問題