DBAdapter设计问题

时间:2010-10-16 05:34:17

标签: android oop sqlite

我正在开发一个带有数据库的Android应用程序。该数据库将有三个以上的表。

现在我正在开发一个名为DBAdapter的类来访问SQLite数据库。

DBAdpater将为数据库中的每个表(insertEntry, removeEntry, getAllEntries, getEntryupdateEntry)提供五种方法。

所以,如果我有五个表,DBApadter将有超过二十五个方法。我认为是如此巨大。

DBAdapter类应该如何?

感谢。

1 个答案:

答案 0 :(得分:1)

您应该能够将其保留为5个公共方法和一个DBAdapter类。

创建一个ENUM类型,用于定义要使用的表,并添加一个包含对象(即HashTable)的附加参数,该对象包含查询所需的名称/值对。这样可以保持公共界面的清洁。

即:

DBAdaptor.insertEntry(TABLES.table1,valuesHashTable)

而不是:

Table1DBAdaptor.insertEntry(arg1,arg2,arg3,arg4)

在DBAdapter中,您可以创建一个内部类来处理每种查询类型的实现细节。

对于get方法,我不确定返回类型是什么,但您可以根据需要为其他返回类型创建基类和子类型。