先简单说一下我想实现的功能,就是创建数据库的时候,同时也会创建一个表,然后就往表里插入数据;之后,就是打开数据库,然后对表的数据进行更新。
所以我想知道这个数据库是创建来的,还是打开来的,好让我执行不同的操作。
而我创建数据库的方法是继承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的回答,的確能夠實現我想要的功能,換一下思路想,的確可以。但我在提起這個問題的過程中發現,標題所描述的問題其實也是我想知道,想弄清楚的。可能這個問題比較奇葩,甚至是沒有答案的,所以先作個記錄,以後再回來瞧瞧。感謝各位!