MySQL连接使用jdbc,android studio

时间:2018-03-11 10:44:51

标签: android mysql jdbc

我是Android Studio的新手,我希望你不要把我的问题视为愚蠢。我正在尝试在android studio的终端中编写一个小程序。当我尝试运行相同的程序时在我的终端(不是安卓工作室)它工作正常。我通过浏览mysql JDBC driver to the android studio在android studio lib中添加了MySQL-connector.jar文件。但它没有工作。请帮助我。谢谢你。

    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:335)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at MySQLConnectionExample.main(MySQLConnectionExample.java:16)

//执行后出错

     An error occurred. Maybe user/password is invalid                         
    java.sql.SQLException: No suitable driver found for 
    jdbc:mysql://127.0.0.1:3306/demo
    at java.sql.DriverManager.getConnection(DriverManager.java:689)
    at java.sql.DriverManager.getConnection(DriverManager.java:247)
    at MySQLConnectionExample.main(MySQLConnectionExample.java:22)

当我删除" Class.forName(" com.mysql.jdbc.Driver")"从程序这是我得到的错误

onDrawFrame()

2 个答案:

答案 0 :(得分:0)

您无法从Android设备直接连接到数据库。构建连接到数据库的API。然后将您的Android应用程序连接到这些API。

检查此答案是否有同样的问题https://stackoverflow.com/a/12233178/4442067

答案 1 :(得分:0)

我假设您正在尝试从Android设备直接连接到MySQL数据库。但首先,您有一个ClassNotFound例外,这意味着您尚未导入该库。

当你让司机上班时,这部分还有更多问题:

....
try {
     Class.forName("com.mysql.jdbc.Driver");
     String url1 = "jdbc:mysql://127.0.0.1:3306/demo";
     String user = "root";
     String password = "mypassword";

     conn1 = DriverManager.getConnection(url1, user, password);
....

通过在Android设备上指定127.0.0.1,您尝试连接到设备上的MySQL服务器。现在我不知道你是否可以在Android上安装MySQL,但你可能想在你的计算机上安装MySQL服务器。不言而喻,您必须使用该计算机的IP并在您的计算机上打开MySQL端口(3306)。

所以,您可能希望看到的是

....
try {
     Class.forName("com.mysql.jdbc.Driver");
     String url1 = "jdbc:mysql://192.168.1.10:3306/demo";
     String user = "root";
     String password = "mypassword";

     conn1 = DriverManager.getConnection(url1, user, password);
....

这假设您的MySQL服务器已在IP地址为192.168.1.10

的计算机上安装和配置 祝你好运。

编辑:我不能真正推荐这种方法用于生产应用程序,因为我担心能够反编译代码的黑客可以做些什么。