繁体   English   中英

将Android App与存储在本地计算机上的My SQL数据库连接

[英]Connect Android App with My SQL database stored on the local machine

我可以通过哪些方式完成上述任务? 我目前使用的应用程序与该应用程序一起使用JDBC连接器。
我的问题是?

在以下步骤中:

static final String DB_URL = "jdbc:mysql://localhost:3306/mess";
static final String USER = "root";
static final String PASS = "root";

public Connection connection_open(){
    Connection conn=null;
    try{
         Class.forName("com.mysql.jdbc.Driver").newInstance();

         conn = DriverManager.getConnection(DB_URL,USER,PASS);
         System.out.println("\n Connection inside DB = OK");
      }

   catch(SQLException se){
       System.out.println("\n Connection inside DB = failed");
       se.printStackTrace();
      }

    finally {
        if(conn==null)System.out.println("\n Have to return NULL");
             return conn;
        }
}

这总是输出:

Connection inside DB = failed
Have to return NULL

因此,在数据库URL的localhost部分中,我是否必须编写用于调试的android手机的IP?
我的应用程序是否有可能远程连接(假设我已授予所有IP特权)

请帮忙 :)

这行不通。 首先,这是错误的:

static final String DB_URL = "jdbc:mysql://localhost:3306/mess";

本地主机将是您的​​android手机,并且其中没有任何MySQL数据库。

您应该计划一个Web服务,该服务处理对数据库的所有请求,并将结果发送回您的应用程序。

要访问/连接到您的Web服务,可以使用HttpURLConnection。

您想实现什么?

您的Android应用程序应保存数据并将其上传到中央服务器位置? -如果答案是肯定的,则您可以选择Parse(我已经尝试过了)或快速构建自己的rest server api。 我个人最喜欢的是Google App Engine上的python rest api服务器。 https://cloud.google.com/appengine/docs/python/

如果您的android应用程序应将数据保存在android设备上并且不需要与任何服务器通信,则创建sqlite数据库的本地实例并从中存储检索数据。 试试看-http: //satyan.github.io/sugar/

有可能您可以在android中运行mysql数据库。但是,为此您必须交叉编译arm体系结构的mysql源代码,因为becoz手机具有arm体系结构您可以使用android ndk或arm gcc编译器进行交叉编译。 编译完库之后,它将生成.so文件(在Linux中为扩展名)。您必须将这些库添加到项目中。 然后使用jni,您必须编写将使用mysql函数的ac程序。 如crud操作,然后使用jni,则必须从Java代码中调用该本地c程序。 这样您就可以做到这一点。 我做了一次。 但这是一个非常繁琐且繁琐的任务。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM