日期:2014-05-16 浏览次数:20464 次
Context.openOrCreateDatabase 与 SQLiteDatabase.openOrCreateDatabase的区别
?
Context.openOrCreateDatabase 与
SQLiteDatabase.openOrCreateDatabase本质上完成的功能都一
样,Context.openOrCreateDatabase最终是需要调用
SQLiteDatabase.openOrCreateDatabase来完成数据库的创建的。
也就是说, SQLiteDatabase类是android上对sqlite的最底层的封装,几乎所有的对数据库的操作最终都通过这个类来实现。
而Context里面提供的方法,是用于上下文的时候创建数据库,例如你在某个逻辑里面创建的数据库只是在特定的context里面,对于数据库的权限,交由context来管理,而这个逻辑可能是会提供给不止一个context
至于SQLiteDatabase和SQLiteOpenHelper就更好理解了,后者只是一个抽象类,用来告诉你怎样使用SQLiteDatabase类而已,你完全可以自己基于SQLiteDatabase写一个自己的helper.