Android使用的SQLite版本是什么?
原因:我想知道如何处理模式迁移。新的SQLite版本支持“ALTER TABLE”SQL命令,这将节省我必须复制数据,删除表,重新创建表和重新插入数据。
$ adb shell sqlite3 --version 3.5.9
ADP1 1.6 &也是如此;2.1模拟器。
虽然文档给出了3.4.0作为参考编号,但如果你执行下面的sql,你会注意到安装的SQlite数量要多得多:
Cursor cursor = SQLiteDatabase.create(null).rawQuery("select sqlite_version() AS sqlite_version", null); String sqliteVersion = ""; while(cursor.moveToNext()){ sqliteVersion += cursor.getString(0); }
这只是一段检索sqlite版本的快速代码。例如,在HTC Hero和Android 2.1上,我得到:3.5.9。
在我的Nexus One和Android 2.2上,我甚至得到3.6.22。
这里有一个官方文档的链接,其中包括这个答案的要点:Android.database.sqlite包级javadoc
Kotlin代码获得框架SQLite版本(提示:只需在活动onCreate()中插入断点,并在Evaluate Expression...中使用此代码):
onCreate()
Evaluate Expression...
val version = android.database.sqlite.SQLiteDatabase.create(null).use { android.database.DatabaseUtils.stringForQuery(it, "SELECT sqlite_version()", null) } "Framework (API ${android.os.Build.VERSION.SDK_INT}) SQLite version: $version".also { println(it) }
使用模拟器(注意,实际设备上的SQLite版本将是指定的至少<强> < /强>):
* Android API级别的链接显示android.database.sqlite包已更改的位置。如果没有链接(例如API级别17),则表示没有对该包进行更改。
**破碎的SDK链接,见在这里
注意:如果你想让你的应用在所有Android版本上使用相同版本的SQLite,可以考虑使用Requery的第三方SQLite支持库或SQLCipher(如果你还想加密)。
android api和支持的SQLite版本的简短概述。
概述来自Mark carter回答中的链接。
在房间里你可以查询
选择sqlite_version ()
RG