gpt4 book ai didi

java - SQLite 操作系统抽象层?

转载 作者:太空狗 更新时间:2023-10-29 12:56:26 26 4
gpt4 key购买 nike

有些人想将我的 Android 开源软件移植到黑莓和 PC(也使用 SQLite)。

我将 UI 代码与域/数据库代码分开。但下一个问题是,域/数据库代码包含这样的导入:

import android.database.Cursor;

... 这使得它不可移植。

我猜很多其他开发人员也有同样的问题,所以 SQLite 操作系统抽象层一定存在于某处。你有什么建议?

注意:我使用了 SQLite 特定的功能,因此 ORM 或数据库抽象层将无法使用。

最佳答案

我目前正在开发一个 ORM 项目,尤其是针对 Android 的。

https://github.com/ahmetalpbalkan/orman

您使用哪些 SQLite 特有的功能?

也许你可以创建一个接口(interface),用 android.jarthe_jar_for_blackberry.jar 编译它,这样你就可以在代码中做一些类似的事情

Database db = null;    
if (environment is android){
db = new AndroidSQLiteDatabaseImpl();
} else {
db = new MyBlackberrySQLiteImpl();
}

当两个类都实现相同的接口(interface)时,您就不会遇到麻烦了。因为如果你说

导入android.database.Cursor

仅在 AndroidSQLiteDatabaseImpl.java 中,如果您根本不对其进行初始化,则不会抛出任何异常。

您可以查看我们项目的源代码。在构建时,我们使用 android.jar 编译它,但是,当我们只提供一个 jar 文件时,所有桌面程序用户都可以将它用于 MySQL 和原生 SQLite。因为它们没有初始化 AndroidSQLiteDtabase 类,所以不会抛出任何异常。

关于java - SQLite 操作系统抽象层?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6317027/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com