2009-06-22 72 views
1

嘿傢伙,我想存儲一個URL分類列表。這是一個網絡電臺串流應用程序,所以我想爲每個類型至少有三個環節:存儲分類URL列表 - Sqlite DB,XML或pList?結構設計?

  • 免費的流媒體URL與廣告
  • 以128 kbps
  • 保費流保費流網址網址爲256 kbps

因此,每種流派都有這三個網址。

對於付費流,還有針對特定全球區域的「地理本地化」流式URL或「鏡像」。例如,如果我在美國,我可以選擇可用鏡像的最近位置,以獲得更好的流媒體質量/可靠性。

儘管我經常懷疑這些URL可以更改,但我希望能夠更新它們,這意味着存儲不能只讀。我不知道應該如何存儲信息,更不用說存儲在哪種類型的存儲中:sqlite數據庫,XML或屬性列表。我對所有這些都是陌生的,所以我很抱歉,如果這些情況中的任何一個都很愚蠢,嘿。

至於結構,我不知道如何做到這一點。我都不可能有單獨的文件/數據庫,無論我最終使用,對於每一個位置,或者我能有一個大的一個是這樣的:

    • 洛杉磯
      • 自由流
      • 高級流 - 128kbps的
      • 高級流 - 256kbps的

但我想數據庫/文件會很快變得巨大。

我想我還可以爲免費和付費流分開文件/數據庫,因爲高級用戶很可能只想收聽優質流(但是仍然可以選擇128kbps或256kbps流,具體取決於在他們的網絡可靠性)。然後,我可以在設置中選擇要顯示哪些流;免費或優質。這應該減小尺寸。

我稍後想要在表格視圖和導航控制器中顯示這些URL。根視圖將成爲流派的列表,並通過深入到每個流派,它將顯示免費或溢價流。位置(如洛杉磯)將在設置中選擇,並且不會出現在表格視圖中。

我會很感激你們的建議。我努力盡可能清楚和具體,如果我錯過了任何事情,我很抱歉。我沒有要求代碼,只是你的想法和建議是關於如何設計這個持久數據存儲的,以及存儲它的,因爲我是新手。

謝謝!

回答

1

如果我理解你,你想:

類型的列表,每個都包含位置列表,每個都包含質量的列表,每個包含要麼一組數據(包括URL),或只是一個URL的。無論採用哪種方式,您都可以將其作爲屬性列表來執行此操作,並且它只是將您想要的屬性列表的邊界與數據庫相對照。

SQLite位於iPhone上,由標準C函數API訪問,儘管Core Data不是。 SQLite肯定會爲你的數據庫和查詢提供更多的結構。無論採用哪種方式,您都可以爲數據庫添加某種種子ID,然後查詢聯機服務器以接收差異,這將減少通過網絡傳輸大型數據庫的需求 - 但您需要確定數據庫的大小,然後再決定是否值得。簡單地壓縮XML文件可能是所有需要的,因爲XML會壓縮大量(可能是其原始大小的〜30%)。

或者,您可能只是確實需要確定數據庫中與區域相關的部分。

1

需要考慮的其他事項是爲了與預操作系統3兼容。0設備,核心數據(SQLite)並不是真正的選擇。

除了Core Data的可用性外,我不確定您需要存儲的數據乾淨地映射到關係數據模型上。我傾向於plist存儲。根據您的需求,我認爲這是最有意義的。

+0

謝謝我感謝你的回覆,似乎合乎邏輯。 – 2009-06-22 20:31:05