2013-02-26 32 views
0

我對Android和SQLite頗爲陌生。我目前正在開發一款應用程序,要求用戶創建他們最喜愛的藝術家列表。在Android中使用用戶輸入在SQLite中動態創建表格

我已經實現了一些已經顯示這個藝術家數據的圖表。我相信我可以輕鬆搞清楚如何實現向列表添加數據。

我想有SQLite中兩個獨立的表中:

  • 列表(這將存儲用戶已創建的列表名稱)

  • ChartItems將(這將存儲圖表項和名單它們屬於)

然而,列出表只需要一個字段在這種情況下,「LISTNAME」所以我認爲這可能不是有着至關重要這個表。

當從用戶獲得輸入時是否可以動態創建表格?

例如:用戶創建一個列表,該值隨後用於創建表。

謝謝。

+0

個人而言,我更喜歡兩種表格方法,用一個「listId」字段來鏈接它們。 – Geobits 2013-02-26 22:46:27

回答

0

您不想隨時創建新表格。你對兩張桌子的建議很好。列表應至少有兩個字段 - 一個稱爲id或_id的整數字段,它是主鍵,列表名稱是文本字段。 Chartitems表將包含一個字段(listid),其中包含它所屬列表的ID。這意味着一個chartitem只能屬於一個列表,並且通過在其記錄中設置listid字段來實現向列表添加chartitem。這是一對多的關係。

如果你想在一個以上的列表中有一個單獨的chartitem,那麼你需要一個多對多的關係,這是通過第三個表(鏈接)實現的。此表將有一個字段映射到一個列表(listid),一個字段映射到一個chartitem(itemid)。要將一個chartitem添加到列表,您可以在links表中創建相應的鏈接條目。在這種情況下,chartitem表不需要listid字段。

我建議讀一些關於數據庫中的關係來闡明這些概念。我強烈建議遵循的一個原則是每表中包含一個名爲id的字段,該字段是該表的主鍵,並將其用於來自其他表的所有引用。從長遠來看,這比在關係中使用其他字段(如姓名)要好得多。

+0

謝謝!我會研究這一點。 – AndroidEnthusiast 2013-02-26 23:37:12