客户端服务器iPhone App

时间:2009-07-14 07:13:28

标签: iphone

我需要构建一个客户端服务器iphone应用程序。想要在服务器上存储数据库并将其保存在客户端的iphone上。我必须使用什么策略和什么dbms'和工具?我的数据库可以足够重

5 个答案:

答案 0 :(得分:2)

这很容易。如果您控制系统的两个部分。

这里的神奇词是PLIST。

IBM有一个很好的例子,包括iPhone源项目和正在运行的谷歌应用引擎部署。 http://www.ibm.com/developerworks/web/library/wa-aj-iphone/

这是一些超基本代码。

// SaveOnline.

NSMutableArray *myArray = [NSMutableArray arrayWithObjects:@"one",@"two",nil];
NSURL *url = [NSURL URLWithString:@"http://www.hurl.ws/api/"];
ok = [myArray writeToURL:url atomically:NO];
if(ok) NSLog(@"saved worked");

您也可以从URL加载此PLIST,并将其重新加载到您的对象中。整个PLIST系统非常酷。它略显冗长,但我不担心,因为它非常灵活,从长远来看,这将节省你一小时和几小时的调试。

我还注意到服务器上有很多库将PLIST转换为PHP,Python的本机对象,并假设您可以找到Java或.Net的库。

不要考虑尝试用自己的XML做这件事,它会变得非常快,而且当你不需要时,你会花很多时间来修复它。

PLIST是你的朋友所以使用它们。约翰。

答案 1 :(得分:2)

为了保存到服务器,您可以尝试Parse:http://www.parse.com,它们似乎有一个简单的系统来存储数据(无需设置任何服务器)。

最重要的是,您可以将数据作为plist文件保存在本地。以下是不同类型存储选项的完美概述:http://doganberktas.com/2010/10/16/data-storage-alternatives-on-ios-in-a-nutshell/

如果您想要简单,那么您应该将数据存储在plist中,最好使用NSCoding协议,这样您就可以轻松存储任意对象。

答案 2 :(得分:0)

如果您的数据库对象很复杂,您可能希望使用核心数据并在iphone中以您自己的方式对对象进行建模。当然,当您从服务数据库转到存储核心数据时,您将不得不翻译它们,但这不应该太困难。如果从服务中获得XML或Json响应,您应该能够轻松地解析它们并在iphone上构建对象,只需使用核心数据来存储它们。

答案 3 :(得分:0)

您在服务器端使用的数据库并不重要,它只是iPhone应用程序的黑盒子。应用程序可以使用XML通过HTTP与此服务器通信,或者如John和Daniel推荐的那样通过PLIST或JSON进行通信。

就最简单的方法而言,只需使用您已经知道的服务器端语言即可。

,这可能最容易在类似于谷歌应用引擎的东西上运行。

答案 4 :(得分:0)

bpapa你注意到“应用程序可以通过HTTP使用XML与此服务器通信”,我假设您的意思是Web服务?

我问,因为我试图揭开从iPhone获取数据到Google App Engine提供的数据存储的神秘面纱,然后回来。

谢谢//:)

P.S。)更多关于这个主题,谷歌有一个很好的解决方案,可以在没有大量资金投入的情况下创建可扩展的数据存储。我一直在关注它,亚马逊网络服务和Windows Azure。似乎除非你在.net中严重依赖或强大的能力,否则谷歌的解决方案是有道理的。