我目前擁有一個ContentProvider,用於從遠程服務器獲取資源列表。數據存儲在SQLite數據庫中。在Android中存儲列表的最佳方式
從這個列表中,用戶將能夠添加幾個項目到他們的收藏夾。他們的應用程序將不得不跟蹤列表中的ID。跟蹤收藏夾列表的最佳方式是什麼?
我想到幾個......
- 有一個標誌SQLite的表,如果它被收藏,以紀念。
- 使用共享偏好使用它的另一個SQLite數據庫
我目前擁有一個ContentProvider,用於從遠程服務器獲取資源列表。數據存儲在SQLite數據庫中。在Android中存儲列表的最佳方式
從這個列表中,用戶將能夠添加幾個項目到他們的收藏夾。他們的應用程序將不得不跟蹤列表中的ID。跟蹤收藏夾列表的最佳方式是什麼?
我想到幾個......
在我看來第一個具有SQLite表一個標誌,標誌着連續被評爲最喜歡的就是最好的選擇
這取決於。
我會推薦變種1,因爲它會保持你的數據結構簡單,你只需添加一個標誌。 (這將需要你改變表,如果它已經生活?)
我已經在我創建的應用程序也做了同樣的,它的工作速度非常快。你也有信息,如果它是在同一個模型出演這樣就不需要任何額外的邏輯,如果你需要這些信息來顯示它的細節視圖內
變2是一個非常糟糕的主意,它會很慢。 (與sqlite解決方案相比較慢)
變體3.您不需要另一個SQLite數據庫。您將不得不添加一個引用主數據模型的新模型。但這隻有在你有1:n關係時纔有意義
我認爲你的第一個想法是最好的,因爲你不必再次匹配數據。
你說你需要跟蹤優惠的列表嗎?我假設這意味着你想要相當經常地使用優惠券列表。
每當您想要閱讀優惠券列表時,都需要遍歷整個表格,這對我來說是有意義的,即讓另一個表格包含標記爲優選的所有ID。你可以經常花費很少的錢讀這張表。
此表中的ID將用作鏈接到主表的外鍵。
我喜歡這個想法,但是這對ContentProviders是如何工作的?我需要一些方法將表格「連接」在一起 - 這是我的主要問題。 – mushroom
你需要創建一個單獨的「DBHelper」類來處理所有的數據庫內容。通過這個,執行一個SQL JOIN查詢來... well..join表連在一起。 – user2818782