在我的Android应用中,我需要以表格的形式临时存储一些数据,如下所示:
id |第1栏|第2栏| ...... |第n栏
每当用户按下按钮时,都会从服务器下载数据。但是,每次用户从服务器下载数据表时,数据表都没有固定数量的列(以及行)。例如,服务器可以第一次发送具有3列的数据。然后它可能会第二次发送带有5列的数据,等等......
鉴于这种情况,我认为数据库可能是正确的数据结构。我的计划是创建一个数据库,然后根据需要添加和删除表。所以我一直在阅读关于Android数据库的各种教程(一个例子就是这个http://www.codeproject.com/Articles/119293/Using-SQLite-Database-with-Android#)。在我看来,我无法使用sqlite数据库创建具有可变列数的新表。它是否正确?在onCreate(SQLiteDatabase db)方法中,必须使用已知数量的列及其数据类型指定“create table”命令。我可以提供几个“创建表”命令,每个命令具有不同数量的列,但这看起来非常粗糙。有没有办法在运行中创建具有可变列数的数据库表?
另一种替代方法可能是使用多个哈希表,每个哈希表都存储数据表的一列。如果数据库方法不可行,我正在认真考虑这种方法。欢迎任何更好的建议。
答案 0 :(得分:4)
SQLite数据库中没有可变数量的列。此外,动态添加和删除表似乎是一个可怕的黑客。
听起来你想存储一个与id相关的值数组。我建议你考虑行,而不是列。使用像(id,index,value)这样的表结构;服务器返回的每个值数组都会产生尽可能多的行来存储值。