2012-02-02 77 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