2011-05-11 32 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/