Android 我可以通过Jetpack在我的项目中使用更新版本的sqlite吗?

Android 我可以通过Jetpack在我的项目中使用更新版本的sqlite吗?,android,android-jetpack,Android,Android Jetpack,我们已经达到了一个条件,我们希望在android中使用“lead”和“lag”函数,但除非您的sqlite版本至少为3.2,否则它们不起作用。我们的项目是否可以通过Jetpack使用较新的sqllite版本,如果可以,如何使用 我们的项目是否可以通过Jetpack使用更新的sqllite版本 Jetpack不会直接为您提供新的SQLite版本 但是,如果您使用的是Room,则可以使用SupportSQLiteDatabase接口系列的自定义实现。默认情况下,文件室使用自己的Framework…版

我们已经达到了一个条件,我们希望在android中使用“lead”和“lag”函数,但除非您的sqlite版本至少为3.2,否则它们不起作用。我们的项目是否可以通过Jetpack使用较新的sqllite版本,如果可以,如何使用

我们的项目是否可以通过Jetpack使用更新的sqllite版本

Jetpack不会直接为您提供新的SQLite版本

但是,如果您使用的是Room,则可以使用
SupportSQLiteDatabase
接口系列的自定义实现。默认情况下,文件室使用自己的
Framework…
版本,这些版本使用内置的SQLite。但是,在
Room.DatabaseBuilder
上,可以调用
openHelperFactory()
并提供使用另一个实现的
SupportSQLiteOpenHelper.Factory

您至少可以使用其中两种,它们都在SQLite的最新版本上:

  • ,现在通过我的

两者都需要将SQLite的二进制文件打包到应用程序中(对于Android的SQLCipher,还需要加密库)。这将显著增加APK的大小

我们的项目是否可以通过Jetpack使用更新的sqllite版本

Jetpack不会直接为您提供新的SQLite版本

但是,如果您使用的是Room,则可以使用
SupportSQLiteDatabase
接口系列的自定义实现。默认情况下,文件室使用自己的
Framework…
版本,这些版本使用内置的SQLite。但是,在
Room.DatabaseBuilder
上,可以调用
openHelperFactory()
并提供使用另一个实现的
SupportSQLiteOpenHelper.Factory

您至少可以使用其中两种,它们都在SQLite的最新版本上:

  • ,现在通过我的


两者都需要将SQLite的二进制文件打包到应用程序中(对于Android的SQLCipher,还需要加密库)。这将显著增加您的APK的大小。

说android从一开始就使用了更高级的版本。顺便说一句,似乎
lead()
lag()
都是。我们被迫将android 6.0作为目标。我们向卡车司机出租平板电脑,其中一些平板电脑仍在运行5.1。据说android从一开始就使用了更高版本。顺便说一句,似乎
lead()
lag()
都是。我们被迫将安卓6.0作为目标。我们向卡车司机出租平板电脑,其中一些仍在使用5.1。谢谢。这很好,需要信息。我们的数据库有数百张表,所以转换成房间是不可能的。我们将暂时解决没有超前/滞后的问题。@JohnLord:另一种可能是直接使用
支持…
SupportSQLiteDatabase
的API与框架SQLiteDatabase类似,但并不完全相同。谢谢。我们发现,我们想要的功能实际上还没有进入最新的android版本,所以这一点是没有意义的。@JohnLord:我想你误解了。我是说直接使用Requery或SQLCipher for Android库,而不是通过Room。它们提供的API类似于
SQLiteDatabase
。这两个版本都基于较新的SQLite版本,这些版本应该具有列出的函数。这将是一个比一路到房间要少的乏味的转换,尽管它仍然需要一些转换,并且你仍然会得到更大的APK。尽管如此,如果你能跳过这些函数,这可能是最简单的解决方案。不,我明白了。包含这些功能的sqlite版本尚未在任何android设备上发布。它仍在开发中。无论如何,如果它使我们的应用程序更大,我无论如何也不能使用它。他们对此非常愤怒,因为我们的客户为数据付费。谢谢。这很好,需要信息。我们的数据库有数百张表,所以转换成房间是不可能的。我们将暂时解决没有超前/滞后的问题。@JohnLord:另一种可能是直接使用
支持…
SupportSQLiteDatabase
的API与框架SQLiteDatabase类似,但并不完全相同。谢谢。我们发现,我们想要的功能实际上还没有进入最新的android版本,所以这一点是没有意义的。@JohnLord:我想你误解了。我是说直接使用Requery或SQLCipher for Android库,而不是通过Room。它们提供的API类似于
SQLiteDatabase
。这两个版本都基于较新的SQLite版本,这些版本应该具有列出的函数。这将是一个比一路到房间要少的乏味的转换,尽管它仍然需要一些转换,并且你仍然会得到更大的APK。尽管如此,如果你能跳过这些函数,这可能是最简单的解决方案。不,我明白了。包含这些功能的sqlite版本尚未在任何android设备上发布。它仍在开发中。无论如何,如果它使我们的应用程序更大,我无论如何也不能使用它。他们对此非常恼火,因为我们的客户为数据付费。