我目前正在構建一個使用Core Data和sqlite數據庫的iPhone應用程序,用戶將在整個應用程序中從數據庫讀取靜態信息。我有一個問題,我們可能會更新數據庫中的信息,但不想完全更新應用程序,只是數據庫。有人可以幫助我一個簡單的功能或教程如何去一個網站或服務器,並下載文件,將取代我們已經放入應用程序的數據庫?我是新的xcode和我正在做我的第一個應用程序....感謝您的幫助從Web服務器更新Sqlite?
回答
我假設你想在本地靜態數據,所以你不需要一個恆定的互聯網連接爲您的應用程序工作。另一個選擇是從網絡請求靜態數據並將其保存在文件中(NSUserDefaults等)。但是,這取決於靜態數據的複雜程度以及是否需要查詢該數據。如果您需要對該靜態數據發出查詢,則數據庫絕對會更好。
你也可以做一個組合,你可以在你的應用程序工作時下載更新的數據庫(如果可用的話)。您可以在用戶默認設置中設置當前靜態數據數據庫。如果更新,則切換當前設置並在鎖定下重新建立數據庫連接。
以下是如何使用iOS創建http請求的方法。
如果您正在下載DB數據,不NSData的轉換爲字符串,這樣的樣品中......
此外,ASI-HTTP請求是受歡迎的。下面是關於如何下載一個文件樣本:
我認爲什麼是一個好主意是你的網站發佈的數據必須存儲在sqllite通過REST ,可能採用JSON或XML格式。
這個blog post描述你如何才能做到這一點。我必須說,它從web服務中檢索內容的方法是低級的,但它可以完成工作。也許RestKit可以幫助你照顧所有的低級聯網/ http的東西。
我猜他們想,因爲他們在本地存儲啓用脫機。總是在靜止狀態下檢索靜態數據需要不斷的連接。所以如果他們本地存儲,可能是一個數據庫。另一種選擇是從REST請求並存儲在文件etc ... bt中,這取決於靜態數據的複雜程度。 – bryanmac
嗯,是的,它會以這樣一種方式實現,即sqllite db每隔x個時間段纔會刷新一次。這是一個不同的問題,或至少在問題中不明顯 –
真的是本地靜態數據我不需要一個恆定的互聯網連接的應用程序工作。我想每隔一段時間更新一次sqlite文件或一個Web服務器託管的XML。 感謝您的幫助! –
- 1. 從Android服務更新和訪問sqlite
- 2. 當服務器數據庫更新時更新sqlite數據庫
- 3. 從Web服務器
- 4. CXF Web服務不更新
- 5. Web服務:svn commit更新
- 6. Web服務 - 緩存更新
- 7. 刷新Listview從服務器更新
- 8. Sqlite數據庫不會更新來自Web服務的數據
- 9. 從android上的web服務器拉數據不更新
- 10. 定期從服務器更新大量的Web客戶端
- 11. 從ASP.NET 1.1/2.0更新Web服務器到3.5
- 12. 從Web服務器更新支持文件
- 13. 下一步從web服務器更新iphone數據庫?
- 14. SQLite與Web服務c#
- 15. 無法更新從sonarqube服務器
- 16. asp.net mvc從服務器更新網頁
- 17. 更新從服務器(MS SQL Server2005中)
- 18. 從服務器推送更新
- 19. 從服務器更新EXE文件...
- 20. 從MS SQL服務器更新MySql
- 21. 從SQL服務器自動更新XML
- 22. 聽從服務器更新ans安裝
- 23. 從VCS更新現場服務器
- 24. 如何從服務器更新strings.xml
- 25. JqGrid從服務器更新數據
- 26. 更新Joomla網站從DEVELOPPEMENT服務器
- 27. 從遠程服務器更新UITableView
- 28. 服務器到服務器Web服務
- 29. SQLite更快,因爲它無服務器?
- 30. 域名服務 - 服務器端更新
真的是本地靜態數據我不需要一個恆定的互聯網連接的應用程序工作。我想每隔一段時間更新一次sqlite文件或一個Web服務器託管的XML。 感謝您的幫助! –