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