先简单说一下我想实现的功能,就是创建数据库的时候,同时也会创建一个表,然后就往表里插入数据;之后,就是打开数据库,然后对表的数据进行更新。
所以我想知道这个数据库是创建来的,还是打开来的,好让我执行不同的操作。
而我创建数据库的方法是继承SQLiteOpenHelper
类和实现getWritableDatabase
方法。具体如下图:
这样的话,我就打算判断这个mSqLiteDatabase
(这是SQLiteDatabase
的一个实例对象,截图没放出来)是创建来的,还是打开来的。因为我看文档里说,上图的方法是:存在该数据库就打开,不存在就创建。而getWritableDatabase
方法是返回一个数据库的对象。所以我就这样瞎想,不知道可不可以判断。如果不行的话,有没有其它可替代的方法。
巴扎黑2017-04-17 17:30:58
只要在DatabaseHelper
的onCreate(SQLiteDatabase)
方法里创建表就好了呀。数据库在第一次创建的时候就会调用这个方法的。之后你就只要插入数据就行了
PHP中文网2017-04-17 17:30:58
我一直用xutils操作数据库,这个对数据库封装的很好,也很简单。
里面有个db.openorupdate方法,会自动对比数据,确定打开或更新。
如果用android原生的方法,也没必要判断,你只需要确认是否有新数据,有的话就插入就好了
PHPz2017-04-17 17:30:58
首先非常感谢各位的解答,根据xiluoduyu的回答,的确能够实现我想要的功能,换一下思路想,的确可以。但我在提这个问题的过程中发现,标题中所描述的问题其实也是我想知道,想弄明白的。可能这个问题比较奇葩,甚至是没有答案的,所以先作个记录,以后再回来瞧瞧。感谢各位!