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