我正在开发带有数据库的Android应用程序。该数据库将具有三个以上的表。
现在,我正在研究一个名为DBAdapter
的类,以访问SQLite数据库。
DBAdpater将为数据库中的每个表(insertEntry, removeEntry, getAllEntries, getEntry
和updateEntry
)提供五种方法。
因此,如果我有五个表,DBApadter将有超过二十五个方法。我觉得好大。
DBAdapter类应该如何?
谢谢。
最佳答案
您应该能够将其保留为5个公共方法和一个DBAdapter类。
创建一个ENUM类型来定义要使用的表,并添加一个包含对象的附加参数(即HashTable),该对象包含查询所需的名称/值对。这样可以使您的公共界面保持干净。
即:
DBAdaptor.insertEntry(TABLES.table1,valuesHashTable)
代替:
Table1DBAdaptor.insertEntry(arg1,arg2,arg3,arg4)
在DBAdapter内部,您可以创建一个内部类来处理每种查询类型的实现细节。
对于get方法,我不确定返回类型是什么,但是您可以创建基类并根据需要将其子类型化为其他返回类型。