【问题标题】:Class DriverManager has errors when trying to import VMStack and CallerSensitive尝试导入 VMStack 和 CallerSensitive 时,类 DriverManager 出现错误
【发布时间】:2018-11-28 19:06:58
【问题描述】:

我是 Android Studio 新手,在 Java 方面没有太多经验。

我在 MacBook 上安装了最新的 Android Studio 版本,一切正常(我还运行简单的应用程序并且工作完美),直到我不得不使用类 DriverManager 连接到 mysql 数据库。当程序尝试调用 DriverManager.getConnection() 时,它会无限地暂停而不抛出异常。

所以我打开了 DriverManager 类,发现它有错误。特别是它正在尝试执行这两个导入:

import dalvik.system.VMStack;
import sun.reflect.CallerSensitive;

但这两个类都不存在于指定路径或其他任何地方。

我尝试重新安装 Android Studio 并从 SDK 管理器下载许多不同版本的 SDK,但没有解决问题,我在网上找不到任何东西。我只在某处读到过 VMStack 已被弃用。

我做错了什么?谢谢。

Here's also a screenshot of the issue

【问题讨论】:

标签: java android android-studio jdbc classnotfound


【解决方案1】:

首先,您永远不应该从手机应用程序直接连接到数据库。这样做意味着您的密码充其量在 RAM 中,最坏的情况是在您的实际应用程序中,这意味着您的数据库已被泄露。始终使用 Web 服务来抽象出数据库访问。

其次-您没有编译驱动程序管理器,因此您在 IDE 中看到的任何错误都是无效的。它不适用于完整的源代码。

第三 - 要调试您的实际问题,我们需要代码。但就像我在 1 中所说的那样,无论如何你都不应该这样做。

【讨论】:

  • 可以是本地数据库。
  • @TomHawtin-tackline 在 Android 上?所以他们会绕过整个 android 操作系统并直接在底层 linux 操作系统上安装一个数据库,并以这种方式管理它?极不可能。而且,如果您谈论的是 SQLite 或类似数据库之类的东西,那么有比 JDBC 更好的方法来访问它。此外,它根本无法作为独立的 Playstore 应用程序工作,因为没有真正的方法可以像这样捆绑单独的 db 可执行文件。是的,不太可能,我会忽略这种可能性。
  • 谢谢。目前我将在本地数据库上进行测试,但将来这应该在远程数据库上工作,所以我肯定会选择另一种选择。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-14
相关资源
最近更新 更多