安卓面试突破专题课程
Android 基础与底层机制
1. 数据库的操作类型有哪些,如何导入外部数据库?
读懂题目。如果碰到问题比较模糊的时候可以适当问问面试官。
配合面试官来面试:面试是一个相互了解的过程,要充分利用面试的题目和时间把自己的能力和技术展现出来,面试官能够看到你的真实技术。
1)使用数据库的方式有哪些?
(1)openOrCreateDatabase(String path);
(2)继承SqliteOpenHelper类对数据库及其版本进行管理
(onCreate,onUpgrade)
当在程序当中调用这个类的方法getWritableDatabase()或者
getReadableDatabase();的时候才会打开数据库。如果当时没有数据库文
件的时候,系统就会自动生成一个数据库。
2)操作的类型:增删改查CRUD
直接操作SQL语句:SQliteDatabase.execSQL(sql);
面向对象的操作方式:SQLiteDatabase.insert(table, nullColumnHack, ContentValues);
如何导入外部数据库?
一般外部数据库文件可能放在SD卡或者res/raw或者assets目录下面。
写一个DBManager的类来管理,数据库文件搬家,先把数据库文件复制到”/data/data/包名/databases/”目录下面,然后通过db.openOrCreateDatabase(db文件),打开数据库使用。
我上一个项目就是这么做的,由于app上架之前就有一些初始数据需要内置,也会碰到数据的升级等问题,我是这么做的……同时我碰到最有意思的问题就是关于数据库并发操作的问题,比如:多线程操作数据库的时候,我采取的是封装使用互斥锁来解决……