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

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

import android.database.Cursor;

…这使其无法携带.

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

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

解决方法:

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

您使用哪些特定于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

java sqlite管理系统_java-SQLite操作系统抽象层?相关推荐

  1. OSAL(操作系统抽象层)

    OSAL为Operating System Abstraction Layer,即操作系统抽象层,支持多任务运行,所有的应用程序(app)都在其上运行,它并不是一个传统意义上的操作系统,但是实现了部分 ...

  2. CC2540/CC2541/CC254x之OSAL操作系统抽象层

    测试环境 协议栈版本:BLE-CC254x-1.4.0 开发环境IAR版本:IAR 8.20 硬件设备:CC2540/CC2541开发板 示例测试Demo工程:simpleBLEPeripheral工 ...

  3. ZigBee学习之7——OSAL(操作系统抽象层)API解读

    根据Z-Stack1.4.3-1.2.0中OSAL API_F8W-2003-0002_.pdf文档翻译. Z-Stack1.4.3及以后的版本中引入了一个OS的概念,把应用层和堆栈层进行了分离,但是 ...

  4. 基于java厨房管理系统_java食堂管理系统

    每天都要认真学习,才能更加进步.└(^o^)┘ 在工作和学习的过程中要善于思考,勤于学习.并做出适当的记录,才能最快速的学习并掌握一项知识.希望在这个平台和大家一起共同成长,和大家分享一个SSM(MY ...

  5. WSF操作系统抽象层学习笔记 (五)---事件处理及运行方式

    事件处理 事件管理会创建一个OS的事件,用于进行WSF无运行需求时任务的阻塞. //事件管理结构 typedef struct {uint16_t param; //参数uint8_t event; ...

  6. java sqlite 操作_Java SQLite 数据库操作

    Java SQLite 数据库操作 1.[代码][Java]代码 package UI; import java.sql.Connection; import java.sql.DriverManag ...

  7. java 办公用品管理系统_java毕业设计_springboot框架的办公用品管理

    今天介绍一个java毕设题目, 题目内容为springboot框架的办公用品管理, 采用java语言编写开发工具eclipse, 项目框架jsp+springboot+mybatis, 办公用品管理的 ...

  8. java影楼管理系统_java毕业设计_springboot框架的基于婚纱影楼管理系统

    这是一个基于java的毕业设计项目,毕设课题为springboot框架的基于婚纱影楼管理系统, 是一个采用b/s结构的javaweb项目, 开发工具eclipsei/eclipse, 项目框架jsp+ ...

  9. java 证书管理系统_JAVA基础应用:单机版管理系统源代码

    package jettang; import java.lang.*; import java.awt.*; import java.awt.event.*; import javax.swing. ...

  10. java银行管理系统_java实现银行管理系统

    Bank类 package First; import java.util.TreeSet; //银行类 public class Bank { private String Bankname = & ...

最新文章

  1. Guidance Package Manager button doesn’t appear in the VS menu
  2. 十分钟学习自然语言处理概述
  3. vue.js 三(数据交互)isomorphic-fetch
  4. 微型计算机有多少进制,微型计算机原理二进制十进制十六进制.doc
  5. 实时计算的最佳实践:基于表格存储和Blink的大数据实时计算
  6. python输出回文字符串_程序,用于计算我们可以在Python中使用字符串字符进行的独特回文数...
  7. python urlretrieve_使用urllib库的urlretrieve()方法下载网络文件到本地的方法
  8. 解决/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.14' not found问题
  9. maven setting 设置jdk版本
  10. 计算机体系结构及组成原理
  11. 芯烨打印机api密钥php,php连接芯烨云打印机 (php demo)
  12. python可以用于工业机器人编程_给工业机器人编程,最有效的办法是什么?
  13. 图论专项shortest_paths:UVa 10246
  14. python xlrd pandas_Python:Pandas pd.read_excel提供ImportError:为Excel supp安装xlrd = 0.9.0
  15. linux内核协议栈 TCP层数据发送之发送新数
  16. 小程序学习笔记01 - 图片识别
  17. 信息安全管理(CISP)—— 信息安全管理
  18. dubbo服务注册ip地址不正确,rpc服务调用失败?
  19. DataTable 实现新增加合计行
  20. 读取STM32F207/40x的CPU唯一ID(Unique Device ID)号方法

热门文章

  1. mysql sysbench 1.0.X
  2. 《无人机DIY》——导读
  3. jquery validate的验证规则和验证提示
  4. RHEL6.1 去掉开机总是提示注册啊,去掉rhsm-compliance-icon小图标
  5. AWK学习笔记四:awk的环境变量
  6. 由杭州恶性撞人事件想到的
  7. tomcat设置子域名session共享以及修改JSESSIONID
  8. Postman局部变量设置
  9. 编译ffmpeg:no match insn: lbu $r16,0($r5)
  10. 编程基本功:学会抄,自然就会创新