数据库
首页 > 数据库> > java-SQLite操作系统抽象层?

java-SQLite操作系统抽象层?

作者:互联网

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

我将UI代码与域/数据库代码分开.但是下一个问题是,域/数据库代码包含如下所示的导入:

import android.database.Cursor;

…这使其无法携带.

我想许多其他开发人员也有同样的问题,因此必须在某个地方存在一个SQLite OS抽象层.你有什么建议?

注意:我使用特定于SQLite的功能,因此ORM或数据库抽象层将不起作用.

解决方法:

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

https://github.com/ahmetalpbalkan/orman

您使用哪些特定于SQLite的功能?

也许您可以创建一个接口,并同时使用android.jar和the_jar_for_blackberry.jar进行编译,以便您可以在代码中执行类似的操作

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

并且当两个类实现相同的接口时,您将不会遇到麻烦.因为如果你说

导入android.database.Cursor

仅在AndroidSQLiteDatabaseImpl.java中,并且如果您根本不对其进行初始化,则不会引发任何异常.

您可以查看我们项目的源代码.在构建时,我们使用android.jar对其进行编译,但是,当我们仅运送单个jar文件时,所有桌面程序用户都可以将其用于MySQL和本机SQLite.因为它们不初始化AndroidSQLiteDtabase类,并且不会引发任何异常.

标签:portability,sqlite,java,android
来源: https://codeday.me/bug/20191208/2090404.html