如何在iPhone应用程序中读取/写入数据到Web服务器

时间:2010-08-09 21:01:08

标签: iphone email rss gmail

我正在开发一个能够从/向Web服务器检索/发布信息的iphone应用程序。我想在服务器端使用开箱即用的技术,并尽可能多地使用内置的iphone功能。以下是我的想法:

我最初考虑过使用RSS Feed: 编写rss阅读器非常简单。 但是我似乎无法找到有关从iphone发布rss文章的信息。在这一点上有没有人有一个聪明的主意?

然后我考虑设置专用的电子邮件帐户(再一次,它是一个原型应用程序)。 然后通过iPhone发送变得容易。然而,从自定义iphone ap中接收电子邮件似乎非常复杂。再一次:对此有什么聪明的想法?

可能还有其他方式做我想做的事情,这让我望而却步。任何建设性的建议都会非常感激。

2 个答案:

答案 0 :(得分:1)

我猜这取决于您想要将数据推回到服务器的数量。如果它只是几个项目,我会向您的服务器上的php页面发送请求,并让它使用该信息更新数据库。您可以使用GET或POST。不确定限​​制是什么,但我们使用我们的应用程序来获取用户请求的电影,UUID和其他有用数据的数据。

例如:

NSString * uId = [[UIDevice currentDevice] uniqueIdentifier];
NSString * episodeString = [URLString substringFromIndex:73]; //strip out the stuff before the enclosing folder

NSArray * episodeArray = [episodeString componentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"/"]];

NSString * resVersion = episodeArray.lastObject; // get either small.mov, medium.mov or large.mov

NSString * episode = [episodeArray objectAtIndex:0];// get the enclosing folder

NSMutableURLRequest *statsRequest = [[[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:kAppStats]] autorelease];

[statsRequest setHTTPMethod:@"POST"];

NSString *requestBody = [NSString 
                          stringWithFormat:@"episode=%@&res=%@&uuid=%@",
                          [episode     stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
                          [resVersion stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding],
                          [uId        stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]
                          ];

[statsRequest setHTTPBody:[requestBody dataUsingEncoding:NSUTF8StringEncoding]];

NSURLConnection *statsConnection = [[NSURLConnection alloc] initWithRequest:statsRequest delegate:self];

[statsConnection start];
[statsConnection release];

将其发送到php脚本,该脚本通过标准POST获取数据并更新MySQL数据库。不明白为什么你不能做类似的事情。

答案 1 :(得分:0)

很难确切地说出iOS API的内置功能是否能完全符合您的要求,但是您所描述的内容听起来很可能通过创建Safari(浏览器)应用程序来实现,而不是担心自定义iPhone开发。

RSS源通常在服务器上进行管理并由客户端使用。我无法从您的描述中看出电子邮件是如何涉及的,但如果您在服务器上处理您的订阅源和电子邮件,基于浏览器的应用程序将拥有它所需的一切。