1

我需要一些设计建议。

这是我的用户故事:

作为用户,我想将我的工作时间保存到数据库中以供以后查看。我希望它很简单,只需单击一个按钮即可从主屏幕。

我在我的应用程序中处理这个问题的方式是,从我的主应用程序片段中,当用户单击一个按钮时,它将调用一个工厂类,该类将为此类工作实例化正确的类(让我们调用 - 类“X”) ,并将其返回给主要片段进行交互。

在类“X”构造函数中,我建立并打开数据库连接,并在此类方法之一中将新数据插入数据库。

我的问题是——这是一个好的设计吗?我会有内存泄漏吗?有什么我需要考虑的吗?

我附上了一个类似 UML 的类流来寻求帮助:

 +-----------------+                 +----------------------+
 |MainFragment     |                 |      Factory         |
 |-----------------|                 |----------------------|
 |                 |                 | ChooseShiftObject    |
 |                 |+---------+----+ |                      |
 | CheckIn()       |                 |                      |
 +-----------------+                 |                      |
                                     +----------------------+
                                              +
                                              |
                                              |
                                              +
                                              |
                                         +    +
                                    +-----------------------+
                                    |       Shift           |
                                    |-----------------------|
                                    |   DB.Open()           |
                                    |   DB.Insert(bla, bla. bla)
                                    |   DB.Close()          |
                                    |                       |
                                    |                       |
                                    |                       |
                                    +-----------------------+
4

1 回答 1

1

关于android中的数据库,您应该了解一件事。您必须将SQLiteOpenHelper对象创建为单例,否则您将在多线程环境中遇到问题。你可以在这里这里找到为什么你必须这样做的解释。

于 2013-01-08T10:24:22.890 回答