首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >安卓动态数据库SQLite存储最佳实践

安卓动态数据库SQLite存储最佳实践
EN

Stack Overflow用户
提问于 2013-02-08 22:57:19
回答 1查看 361关注 0票数 0

我想知道是否有人遇到过在android sqlite中需要一个真正动态的或看起来动态的数据库字段的情况。

让我详细解释一下。

我想在我的数据库中创建两个独立的字段,它们可以在存储长度上有所不同。例如,我有两个字段sprintssprint_time。所以基本上我希望用户能够选择他们要做的冲刺次数,我将创建一个像String [] sprints = new String [userEnteredValue];这样的array,其中int userEnteredValue;将指定他们要做的冲刺次数,然后我想循环在每个位置添加一个string,比如

代码语言:javascript
复制
for(int i = 1; i < sprints.length;i++){
 sprints[i] = "Sprint_"+i;
 }

然后,我想使用int userEnteredValue;创建第二个数组,但只作为每个冲刺时间的占位符。这就是我感到困惑的地方。显然,我只是创建了另一个类似String [] sprint_time = new String [userEnteredValue];array,并循环通过这个数组来创建占位符,如下所示:

代码语言:javascript
复制
for(int i = 0; i < sprint_time.length; i++){
 sprint_time[i] = "SprintTime_"+i; // place holder for each sprint time
 }

在我创建了这两个在我的安卓活动中,我希望用户能够进入的时间一旦他们完成了每个sprints[i]

我知道为了在数据库中存储这些值,我需要将每个array转换成一个String,这不是我该怎么做的问题。

我的问题更多的是,有没有人这样做过,有没有我可以借鉴的例子?另外,这是实现这一目标的最好方法吗?还是我应该使用不同的方法?

EN

回答 1

Stack Overflow用户

发布于 2013-02-08 23:10:06

我可能会使用更多的表,并且会做一些不同的事情,例如,我可能会有两个表、example和SprintTimes

代码语言:javascript
复制
[Workouts   ]     [SprintTimes    ]
|           |     |ID             |
|ID         |  -> |WorkoutID      |
                  |SprintPosition |
                  |Time           |

我不确定这是否是你所说的锻炼,但设置应该是相似的。

您将创建一个锻炼,然后为指向该锻炼的每个sprint创建一行。

这样做还将使您的查询更容易,而不必动态构建。例如,您可以使用group by和sum获取一次锻炼的总时间:

select WorkoutID, SUM(Time) from SprintTimes group by WorkoutID

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14775286

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档