源码面试宝典
2020-03-14 本文已影响0人
朱_c713
1) GreenDao
1 优缺点
优点:
* 开发起来简单,ORM框架将我们的对象模型转化为SQL语句,只需要掌握一些api就能够操作数据库,
不用亲自处理sql语句了(下面greendao和原生Sqlite开发案例可以对比)。
* 当面对一个复杂的程序时,其内部较多的数据处理,sql语句大量的硬编码,会让代码显得混乱和不
易维护,ORM框架能让结构更清晰。
缺点:
* 虽然ORM框架开发起来简单,但是我们需要掌握的东西却更多了,框架需要去学习,SQL原生操作需
要去掌握。
* 在一些复杂的数据库操作(如多表关联查询)时,ORM语法会变得十分复杂。直接用SQL语句会更清晰
,更直接。
2 . greendao在架构上只是一个中间件。

3. 在对应目录下,找到 android.db 用工具打开数据库,实时观察里面的内容。
4. 数据库升级的时候,源码里是有一个:dropAllTables的。
public static class DevOpenHelper extends OpenHelper {
...
@Override //数据库版本升级会触发这个方法
public void onUpgrade(Database db, int oldVersion, int newVersion) {
dropAllTables(db, true);
onCreate(db);
}
}