我正在使用以下代码在android中创建SQLite数据库:
SQLiteDatabase db;
try{
SQLiteDatabase dbe = SQLiteDatabase.openDatabase("/data/data/bangla.rana.fahim/databases/dictionary", null,0);
dbe.close();
}
catch(SQLiteException e){
db = openOrCreateDatabase("dictionary", MODE_PRIVATE, null);
db.execSQL("CREATE TABLE IF NOT EXISTS LIST(wlist varchar,ex varchar);");
db.close();
}
使用游标检索数据,如:
Cursor cc = db.rawQuery(q, null);//q is the desired query.
但是我已经看到许多使用帮助器和适配器的例子用于同样的目的。那么,我的问题是使用它们有什么好处?
答案 0 :(得分:3)
我猜你指的是SQLiteOpenHelper
,文档很清楚:
用于管理数据库创建和版本管理的帮助程序类。
您创建了一个实现onCreate(SQLiteDatabase)的子类, onUpgrade(SQLiteDatabase,int,int)和可选项 onOpen(SQLiteDatabase),这个类负责打开 数据库(如果存在),如果不存在则创建它,并将其升级为 必要。事务用于确保数据库始终 处于明智的状态。
使用此功能,您无需手动创建数据库并负责升级。您只需要使用数据库逻辑实现两个方法onCreate()
和onUpgrade()
,并且android将确保在需要时调用此方法。当你说适配器时,我不知道你在说什么。
答案 1 :(得分:0)
嗯,它更关注软件设计模式。在SQLiteOpenHelper中,您可以在用户安装应用程序或更改数据库版本时执行与创建和更新数据库更相关的任务。
在包含前一个类的Adapter类中,您通常持有对db的引用,并且您可以使用方法与它进行实际交互,执行不同类型的查询(选择,插入......)。
通过这种方式,您可以很好地封装代码,因此维护起来更容易。