客户端服务器iPhone应用程序

3

我需要创建一个客户端服务器iPhone应用程序。希望将数据库存储在服务器上并将其保存到客户端的iPhone上。针对这个问题,我应该使用什么策略、什么数据库管理系统和工具?因为我的数据库可能会很重。


还要告诉如何在服务器和客户端之间进行通信? - Hab
5个回答

2
这很简单。如果您控制系统的两个部分。
关键词是PLIST。
IBM有一个很好的例子,其中包括iPhone源项目和可工作的Google应用引擎部署。 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是您的朋友,请使用它们。 约翰。

2

要将数据保存到服务器上,您可以尝试使用Parse:http://www.parse.com,他们似乎有一个易于存储数据的简单系统(无需您设置任何服务器)。

此外,您可以将数据持久化为plist文件。下面是一份不错的对不同存储选项的概述:http://doganberktas.com/2010/10/16/data-storage-alternatives-on-ios-in-a-nutshell/

如果您只需要简单地存储数据,那么最好使用 plist 存储数据,最好使用 NSCoding 协议,这样可以方便地存储任意对象。


0
如果您的数据库对象比较复杂,您可能希望在 iPhone 上使用核心数据并以自己的方式对对象进行建模。当然,在从服务数据库转换到核心数据时,您需要进行某种形式的翻译,但这不应该太困难。如果您从服务获取 XML 或 Json 响应,则应该能够轻松解析它们并在 iPhone 上构建您的对象,然后只需使用核心数据来存储它们。

0

在服务器端使用的数据库并不重要,对于 iPhone 应用程序来说,它只是一个黑盒子。应用程序可以通过 HTTP 使用 XML、PLIST 或 JSON 与此服务器通信,正如 John 和 Daniel 建议的那样。

就最简单的方式而言,只需选择您已经了解的服务器端语言即可。我想,在类似于 Google 应用引擎的东西上运行它可能是最简单的。


0

bpapa提到“该应用程序可以通过HTTP使用XML与此服务器通信”,我认为您的意思是Web服务?

我问这个问题是因为我正在尝试揭开从iPhone到数据存储(例如Google App Engine)以及返回的数据获取的神秘面纱。

谢谢// :)

P.S.) 更重要的是,Google提供了一个很好的解决方案,可以在没有大量资本投资的情况下创建可扩展的数据存储。我一直在研究它、Amazon Web Services和Windows Azure。除非您对.net有很强的依赖或能力,否则Google的解决方案是有道理的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接