我想知道是否有人遇到过在android sqlite中需要一个真正动态的或看起来动态的数据库字段的情况。
让我详细解释一下。
我想在我的数据库中创建两个独立的字段,它们可以在存储长度上有所不同。例如,我有两个字段sprints和sprint_time。所以基本上我希望用户能够选择他们要做的冲刺次数,我将创建一个像String [] sprints = new String [userEnteredValue];这样的array,其中int userEnteredValue;将指定他们要做的冲刺次数,然后我想循环在每个位置添加一个string,比如
for(int i = 1; i < sprints.length;i++){
sprints[i] = "Sprint_"+i;
}然后,我想使用int userEnteredValue;创建第二个数组,但只作为每个冲刺时间的占位符。这就是我感到困惑的地方。显然,我只是创建了另一个类似String [] sprint_time = new String [userEnteredValue];的array,并循环通过这个数组来创建占位符,如下所示:
for(int i = 0; i < sprint_time.length; i++){
sprint_time[i] = "SprintTime_"+i; // place holder for each sprint time
}在我创建了这两个在我的安卓活动中,我希望用户能够进入的时间一旦他们完成了每个sprints[i]
我知道为了在数据库中存储这些值,我需要将每个array转换成一个String,这不是我该怎么做的问题。
我的问题更多的是,有没有人这样做过,有没有我可以借鉴的例子?另外,这是实现这一目标的最好方法吗?还是我应该使用不同的方法?
发布于 2013-02-08 23:10:06
我可能会使用更多的表,并且会做一些不同的事情,例如,我可能会有两个表、example和SprintTimes
[Workouts ] [SprintTimes ]
| | |ID |
|ID | -> |WorkoutID |
|SprintPosition |
|Time |我不确定这是否是你所说的锻炼,但设置应该是相似的。
您将创建一个锻炼,然后为指向该锻炼的每个sprint创建一行。
这样做还将使您的查询更容易,而不必动态构建。例如,您可以使用group by和sum获取一次锻炼的总时间:
select WorkoutID, SUM(Time) from SprintTimes group by WorkoutID
https://stackoverflow.com/questions/14775286
复制相似问题