2011-05-11 34 views
0

我想创建一个笑话应用程序,可以将笑话上下调整并进行评分。iOS:tableview应用程序和数据库

也有不同的笑话类别。

我的问题是我该如何存储笑话数据库?

随着应用程序更新,笑话数据库将不断增长。我是否希望将它存储在电话中,或者让用户从网络上的数据库中获取笑话?

如果第一个选项是什么,我可以在iOS应用上存储哪些文本的最大容量? (在这种情况下,我认为当我更新应用程序时,笑话数据库将会更新) 如果第二个选项,这是如何完成的?我可以想到几个选项,但它们并不是很好。 1.将数据库存储在网页上,并从那里抓取它(但用户无法在笑话上投票) 2.创建一个移动网站,将所有笑话实现为一个真实的网站,并使用webview显示给用户的笑话页面。 (可能需要登录系统,以便用户不能滥用投票) 在这两种情况下,这是不安全的,因为有人可以通过执行谷歌搜索并获取我所有的内容来找出我的笑话在哪里。

你有什么建议?

回答

2

最具扩展性的解决方案是构建自己的后端,并在手机上从中获取数据。应该使用应用程序更新来部署代码更新,而不是内容更新。如果你想让一个不断增长的笑话数据库可供用户使用,你将需要一个存储在网络某处的数据库。

这种方法要求您使用笑话数据库(使用诸如SQL或Postgres之类的东西)来设置您自己的Web服务器。您可以使用PHP,Ruby on Rails,Django或其他此类服务器端技术处理传入请求并从数据库获取数据。然后,服务器将以JSON等网络友好的格式将这些数据返回给手机。

在iPhone端,您可以使用NSURLRequest和NSURLRequestDelegate向服务器发出异步请求。例如,如果您想从后端获取所有笑话,则可以向http://www.yoursite.com/jokes发出GET请求。后端将接收请求,使用SQL查询获取笑话,将数据格式化为JSON,然后通过网络将其发送回手机。手机然后可以解析JSON(有许多用于Cocoa Touch开发的JSON库)并更新显示。为了允许用户对笑话进行投票,你可以类似地将POST请求发送到后端,这将修改数据库中的数据。

下面是如何在iPhone端使用JSON的简单示例:http://mobile.tutsplus.com/tutorials/iphone/iphone-json-twitter-api/