我正在尋找一種將音樂標籤和註釋存儲在運行於Android API 8(Froyo 2.2)上的SQLite數據庫中的有效方法。它們應該與Vorbis評論的格式類似。將音樂標籤存儲在SQLite數據庫中
到目前爲止,我認爲:
存儲在名爲JSON對象「域」類似格式:
+-----+----------------------------------------------------------------------+
| _id | fields |
+-----+----------------------------------------------------------------------+
| 0 | {"artist":"Artist", "title":"Track", "album":"Album 123", "track":3} |
+-----+----------------------------------------------------------------------+
爲每個字段單獨列。這是google.android.music存儲字段的方式,但我擔心新的曲目會添加太多列。來源:
在另一方面,許多有經驗的數據庫設計人員會認爲,一個良好的標準化數據庫將永遠不需要在一個表超過100列。 http://www.sqlite.org/limits.html
+-----+-------------+----------------+------------+
| _id | artist | album | title |
+-----+-------------+----------------+------------+
| 0 | Test Artist | Test Album 123 | Test Title |
| 1 | An Artist | This Album | This Title |
+-----+-------------+----------------+------------+
本來我只是把它們放在一個
Map<String, String> and invoked toString(), adding it to 'fields' as follows:
+-----+--------------------------------------------------------------+
| _id | fields |
+-----+--------------------------------------------------------------+
| 0 | {title=Example Title, album=Example Album, artist=An Artist} |
+-----+--------------------------------------------------------------+
這類似於一個JSON對象(第一個例子),但增加了困難,比如解析它放回一個Java對象。
我寧願選擇任意數量的字段,所以我傾向於使用JSON對象。請告訴我任何其他選擇,或者你在類似情況下做什麼。謝謝!
我創建的ASCII表與http://www.sensefulsolutions.com/2010/10/format-text-as-table.html